]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
[grub2.git] / ChangeLog
CommitLineData
dacd85cf
VS
12012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4 flags.
5 (FLAGS_CASE_SENSITIVE): New enum value.
6 (cache_entry): New struct.
7 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8 cache_size and cache.
9 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10 Add log_blocksize and fshelp_flags.
11 (grub_sfs_read_extent): Handle non-512 blocks.
12 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
13 (grub_sfs_read_file): Handle non-512 blocks.
14 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
15 fshelp_flags.
16 (grub_sfs_read_symlink): Handle non-512 blocks.
17 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
18 (grub_sfs_dir): Free cache.
19 (grub_sfs_close): Likewise.
20
24e9a854
VS
212012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
24 filesystems.
25
62ace64d
VS
262012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
29
83b2e89c
VS
302012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
33
75ccaea3
VS
342012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
37 (grub_sfs_read_extent): Likewise.
38 (grub_sfs_read_block): Likewise.
39 (grub_sfs_mount): Likewise.
40 (grub_sfs_iterate_dir): Likewise.
41 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
42 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
43
1b8463f2
VS
442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Fix errors on compressed NTFS with 512B clusters.
47
48 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
49 types.
50 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
51 not 0.
52 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
53 Relax check for inline extents.
54 (ntfscomp): Return correct -1 on error and not 0.
55
4f8e368f
VS
562012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * util/grub-install.in: Fix handling of prefix containing spaces.
59
6f5d5ee8
VS
602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
63 (grub_squash_read_data): Fix offset byte-swapping.
64
ce41ab7a
VS
652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
68 per common usage and preffered in several parts of code.
69 (grub_memcmp): Likewise.
70 (grub_strncmp): Likewise.
71 * include/grub/misc.h (grub_strcasecmp): Likewise.
72 (grub_strncasecmp): Likewise.
73 * Makefile.util.def (cmp_test): New test.
74 (grub_script_strcmp): Likewise.
75 * tests/cmp_unit_test.c: New file.
76 * tests/grub_script_strcmp.in: Likewise.
77 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
78
49717bf4
VS
792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * include/grub/pci.h: Move enums into no-asm part.
82
0a308f64
VS
832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
86
1796965f
ST
872012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
88
89 * util/getroot.c (find_hurd_root_device): Try to make error message
90 and comments to translators clearer.
91
4e9b2819
VS
922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
95
076aeb50
VS
962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
99 btrfs.
100
19424d94
VS
1012012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * docs/grub.cfg: Update.
104
ebb73076
VS
1052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * docs/grub.texi (PXE): Remove not present variables.
108
9a1b669c
VS
1092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/net/net.c (defserver_set_env): New function.
112 (defserver_get_env): Likewise.
113 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
114
d38bf7d3
VS
1152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
118 entries.
119
1202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
121
122 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
123 * grub-core/kern/emu/hostdisk.c: Likewise.
124
e5e4ca48
ST
1252012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
126
127 Handle hurd userspace partitions.
128
129 * util/getroot.c (find_hurd_root_device): New function.
130 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
131
56bb5dd5
VS
1322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
135 names.
136 Reported by: Bastian Blank.
137
9e8bc27a
VS
1382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
141 crossing page boundary.
142
aa01499d
VS
1432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Fix B-tree search in BFS, especially in presence of non-ASCII
146 characters.
147
148 * grub-core/fs/bfs.c (bfs_strcmp): New function.
149 (find_in_b_tree): Use standard bsearch + btree algorithm.
150
57006035
VS
1512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
154 and so on.
155
9d34bb85
MG
1562012-05-03 Matthew Garrett <mjg@redhat.com>
1572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Suspend broadcom cards in order to stop their DMA.
160
161 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
162 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
163 (pci): Don't build on x86 EFI.
164 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
165 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
166 New function.
167 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
168 stop_broadcom if running on EFI.
169 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
170 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
171 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
172 (grub_pci_find_capability): New proto.
173
01aab997
VS
1742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * docs/grub.texi: Remove dot from the extension as it apparently
177 doesn't work with some makeinfo versions.
178
fbd8dca6
VS
1792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
182 with GRUB expectance.
183
dab797f4
VS
1842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
187
1516bfb4
VS
1882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
191 zero after directory block since last entry may be not 0-terminated if
192 it ends on block boundary. Use continue instead of if spanning whole
193 loop.
194
a3a0eace
VS
1952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Support 4K sectors UDF inline files.
198
199 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
200 (grub_udf_extended_file_entry): Likewise.
201 (grub_fshelp_node): Name the anonymous union. Put block at the end.
202 All users updated.
203 (get_fshelp_size): New function.
204 (grub_udf_read_icb): Read whole block.
205 (grub_udf_iterate_dir): Likewise.
206 (grub_udf_dir): Likewise.
207 (grub_udf_open): Likewise.
208
c82f16c1
VS
2092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
212
59fd2aac
VS
2132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
216 inline symlinks in addition to workaround.
217
3b4afb4d
VS
2182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
221
f45c794a
VS
2222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
225
f25cecbd
VS
2262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
229
bb9a34e8
VS
2302012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Fix reiserfs big seek times.
233
234 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
235 exact. All users updated.
236 (grub_reiserfs_read): Use nearest btree search for seeking.
237 Fix return value on error.
238
dc478aea
VS
2392012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
242 entries.
243 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
244 * docs/grub.texi: Update menuentry description.
245
8db10f47
VS
2462012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
249 crash when embedding onto filesystem.
250
bcb288ed
VS
2512012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
254 name.
255
a626fdd7
VS
2562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
259
b2f68477
VS
2602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
263 commit.
264
ba15b2af
B
2652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2662012-05-01 Bean <bean123ch@gmail.com>
267
268 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
269
a188012e
VS
2702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
273 Special behaviour for len = 0 to read whole file isn't used anywhere and
274 can cause buffer ovewrflows in several places.
275
f0a53ed2
VS
2762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
279
5ed554f0
VS
2802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Handle RAIDZ on non-512B sectors.
283
284 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
285 max_children_ashift.
286 (fill_vdev_info_real): Fill max_children_ashift.
287 (read_device): Use max_children_ashift.
288
ddc58357
VS
2892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
292
e3282399
VS
2932012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
296 disk names.
297 * docs/grub.texi: Update device.map parts.
298
ee618bd4
VS
2992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
300
301 Don't scan into non-diskfilter devices having diskfilter names.
302
303 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
304 (scan_disk): New argument accept_diskfilter. Fix recursion depth
305 handling.
306 (scan_disk_hook): New function.
307
bdf88864
B
3082012-04-29 Bean <bean123ch@gmail.com>
309
310 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
311 allocation.
312
32745f51
MK
3132012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
314
315 * configure.ac: Detect starfield theme font path
316 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
317
bc95c8c0
VS
3182012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
321 geometry on serial consoles.
322
147fbcab
VS
3232012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
326 because of network consoles.
327
0f42c889
VS
3282012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
331 handling.
332
4a3594c9
VS
3332012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
336 falls on Q syndrom.
337
5cb53879
VS
3382012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
341 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
342
b282dfe5
VS
3432012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
346 Allocate at lest 8192 for temporary buffer as required for lzo.
347
daa59f47
VS
3482012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
351 to cluster_bits, since it's already added in.
352 (grub_fat_read_data): Likewise.
353
986748ce
VS
3542012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
357 as long as cluster size is multiple of 512 bytes.
358
a20f6ad0
VS
3592012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * util/grub-mkrescue.in: Fix locale directory.
362
385f9abb
VS
3632012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/kern/emu/hostdisk.c (map): Make static.
366
1c557d30
B
3672012-04-23 Bean <bean123ch@gmail.com>
368
369 * util/grub-fstest.c (fstest): Add missing break.
370
524b5d3a
ST
3712012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
372
373 Fix hurd build.
374
375 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
376 not define nr variable.
fe4824e9 377 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
378 find_root_devices_from_poolname, find_root_devices_from_libzfs,
379 grub_find_device): Do not define.
524b5d3a 380
9a06490c
VS
3812012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
382
383 Fix kfreebsd compile and behaviour.
384
385 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
386 format-security.
387 * util/getroot.c: Fix wait.h include.
388 (grub_guess_root_devices): Error if grub_find_device fails.
389 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
390 (grub_util_get_dev_abstraction): Likewise.
391 (grub_util_pull_device): Likewise.
392 (grub_util_get_grub_dev): Likewise.
393 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
394
48143d96
VS
3952012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Fix and unify wholedisk detection.
398
399 * util/getroot.c (convert_system_partition_to_system_disk): New argument
400 is_part. All users updated.
401 (device_is_wholedisk): Removed.
402 (grub_util_biosdisk_get_grub_dev): Use is_part.
403
ebbd24f3
VS
4042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
407 mode.
408
56f7aa1e
VS
4092012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * configure.ac: Bump to beta4.
412
9c815e01
VS
4132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
416 --fs-uuid --set UUID syntax.
417
59e2651a
VS
4182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
421 disunification.
422
54e03cfc
VS
4232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
426
81092a75
MK
4272012-04-18 Mads Kiilerich <mads@kiilerich.com>
428
429 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
430
f8315e14
MG
4312012-04-18 Mike Gilbert <floppym@gentoo.org>
432
433 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
434
1501ac21
B
4352012-04-18 Bean <bean123ch@gmail.com>
436
437 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
438 place.
439
cb7f944e
VS
4402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
443 users updated.
444 (grub_util_biosdisk_read): Handle Linux partitions not exactly
445 corresponding to GRUB partitions.
446 (grub_util_biosdisk_write): Likewise.
447
b72d44a1
VS
4482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
449
450 Scan mdraid before LVM.
451
452 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
453 (grub_diskfilter_register_front): ... this.
454 (grub_diskfilter_register_back): New function.
455 All users of grub_diskfilter_register updated.
456
33d918b8
VS
4572012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * util/grub-install.in: Fix an automatic target detection bug.
460
c6ca973d
VS
4612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * util/grub-install.in: New option --efi-directory.
464
b41be562
VS
4652012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
468 boot services if we have no other choice.
469
4702012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * util/grub-mknetdir.in: Rename --override-directory to --directory and
473 document it.
474 * tests/util/grub-shell.in: Update to --directory.
475
e0595a73
VS
4762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
479
4ed80652
VS
4802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
483 (grub_minix_read_file): Likewise.
484 (grub_minix_read_inode): Likewise.
485 (grub_minix_find_file): Likewise.
486 (grub_minix_dir): Likewise.
487
56008077
VS
4882012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * util/grub-setup.c (setup): Fix partition handling and blocklist
491 check.
492
ee520775
VS
4932012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
496 redundant buggy overlap check.
497
16fc9293
VS
4982012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
501 and grub-mknetdir.
502
9bab65c4
VS
5032012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
506 kh.loadflags on pre-2.00 kernels.
507
3c491b47
VS
5082012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
509
510 Terminate UNDI and PXE before launching the payload to avoid problems
511 with DMA.
512
513 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
514 (grub_loader_flags): ... this. All users updated.
515 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
516 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
517 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
518 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
519 function.
520 (grub_pxe_restore): Likewise.
521 (fini_hnd): New var.
522 (GRUB_MOD_INIT): Register shutdown hook.
523 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
524 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
525 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
526 (grub_loader_set): Rename second argument to flags.
527
851ffada
VS
5282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
531 written bytes.
532 (grub_get_num_of_utf8_bytes): New function.
533 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
534 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
535 executing it.
536 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
537 (grub_ucs4_to_utf8): Change return type.
538
491c57a8
VS
5392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
542 warning.
851ffada
VS
543 * grub-core/fs/bfs.c (hop_level): Likewise.
544 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 545
756773df
VS
5462012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/lib/adler32.c: Recode due to license unclearness.
549
fd556a96
VS
5502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
553 (test_header): Likewise.
554
9f9d3f69
VS
5552012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
556
557 Fix --help formatting.
558
559 * util/grub-mkconfig_lib.in (print_option_help): New function.
560 (grub_fmt): Likewise.
561 * util/grub-install.in: Use print_option_help and grub_fmt.
562 * util/grub-kbdcomp.in: Likewise.
563 * util/grub-mkconfig.in: Likewise.
564 * util/grub-mknetdir.in: Likewise.
565 * util/grub-mkrescue.in: Likewise.
566 * util/grub-mkstandalone.in: Likewise.
567 * util/grub-reboot.in: Likewise.
568 * util/grub-set-default.in: Likewise.
569 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
570
561ec77e
VS
5712012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * linguas.sh: Remove autogenerated *.po.
574
7ec2b021
VS
5752012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * po/README: Move language fetcing to ...
578 * linguas.sh: ... here.
579 * po/README: Point to linguas.sh.
580
a88f3270
VS
5812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * po/README: Exclude ko.po due to disclaimer problems.
584
d61357ce
VS
5852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
588 len = 0.
589 (grub_gettext_translate_real): Handle 0th string.
590 (grub_gettext_translate): Ensure that "" isn't translated.
591
505e41dc
VS
5922012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
595 TRANSLATORS comment.
596 (grub_diskfilter_print_partmap): Propagate changing of error into
597 warning.
598
e44092db
VS
5992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
602 to uint64_t to prevent overflow.
603 (grub_diskfilter_lv): Increase start_extent and extent_count
604 to uint64_t to prevent overflow.
605
9b83956a
VS
6062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * configure.ac: Increase version.
609
da0d5b3f
VS
6102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
613
614 * po/Rules-translit: New file.
615 * po/arabic.sed: Likewise.
616 * po/cyrillic.sed: Likewise.
617 * po/greek.sed: Likewise.
618 * po/hebrew.sed: Likewise.
619 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
620 * po/Makefile.in.in: Add extra_dist4.
621
ac66b453
VS
6222012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Handle big-endian minixfs (fixes minixfs tests on bigendian).
625
626 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
627 modify names. Introduce MODE_BIGENDIAN.
628 * grub-core/fs/minix_be.c: New file.
629 * grub-core/fs/minix2_be.c: Likewise
630 * grub-core/fs/minix3_be.c: Likewise.
631 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
632 minix3_be.
633 * grub-core/Makefile.core.def (minix_be): New module.
634 (minix2_be): Likewise.
635 (minix3_be): Likewise.
636
6372012-04-01 Felix <email@hamburg.de>
638
639 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
640 (devs): Add MBP 2011.
641
0a2d5a82
VS
6422012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
645
d1625889
VS
6462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/normal/cmdline.c (print_completion): New field
649 prompt_len.
650 (grub_cmdline_get): Handle width properly.
651
6d36a236
VS
6522012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/commands/lsacpi.c (options): Add missing terminator.
655
9576977e
VS
6562012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 659 after 29th of February.
9576977e 660
d73ff15d
VS
6612012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Fix exfat endianness handling.
664
665 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
666 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
667 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
668 Byte-swap utf16 when necessary.
669 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
670
bbb39a45
AB
6712012-03-31 Anton Blanchard <anton@samba.org>
6722012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Fix btrfs endianness handling.
675
676 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
677 (lower_bound): Make root uint64_t. Use root in le.
678 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
679 (find_path): Fix template key init.
680 (grub_btrfs_dir): Fix mtime byteswap.
681 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
682
354e0af7
VS
6832012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
686 recursion_depth. Break infinite resursions. All users updated.
687
4e75f21c
VS
6882012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
691 after free.
692 Reported by: Peter Jones.
693
25581802
AB
6942012-03-31 Anton Blanchard <anton@samba.org>
695
696 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
697 8 bit values.
698
08fbf92e
VS
6992012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * util/grub-install.in: Fix nvram call for PreP.
702
5d1182a6
VS
7032012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
706 the error when some elements are missing into a warning.
707
3f8cdd90
VS
7082012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
711
51006716
CW
7122012-03-28 Colin Watson <cjwatson@ubuntu.com>
713
714 * docs/grub.texi (Invoking grub-probe): New section.
715 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
716
e1bd676b
VS
7172012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Fix tab and wide character handling in editor and menu.
720
721 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
722 agglomerate control characters with combining marks.
723 (bidi_line_wrap): Allow break on tab.
724 (grub_unicode_get_comb_start): New function.
725 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
726 and tab correctly.
727 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
728 with a space.
729 * grub-core/normal/term.c (print_ucs4_terminal): New argument
730 fixed_tab_size. All users updated.
731 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
732 (grub_term_getcharwidth): Handle \t.
733 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
734 and copy.
735
22e6a774
VS
7362012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
737
738 Handle big-endian mdraid.
739
740 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
741 * grub-core/Makefile.core.def (mdraid09_be): New module.
742 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
743 rather than grub_le_to_cpu* and grub_cpu_to_le*.
744 * grub-core/disk/mdraid_linux_be.c: New file.
745
3c0eae66
VS
7462012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
749
b6cf74c9
VS
7502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
753 missing quotes which caused confusion among translators.
754
83c93b9c
VS
7552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * util/grub-mkconfig_lib.in: Fix typo.
758
ac6fd218
VS
7592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
762 spaces.
763 * tests/grub_script_leading_whitespace.in: New file.
764 * Makefile.util.def (grub_script_leading_whitespace): New test.
765
ba287dd8
VS
7662012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
769 to work.
770
d2d58d0a
VS
7712012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
774 starts with control character.
775
0382d9bb
VS
7762012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
779 overflow.
780 (grub_gdb_outbuf): Likewise.
781
d83ff9f9
VS
7822012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
785 zero terminator. Fixes a crash.
786
2282da4a
VS
7872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
790 beyond 4 GiB.
791 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
792 images independently of preffered adderss field.
793
0ae4f0bd
VS
7942012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
797 * grub-core/commands/regexp.c: Likewise.
798 * grub-core/loader/i386/linux.c: Likewise.
799 * grub-core/partmap/msdos.c: Likewise.
800 * grub-core/script/execute.c: Likewise.
801 * grub-core/term/gfxterm.c: Likewise.
802
546fbe9b
VS
8032012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Add variable parsing in $"..." and fix several mismatches with bash.
806
807 * Makefile.util.def (grub_script_gettext): New test.
808 * grub-core/script/execute.c (parse_string): New function.
809 (gettext_append): Likewise.
810 (grub_script_arglist_to_argv): Use gettext_append.
811 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
812 * tests/grub_script_gettext.in: New file.
813
9fdb2d7b
VS
8142012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
815
816 Fix handling of leading spaces in scripts.
817
818 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
819 spaces.
820 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
821 other than skipping \r. All users updated.
822 * tests/grub_script_echo1.in: Add space-related tests.
823 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
824
1a1ac4f6
VS
8252012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
828
b63d89b6
VS
8292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * configure.ac: Bump up the version to beta2.
832
17f38c0f
VS
8332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Fix gettext reload bugs (e.g. inability to disable gettext
836 once enabled).
837
838 * grub-core/gettext/gettext.c: Encapsulate all static variables in
839 main_context and secondary_context. All functions updated.
840 (grub_gettext_translate): Rename to ...
841 (grub_gettext_translate_real): ... this. Return NULL on failed
842 translate.
843 (grub_gettext_translate): Handle secondary context.
844 (grub_gettext_delete_list): Close file and zero-out the context.
845 (grub_mofile_open): Don't call grub_gettext_delete_list.
846 Don't close file.
847 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
848 if locale="" to avoid pointless error message.
849 (grub_gettext_env_write_lang): Update lang even if load fails.
850 Handle secondary context.
851 (grub_gettext_reread_prefix): New function.
852 (read_main): Likewise.
853 (read_secondary): Likewise.
854 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
855 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
856 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
857 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
858
8e56f870
VS
8592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * configure.ac: Decrease warning level to avoid spurious warnings and
862 to be able to compile with GCC 4.2.
863 * Makefile.util.def: Remove -Wno-error=logical-op.
864
82f6d455
WB
8652012-03-10 William Bittner <william.bittner@gmail.com>
866
867 * util/import_unicode.py: Add missing brackets around string for
868 python 3 support.
869
1ecd61a4
VS
8702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Fix efi chainloader on network root.
873
874 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
875 network devices.
876 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
877 New function.
878
14361ee8
VS
8792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
882 unused show_text member.
883 * docs/grub.texi: Document "text" property.
884
922aabf3
VS
8852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
888 in dprintf.
889
ec316771
VS
8902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Fix IMSM handling on Fedora.
893
894 * util/getroot.c (grub_util_is_imsm): New function.
895 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
896
0f021838
VS
8972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * Makefile.am: Strip gold section.
900 * conf/Makefile.common: Likewise.
901 * gentpl.py: Likewise.
902 * grub-core/Makefile.core.def: Likewise.
903 * grub-core/genmod.sh.in: Likewise.
904
1039c8eb
VS
9052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
908 * util/grub.d/20_linux_xen.in: Likewise.
909 Based on Debian patch.
910
6dd412cd
VS
9112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * util/grub.d/10_linux.in: Fix syntax error resulting in
914 Richard Laager's patch.
915 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
916
3fd8bae5
VS
9172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
920 dependencies.
921
7eea1671
RL
9222012-03-10 Richard Laager <rlaager@wiktel.com>
923
924 * util/grub.d/10_linux.in: Fix ZFS root passing.
925
e8e0566b
VS
9262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
929 * grub-core/commands/xnu_uuid.c: Likewise.
930 * grub-core/loader/efi/appleloader.c: Likewise.
931 * grub-core/script/execute.c: Likewise.
932 * grub-core/script/main.c: Likewise.
933 * util/grub-mkfont.c: Likewise.
934
1acc5b1f
VS
9352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * util/grub-mkfont.c (options): Use more appropriate "select" that
938 "set" for face index.
939
35d70620
VS
9402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * util/grub-editenv.c (options): Gettextize command summaries.
943
c9eb96b5
VS
9442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
947 "out of memory" error messagge.
948
1f493136
VS
9492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
952 of diskfilter for diskfilter on diskfilter support.
953
6d790129
VS
9542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
957
005f46c9
VS
9582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * util/grub-install.in: Check for themes/starfield/theme.txt and not
961 themes/starfield.
962
c8f778a0
VS
9632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
966
de1e64eb
VS
9672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
970
c6d54211
VS
9712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
974 of error message.
975
dd390777
VS
9762012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
979
5fd1c522
VS
9802012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
983 message.
c6d54211 984 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 985
fae01f6c
VS
9862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
989 Gettextize.
990 * util/grub-mount.c (options): Likewise.
991
292fdaff
VS
9922012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
995 gettextize.
996 * grub-core/commands/search_wrap.c (options): Likewise.
997
ecdbae77
VS
9982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1001
52bfedfa
VS
10022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1005 size calculation.
1006 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1007 none is known.
1008
55b20e58
VS
10092012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1012 "temporary" since it's used in identifier and is limited in space.
1013
fda9d101
VS
10142012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * po/POTFILES.in: Regenerate. Include *.h since they contain
1017 translatable strings as well.
1018
6a0295e2
VS
10192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1022 byte-swap on big-endian.
1023 Reported by: Lennart Sorensen
1024
807fb77c
VS
10252012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1028 (allocate_pages): Improve dprintf.
1029 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1030 code32_start. Fill code32_start and kernel_alignment in params.
1031 (grub_cmd_initrd): Use prot_init_space.
1032
61ac50ba
VS
10332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1036
abdd26dd
VS
10372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * util/grub-install.in: Add missing dot at the end of sentence.
1040
6e69da9c
VS
10412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1044 * grub-core/commands/videotest.c: Likewise.
1045 * grub-core/loader/i386/linux.c: Likewise.
1046
4a929343
VS
10472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1050 sentence.
1051 Reported by: Milo Casagrande.
1052
bb51c6c6
VS
10532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1056 * grub-core/commands/gptsync.c: Likewise.
1057 * grub-core/commands/hashsum.c: Likewise.
1058 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1059 * grub-core/commands/legacycfg.c: Likewise.
1060 * grub-core/io/gzio.c: Likewise.
1061 * grub-core/net/net.c: Likewise.
1062 * grub-core/term/gfxterm.c: Likewise.
1063 * grub-core/term/terminfo.c: Likewise.
1064 * grub-core/tests/test_blockarg.c: Likewise.
1065 * grub-core/video/video.c: Likewise.
1066 * util/grub-install.in: Likewise.
1067 * util/grub-mkfont.c: Likewise.
1068
b2b149cb
VS
10692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1072
c7c080ad
VS
10732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1076 Reported by: David Prévot.
c7c080ad 1077
f2e243c0
VS
10782012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1081 description.
1082
09963c76
VS
10832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * util/grub-script-check.c (main): Fix a syntax error message which was
1086 unclear.
1087
a50514a8
VS
10882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1091
4650daec
VS
10922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1095 messages.
1096
10972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1098
1099 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1100 without argument.
1101 * util/grub-mount.c (options): Likewise.
1102
bbc5a342
VS
11032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1106
ef292a87
VS
11072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * grub-core/net/http.c: Add TRANSLATORS comments.
1110 * grub-core/normal/cmdline.c: Likewise.
1111 * grub-core/normal/misc.c: Likewise.
1112 * grub-core/partmap/msdos.c: Likewise.
1113 * grub-core/parttool/msdospart.c: Likewise.
1114 * grub-core/script/execute.c: Likewise.
1115 * grub-core/script/main.c: Likewise.
1116 * grub-core/term/terminfo.c: Likewise.
1117 * grub-core/video/bitmap.c: Likewise.
1118 * util/grub-install.in: Likewise.
1119 * util/grub-mkimage.c: Likewise.
1120 * util/grub-mklayout.c: Likewise.
1121 * util/grub-setup.c: Likewise.
1122
0fc19bd0
VS
11232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1126 with similar messages in grub-fstest.
1127
d95862ef
VS
11282012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * util/grub-install.in: Unify "option requires an argument" message
1131 with similar messages in other files.
1132 * util/grub-mkconfig.in: Likewise.
1133
b7308f90
VS
11342012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * util/grub-set-default.in: Replace printf with gettext_printf (the
1137 string in in question is already translated from grub-reboot)
1138
559dc587
VS
11392012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * configure.ac: Bump up the version to beta1.
1142
1a11761f
VS
11432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1146 case when min_align = 0.
1147
24539abd
VS
11482012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1151 and fix a case when line_start overflows.
1152
32bd735b
VS
11532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * util/grub-reboot.in (usage): Mention id posibility.
1156 * util/grub-set-default.in (usage): Likewise.
1157
1a2fd1e6
VS
11582012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1161 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1162 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1163 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1164 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1165 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1166 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1167
90eeab76
VS
11682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/commands/menuentry.c (options): Remove
1171 GRUB_ARG_OPTION_REPEATABLE.
1172 Reported by: Andreas Vogel
1173
5ad1be82
AV
11742012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1175
1176 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1177
cb055286
HE
11782012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1179
1180 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1181 error.
1182
93b1cd79
VS
11832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Use sort -V by the idea of Georgi Georgiev.
1186
1187 * util/grub-mkconfig_lib.in (version_sort): New function.
1188 (version_test_numeric): Use version_sort.
1189
0cdc126c
VS
11902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Use submenus in grub-mkconfig.
1193
1194 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1195 * util/grub-mkconfig_lib.in (grub_quote): New function.
1196 (gettext_printf): Use gettext and not gettext_quoted to fix several
1197 messages.
1198 * util/grub.d/10_hurd.in: Use submenus.
1199 * util/grub.d/10_kfreebsd.in: Likewise.
1200 * util/grub.d/10_linux.in: Likewise.
1201 * util/grub.d/10_netbsd.in: Likewise.
1202 * util/grub.d/20_linux_xen.in: Likewise.
1203 * util/grub.d/30_os-prober.in: Likewise.
1204 * util/grub.d/10_illumos.in: Add missing quoting.
1205 * util/grub.d/10_windows.in: Likewise.
1206
d9bef9bc
VS
12072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Fix menu title instability bug.
1210
1211 * grub-core/commands/menuentry.c (options): New option --id.
1212 (grub_normal_add_menu_entry): New argument id. All users updated.
1213 (grub_cmd_menuentry): Handle --id.
1214 (grub_menu_init): Accept unknown arguments.
1215 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1216 feature_menuentry_options.
1217 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1218 saved_entry.
1219 (get_entry_number): Match with id as well.
1220 * include/grub/menu.h (grub_menu_entry): New member id.
1221 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1222 * util/grub.d/00_header.in: Define menuentry_id_option.
1223 * util/grub.d/10_hurd.in: Define id.
1224 * util/grub.d/10_illumos.in: Likewise.
1225 * util/grub.d/10_kfreebsd.in: Likewise.
1226 * util/grub.d/10_linux.in: Likewise.
1227 * util/grub.d/10_netbsd.in: Likewise.
1228 * util/grub.d/10_windows.in: Likewise.
1229 * util/grub.d/20_linux_xen.in: Likewise.
1230 * util/grub.d/30_os-prober.in: Likewise.
1231
12322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1233
1234 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1235 "scope" with "body".
1236
7c8d0ce7
VS
12372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1240 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1241 prot_size and prot_file_size.
1242
49de079b
VS
12432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1246 All users updated. If easily=1 require raid-5/-6 to be full.
1247 (is_node_readable): Likewise.
1248 (scan_devices): Scan incomplete but readable LVs at the end.
1249 (grub_diskfilter_memberlist): Pull missing devices.
1250 (insert_array): Skip scanning until device is complete or scan is
1251 done otherwise.
1252 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1253 check.
1254 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1255 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1256
aff05d45
MG
12572012-03-03 Matthew Garrett <mjg@redhat.com>
12582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 Avoid EFI boot services when loading Linux.
1261
1262 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1263 avoid_efi_bootservices. All users updated.
1264 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1265 argument avoid_efi_bootservices. All users updated.
1266 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1267 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1268 align, min_align, relocatable, prefered_address. All users updated.
1269 Allocate avoiding boot services if kernel is relocatable.
1270 (grub_cmd_linux): Check if kernel is relocatable.
1271 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1272 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1273 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1274 avoid_efi_boot_services.
1275 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1276 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1277 (linux_kernel_params): Likewise.
1278
3935dde2
MG
12792012-03-03 Matthew Garrett <mjg@redhat.com>
12802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Use EDID on EFI.
1283
1284 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1285 datasize_out.
1286 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1287 modes. Set gop_handle.
1288 (grub_video_gop_get_edid): New function.
1289 (grub_gop_get_preferred_mode): Likewise.
1290 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1291 (grub_video_efi_gop_adapter): Set .get_edid.
1292 * include/grub/efi/edid.h: New file.
1293 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1294
32107ec0
VS
12952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * util/grub-install.in: Load efivars unconditionally.
1298
e70a2c50
VS
12992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * po/Rules-piglatin: Change suffix from .po-update-en to
1302 .po-update-en-piglatin.
1303
8f9cace1
VS
13042012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 Add a pig farm.
1307
1308 * po/piglatin.sed: New file.
1309 * po/en@piglatin.header: Likewise.
1310 * po/Rules-piglatin: Likewise.
1311 * po/README: Add en@piglatin to autogenerated languages.
1312
8f95d002
VS
13132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1316 "Command for ...".
1317 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1318 "Check" since we don't check anything.
1319 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1320 is 64-bit one.
1321 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1322 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1323 (grub_md_sha512_real): Likewise.
1324
805a8dcc
VS
13252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/commands/gptsync.c: Fix typographic quoting.
1328 * grub-core/commands/ieee1275/suspend.c: Likewise.
1329 * grub-core/commands/parttool.c: Likewise.
1330 * grub-core/commands/search_wrap.c: Likewise.
1331 * grub-core/commands/videoinfo.c: Likewise.
1332 * grub-core/gfxmenu/gui_label.c: Likewise.
1333 * grub-core/hello/hello.c: Likewise.
1334 * grub-core/kern/emu/main.c: Likewise.
1335 * grub-core/net/net.c: Likewise.
1336 * grub-core/normal/menu.c: Likewise.
1337 * grub-core/normal/menu_text.c: Likewise.
1338 * grub-core/normal/misc.c: Likewise.
1339 * util/grub-editenv.c: Likewise.
1340 * util/grub-install.in: Likewise.
1341 * util/grub-kbdcomp.in: Likewise.
1342 * util/grub-mkconfig.in: Likewise.
1343 * util/grub-mknetdir.in: Likewise.
1344 * util/grub-mkrescue.in: Likewise.
1345 * util/grub-mkstandalone.in: Likewise.
1346 * util/grub-reboot.in: Likewise.
1347 * util/grub-set-default.in: Likewise.
1348 * util/grub-setup.c: Likewise.
1349 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1350
40211ab8
VS
13512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1354 * grub-core/commands/keystatus.c: Likewise.
1355 * grub-core/commands/loadenv.c: Likewise.
1356 * grub-core/commands/probe.c: Likewise.
1357 * grub-core/commands/regexp.c: Likewise.
1358 * grub-core/commands/true.c: Likewise.
1359 * grub-core/commands/videoinfo.c: Likewise.
1360 * grub-core/disk/cryptodisk.c: Likewise.
1361 * grub-core/disk/ldm.c: Likewise.
1362 * grub-core/disk/loopback.c: Likewise.
1363 * grub-core/disk/luks.c: Likewise.
1364 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1365 * grub-core/kern/disk.c: Likewise.
1366 * grub-core/kern/emu/hostdisk.c: Likewise.
1367
0c7d99c7
VS
13682012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1371 * util/grub-install.in: Add missing quote in the comment.
1372
e7d2559b
VS
13732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1376 * grub-core/commands/lsmmap.c: Likewise.
1377 * grub-core/commands/minicmd.c: Likewise.
1378 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1379 * grub-core/commands/regexp.c: Likewise.
1380 * grub-core/gdb/gdb.c: Likewise.
1381 * grub-core/term/gfxterm.c: Likewise.
1382 * util/grub-mkconfig.in: Likewise.
1383 * util/grub-mkfont.c: Likewise.
1384 * util/grub-mklayout.c: Likewise.
1385 * util/grub-mknetdir.in: Likewise.
1386 * util/grub-mkrescue.in: Likewise.
1387 * util/grub.d/30_os-prober.in: Likewise.
1388
49ce9e50
VS
13892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1392 with "Direct color" and "Packed" with "Packed pixel".
1393 (grub_cmd_videoinfo): Simplify legend.
1394
e4b791fa
VS
13952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1398 absolutely unclear error message.
1399
fd1265cb
VS
14002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * util/grub-mkstandalone.in: Remove confusing leftover print.
1403
8822a8a0
VS
14042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1407 comments.
1408 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1409 (GRUB_MOD_INIT): Likewise.
1410 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1411 VGA mode.
1412 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1413 comments.
1414 * util/grub-install.in (usage): Likewise.
1415 Spell ID in whole letters.
1416 Add missing ending dot.
1417 Quote variables.
1418 * util/grub-reboot.in: Fix capitalisation.
1419 * util/grub-set-default.in: Likewise.
1420
937fd0cc
VS
14212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1424 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1425 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1426 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1427 Disable -Werror for -Wdeprecated-declarations.
1428 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1429 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1430 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1431 (grub_util_get_grub_dev): Make luks handling dependent on
1432 HAVE_DEVICE_MAPPER and not __linux__.
1433 (get_win32_path): Fix format security.
1434 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1435 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1436 Don't try grub_find_zpool_from_dir.
1437 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1438 #ifdef-out paresdir.
1439
1bab1ae3
VS
14402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * util/grub-pe2elf.c (usage): Add missing noreturn.
1443 (write_section_data): Rename name to shname to avoid shadowing.
1444 (write_symbol_table): Rename name to symname to avoid shadowing.
1445 Fix write_reloc_section call.
1446
ef023e42
VS
14472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1450 to ensure that it's after the last byte of .text.
1451
48afcb75
VS
14522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * util/ieee1275/ofpath.c (my_isdigit): New function.
1455 (trailing_digits): Use my_isdigit.
1456 (strip_trailing_digits): Likewise.
1457
88d51eff
VS
14582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1461 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1462
17edc2ba
VS
14632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/kern/i386/pc/startup.S: Define __start.
1466
ad5518d7
VS
14672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1470 strip already transforms he format.
1471
9e95e1bf
VS
14722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1475
9cc3ee5c
VS
14762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * util/grub-install.in: Add missing gettext init.
1479 * util/grub-kbdcomp.in: Likewise.
1480 * util/grub-mkconfig.in: Likewise.
1481 * util/grub-mknetdir.in: Likewise.
1482 * util/grub-mkrescue.in: Likewise.
1483 * util/grub-mkstandalone.in: Likewise.
1484 * util/grub-reboot.in: Likewise.
1485 * util/grub-set-default.in: Likewise.
1486 * util/grub.d/00_header.in: Likewise.
1487 * util/grub.d/10_hurd.in: Likewise.
1488 * util/grub.d/10_windows.in: Likewise.
1489 * util/grub.d/30_os-prober.in: Likewise.
1490 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1491
49e08a06
VS
14922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * po/Rules-swiss: Fix header comment.
1495
3809cb41
AV
14962012-02-29 Andreas Vogel <anvoit>
1497
1498 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1499 resulted in leak of arguments.
1500
fa6ec573
VS
15012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1504 reed_solomon_size const definition instead of computing it since
1505 Apple assembler doesn't support the later.
1506
22899b9c
VS
15072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * gentpl.py (kernel): Rewrite Apple part.
1510
a132afc3
VS
15112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1514
9d742bd4
VS
15152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1518 ELF section gap.
1519 (load_image): Likewise.
1520
f04a9a21
VS
15212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * configure.ac: Fix a typo in previous commit.
1524
46cf439c
VS
15252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Don't add -Wl,-N on Apple platform.
1528
1529 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1530 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1531
c4c48c54
VS
15322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/Makefile.core.def (lzma_decompress): Use
1535 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1536
31a12124
VS
15372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/genmod.sh.in: Rewrite the Apple part.
1540
4f3aa1af
VS
15412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1544 comparison.
1545
7bd8b0c7
VS
15462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * acinclude.m4 (grub_CHECK_PIC): New test.
1549 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1550
97304d7c
VS
15512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1554 to avoid the warning.
1555
fb883812
VS
15562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1559 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1560 after. All users updated.
1561
a121c964
VS
15622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Use the common size routine in hostfs so we can read disks as well.
1565
1566 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1567 (grub_util_get_fd_size): ... this. Return size in bytes.
1568 All users updated.
1569 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1570 grub_util_get_fd_size.
1571
c66d6410
VS
15722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1575 Add blocksize retrieval.
1576
dfc8aeb0
VS
15772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * configure.ac: Restore CFLAGS after efiemu check.
1580
403e25a5
VS
15812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1584 Apple bug.
1585
382775d1
VS
15862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1589
6fd4e6e4
VS
15902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1593 (grub_cmd_halt): Likewise.
1594
bea359d6
VS
15952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1598 for local arithmetics.
1599 Break %sp init into 2 instructions.
1600 Add 0 byte at the end.
1601
32eb6ee1
VS
16022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1605 before loops.
1606
e8377389
VS
16072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1610 for context.
1611
8cb17de7
VS
16122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/disk/ldm.c (make_vg): Init part.name.
1615 (grub_ldm_detect): Silence spurious warning.
1616 (grub_util_is_ldm): Likewise.
1617
595717e6
VS
16182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1621 sane value to avoid a spurious warning.
1622
c4b7e588
VS
16232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1626 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1627
59824957
VS
16282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1631 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1632
70115b99
VS
16332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1636 hardcoding the relevant info.
1637
56733740
VS
16382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1641 missing const qualifiers.
1642 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1643
43481481
VS
16442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * util/getroot.c [__APPLE__]: Add missing includes.
1647 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1648
3cb38f01
VS
16492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1652
d9dbf11e
VS
16532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1656 avoid conflicts.
1657
0c42a45d
VS
16582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1661
46c34eb0
VS
16622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1665 and grub_file_close call.
1666
99ce1597
VS
16672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Add LZSS Mach-O support (needed for new xnu kernelcache).
1670
1671 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1672 * grub-core/loader/lzss.c: New file.
1673 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1674 on Mach-O open failure.
1675 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1676 Don't free cmdsXX in uncompressedXX is set.
1677 (grub_macho_file): Init new fields.
1678 New argument is_64bit. All users updated.
1679 Handle compressed. Error out if no suitable architecture is found.
1680 Don't close file.
1681 (grub_macho_open): New argument is_64bit. All users updated.
1682 * grub-core/loader/macho32.c: Add defines for new fields.
1683 * grub-core/loader/macho64.c: Likewise.
1684 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1685 (grub_macho_parse): Handle compressed.
1686 Defer actual processing if compressed.
1687 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1688 "filename". All users updated.
1689 (grub_macho_size): New argument "filename". All users updated.
1690 (grub_macho_get_entry_point): Likewise.
1691 (grub_macho_load): Handle compressed.
1692 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1693 (GRUB_MACHO_LZSS_OFFSET): New define.
1694 (grub_decompress_lzss): New proto.
1695 * include/grub/machoload.h (grub_macho_file): New fields to handle
1696 compressed.
1697 (grub_macho_contains_macho64): Remove proto.
1698 (grub_macho_contains_macho32): Likewise.
1699 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1700
ebd17d6f
VS
17012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1704
2702b4e4
VS
17052012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 Fix make dist.
1708
1709 * Makefile.am (starfield_theme_files): New var.
1710 (starfield_DATA): Use starfield_theme_files.
1711 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1712 Add bootcheck-related files.
1713 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1714 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1715 and font_char_metrics.txt.
1716 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1717 (setjmp): Add lib/ia64/longjmp.S.
1718 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1719 * po/POTFILES.in: Regenerate.
1720 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1721 DISTFILES.common.extra1.
1722 * util/devicemap.c: Removed.
1723 * grub-core/lib/i386/relocator_backward.S: Likewise.
1724 * util/import_gcry.py: Remove unused files. Add extra_dist for
1725 ChangeLog.
1726
cf1adfdf
VS
17272012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1730 grub_gettext_delete_list before changing grub_gettext_max to avoid
1731 running out of array bounds.
1732
17332012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1734
1735 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1736 grub_vga_text_init/grub_vga_text_fini.
1737
cf1adfdf 17382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1739
1740 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1741
541d92e9
VS
17422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * configure.ac: Bump to 2.00~beta0.
1745
7931dddf
VS
17462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1749 missing initialisation.
1750
f1b16fa3
VS
17512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1754
83ddae23
VS
17552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Support v2 xnu boot arguments.
1758
1759 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1760 New argument fsbfreq_out.
1761 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1762 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1763 be used.
1764 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1765 darwin_version.
1766 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1767 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1768 (grub_xnu_boot_params): Rename to ...
1769 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1770 (grub_xnu_boot_params_v2): New struct.
1771
dc693fe6
VS
17722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1775 zeroing of CRC field before computing CRC.
1776
5a6e39c2
VS
17772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1780 Change order of allocations to decrease fragmentation.
1781
6c21f5d7
VS
17822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1785
cfe456dc
CW
17862012-02-27 Colin Watson <cjwatson@ubuntu.com>
1787
1788 Use write-combining MTRR to speed up video with buggy BIOSes.
1789
1790 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1791 (cpuid): New define.
1792 (rdmsr): Likewise.
1793 (wrmsr): Likewise.
1794 (mtrr_base): Likewise.
1795 (mtrr_mask): Likewise.
1796 (grub_vbe_enable_mtrr_entry): New function.
1797 (grub_vbe_enable_mtrr): Likewise.
1798 (grub_vbe_disable_mtrr): Likewise.
1799 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1800 control off to BIOS.
1801 (grub_video_vbe_init): Fill mtrr.
1802 (grub_video_vbe_fini): Disable mtrr.
1803 (grub_video_vbe_get_info_and_fini): Likewise.
1804 (grub_video_vbe_setup): Enable mtrr.
1805
e3c78337
CW
18062012-02-27 Colin Watson <cjwatson@ubuntu.com>
1807
1808 * include/grub/partition.h (grub_partition_map): Change prototype of
1809 embed to take a maximum value for nsectors.
1810 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1811 * include/grub/fs.h (grub_fs): Likewise.
1812 * grub-core/partmap/msdos.c (embed_signatures): New array.
1813 (pc_partition_map_embed): Check for and avoid sectors matching any
1814 of the signatures in embed_signatures, up to max_nsectors.
1815 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1816 returned sector map to max_nsectors.
1817 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1818 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1819 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1820 * util/grub-setup.c (setup): Allow for the embedding area being
1821 split into multiple blocklists. Tell dest_partmap->embed the
1822 maximum number of sectors we care about.
1823
18242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1827 Specify blocklist_install and reserver_first_sector for all fs.
1828 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1829 blocklists.
1830
984b973f
VS
18312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * util/grub-install.in: Clarify strings.
1834 Fix source dir check.
1835
f122e0d6
RL
18362012-02-27 Richard Laager <rlaager@wiktel.com>
1837
1838 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1839 "zfs" and "fuse.zfs" as synonyms.
1840
071114bb
VS
18412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * configure.ac: Put platform and target_cpu substitutions back since
1844 they are used for directories.
1845
817e6abc
RL
18462012-02-27 Richard Laager <rlaager@wiktel.com>
18472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1850 * util/grub.d/20_linux_xen.in: Likewise.
1851
897b7419
RL
18522012-02-27 Richard Laager <rlaager@wiktel.com>
1853
1854 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1855 with full paths.
1856
a414bd15
RL
18572012-02-27 Richard Laager <rlaager@wiktel.com>
1858
1859 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1860 unescape.
1861
30ac48c4
VS
18622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 Don't use insecure popen in getroot.
1865
1866 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1867 (exec_pipe): ... here.
1868 (find_root_devices_from_poolname): Use exec_pipe.
1869
53f13848
VS
18702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 Remove platform and target_cpu replacement.
1873
1874 * configure.ac: Remove platform and target_cpu substitutions.
1875 * tests/util/grub-shell.in: Use modinfo.
1876 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1877 explicitly.
1878
90cb2803
VS
18792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 Autodetect platform in grub-install but allow override.
1882
1883 * util/grub-install.in: Autodetect platform. Support --target and
1884 --directory. Read platform from modinfo.sh.
1885
b9136427
VS
18862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Support btrfs multi-volume probe.
1889
1890 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1891 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1892 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1893 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1894 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1895 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1896 grub_find_root_devices_from_btrfs if on btrfs.
1897
c36e5cd1
VS
18982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 Remove any awareness of *.c util files about target.
1901
1902 * Makefile.util.def (grub-setup): Split to ...
1903 (grub-bios-setup): ... and this.
1904 (grub-sparc64-setup): ... and this.
1905 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1906 * docs/man/grub-setup.h2m: Split into ...
1907 * docs/man/grub-sparc64-setup.h2m: ... this.
1908 * docs/man/grub-bios-setup.h2m: ... and this.
1909 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1910 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1911 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1912 (grub_target_addr_t): Remove.
1913 (grub_target_size_t): Remove.
1914 (grub_target_ssize_t): Remove.
1915 * util/grub-install.in: Use new grub-*-setup.
1916 * util/grub-mkimagexx.c (Elf_Word): New define.
1917 (Elf_Half): Likewise.
1918 (Elf_Section): Likewise.
1919 (ELF_ST_TYPE): Likewise.
1920 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1921 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1922
584b2f8a
VS
19232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Replace grub_target_addr with more appropriate types.
1926
1927 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1928 grub_target_addr with grub_addr.
1929 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1930 grub_target_addr with grub_port.
1931 (grub_cmd_write): Likewise.
1932 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1933 grub_target_addr with grub_addr.
1934 (grub_cmd_write): Likewise.
1935 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1936
5a0dc6fb
VS
19372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1940 const qualifier for vendor_guid.
1941
786aff6e
VS
19422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1945 const qualifier.
1946 (efiemu_memequal): Likewise.
1947 (find_variable): Likewise.
1948
49017b17
VS
19492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 Fix missing console prototype on qemu-mips.
1952
1953 * include/grub/mips/qemu_mips/console.h: New file.
1954
c5988629
MG
19552012-02-27 Matthew Garrett <mjg@redhat.com>
19562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1959 * include/grub/efi/efi.h: Likewise.
1960 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1961 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1962 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1963 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1964 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1965 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1966
e33f8d69
MG
19672012-02-27 Matthew Garrett <mjg@redhat.com>
1968
1969 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1970
fb312cd9
VS
19712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1974 error.
1975
7134247c
VS
19762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * configure.ac: Remove inappropriate use of program_transform_name
1979 on grubdir and bootdir but allow explicit specification of those
1980 variables.
1981
6a313124
VS
19822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * util/grub-mknetdir.in (grub_prefix): Removed.
1985 (subdir): Use @bootdirname@ and @grubdirname@.
1986
2311c5ca
VS
19872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1990
7d5d60f7
VS
19912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * po/POTFILES.in: Regenerated.
1994
8151bc82
VS
19952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Remove improper use of program_transform_name on pkglibrootdir.
1998
1999 * configure.ac (pkglibrootdir): Removed.
2000 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2001 * util/grub-mkimage.c: Likewise.
2002
b4a6a533
VS
20032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2006 warning.
2007
668f304f
VS
20082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * util/grub-install.in: Use file identifier if no UUID is available
2011 or user explicitly prompted for it.
2012
665f2341
NP
20132012-02-27 Navdeep Parhar <nparhar@gmail.com>
2014
2015 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2016 (freebsd_get_zfs): New function.
2017 (grub_freebsd_boot): Pass zfs UUID.
2018 (grub_cmd_freebsd): Set zfs UUID.
2019
8151bc82 20202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2021
2022 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2023 pkglibrootdir.
2024
e4c498a1
MG
20252012-02-27 Mike Gilbert <floppym@gentoo.org>
2026
2027 Add configure flag to control libzfs integration.
2028
2029 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2030
1e9a9a3f
VS
20312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2034 device.
2035 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2036 small devices.
2037
036985b8
VS
20382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2041 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2042 be used on non-modules.
2043
2044 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2045 Rename to grub_boot_init.
2046 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2047 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2048 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2049 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2050 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2051 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2052 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2053 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2054 includes.
2055 (grub_machine_init): Remove empty inits.
2056 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2057 includes.
2058 (grub_machine_init): Remove empty inits.
2059 * grub-core/term/arc/console.c: Remove explicit proto.
2060 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2061 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2062 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2063 grub_at_keyboard_fini.
2064 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2065 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2066 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2067 grub_gfxterm_fini.
2068 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2069 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2070 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2071 grub_vgatext_fini.
2072 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2073 * grub-core/term/serial.c (GRUB_MOD_INIT)
2074 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2075 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2076 grub_serial_fini.
2077 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2078 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2079 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2080 grub_terminfo_fini.
2081 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2082 (GRUB_MOD_FINI): Likewise.
2083 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2084 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2085 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2086 grub_video_radeon_fuloong2e_fini.
2087 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2088 [LOONGSON]: Rename to grub_video_sis315pro_init.
2089 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2090 grub_video_sis315pro_fini.
2091 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2092 [LOONGSON]: Rename to grub_video_sm712_init.
2093 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2094 grub_video_sm712_fini.
2095 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2096 (grub_at_keyboard_fini): Likewise.
2097 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2098 Don't declare grub_{modname}_init.
2099 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2100 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2101 New proto.
2102 (grub_keylayouts_fini) [!EMU]: Likewise.
2103 * include/grub/serial.h (grub_serial_init) [!EMU]:
2104 New proto.
2105 (grub_serial_fini) [!EMU]: Likewise.
2106 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2107 New proto.
2108 (grub_terminfo_fini) [!EMU]: Likewise.
2109 * include/grub/video.h (grub_font_init) [!EMU]:
2110 New proto.
2111 (grub_font_fini) [!EMU]: Likewise.
2112 (grub_gfxterm_init) [!EMU]: Likewise.
2113 (grub_gfxterm_fini) [!EMU]: Likewise.
2114 (grub_video_sm712_init) [!EMU]: Likewise.
2115 (grub_video_sm712_fini) [!EMU]: Likewise.
2116 (grub_video_sis315pro_init) [!EMU]: Likewise.
2117 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2118 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2119 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2120
d5534665
VS
21212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 Make nand a prefix for nand devices.
2124
2125 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2126
10133b5f
VS
21272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2130 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2131
8e307a62
VS
21322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * include/grub/env.h (grub_env_find): Remove prototype.
2135 * grub-core/kern/env.c (grub_env_find): Make static.
2136 (grub_env_set): Remove useless set.
2137
a4c65f34
VS
21382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/kern/i386/realmode.S: Remove useless align.
2141
d87893d5
VS
21422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * include/grub/dl.h (grub_dl_load_file): Don't export.
2145
50159add
VS
21462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2149 grub_dprintf.
2150
b2582b84
VS
21512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2154 grub_errors.
2155 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2156 not reloading whole superblock but only the part which is really needed.
2157 Remove useless grub_errors.
2158 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2159 grub_errors.
2160
e2a83395
VS
21612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Don't export grub_get_rtc.
2164
2165 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2166 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2167
e7d2a906
VS
21682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2171
6cf1363b
VS
21722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2175 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2176
eece3349
VS
21772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Remove prio_list.
2180
2181 * include/grub/list.h (grub_prio_list): Removed.
2182 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2183 GRUB_COMMAND_PRIO_MASK.
2184 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2185 GRUB_COMMAND_FLAG_ACTIVE.
2186 (grub_prio_list_insert): Removed.
2187 (grub_prio_list_remove): Likewise.
2188 (GRUB_AS_PRIO_LIST): Likewise.
2189 (GRUB_AS_PRIO_LIST_P): Likewise.
2190 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2191 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2192 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2193 * grub-core/kern/command.c (grub_register_command_prio): Inline
2194 the prio_list code.
2195 (grub_unregister_command): Likewise.
2196
94f064b4
VS
21972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 Fix interrupt mixup from previous commit.
2200
2201 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2202 (grub_realidt): New var.
2203 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2204 Load idt.
2205 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2206 New declaration.
2207 (grub_relocator16_boot): Set grub_relocator16_idt.
2208 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2209 (LOCAL(realidt)): ... this.
2210 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2211 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2212 (grub_realidt): New variable.
2213
27317084
VS
22142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2217 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2218 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2219 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2220 Gettextize.
2221 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2222 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2223 * po/POTFILES.in: Regenerate.
2224
47b40053
VS
22252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2228 errors.
2229
2b343101
VS
22302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2233 \0.
2234 (add_length): Likewise.
2235
ff27c3dd
LK
22362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22372012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2238
2239 GDB serial and backtrace support.
2240
2241 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2242 (prot_to_real): Likewise.
2243 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2244 * grub-core/Makefile.core.def (backtrace): New module.
2245 (gdb): Likewise.
2246 * grub-core/gdb/cstub.c: New file.
2247 * grub-core/gdb/gdb.c: Likewise.
2248 * grub-core/gdb/i386/idt.c: Likewise.
2249 * grub-core/gdb/i386/machdep.S: Likewise.
2250 * grub-core/gdb/i386/signal.c: Likewise.
2251 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2252 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2253 * include/grub/backtrace.h: Likewise.
2254 * include/grub/gdb.h: Likewise.
2255 * include/grub/i386/gdb.h: Likewise.
2256
22572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2258
2259 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2260 New function.
2261 (add_length): Likewise.
2262 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2263 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2264 proto.
2265 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2266 __argp_get_display_len.
2267
ff27c3dd 22682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2269
2270 $"..." support in scripts.
2271
2272 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2273 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2274 * grub-core/script/yylex.l: Likewise.
2275 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2276 value.
2277
ff27c3dd 22782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2279
2280 * gentpl.py: Remove obsolete pkglib_DATA handling.
2281
ff27c3dd 22822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2283
2284 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2285 mailing list.
2286
2287 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2288 * util/grub-kbdcomp.in: Likewise.
2289 * util/grub-mkconfig.in: Likewise.
2290 * util/grub-mkconfig_lib.in: Likewise.
2291 * util/grub-mknetdir.in: Likewise.
2292 * util/grub-mkrescue.in: Likewise.
2293 * util/grub-mkstandalone.in: Likewise.
2294 * util/grub-reboot.in: Likewise.
2295 * util/grub-set-default.in: Likewise.
2296 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2297
ff27c3dd 22982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2299
2300 Remove GRUB_PREFIX.
2301
2302 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2303 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2304 used for backward compatibility.
2305
ff27c3dd 23062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2307
2308 Add new all_video module.
2309
2310 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2311 * grub-core/Makefile.core.def (all_video): New module.
2312 * grub-core/genmoddep.awk: Generate dependency of all_video from
2313 video.lst.
2314 * grub-core/lib/fake_module.c: New file.
2315 * grub-core/normal/main.c (features): Add feature_all_video_module.
2316 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2317 don't do explicit search again.
47454da5 2318 insmod all_video in load_video if available.
22c7ce85 2319
ff27c3dd 23202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2321
2322 Another round of string clarification and adding TRANSLATORS comments.
2323
ff27c3dd 23242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2325
2326 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2327
ff27c3dd 23282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2329
2330 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2331 to grub_ssize_t.
2332 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2333 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2334
ff27c3dd 23352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2336
2337 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2338 trailing newline implicitly. All users updated.
2339
ff27c3dd 23402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2341
2342 Implement serial on IEEE1275 and EFI.
2343
2344 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2345 on emu. Mention arc and emu as the only platforms without serial
2346 support.
2347 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2348 ieee1275 platforms.
2349 * grub-core/term/efi/serial.c: New file.
2350 * grub-core/term/ieee1275/serial.c: Likewise.
2351 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2352 specification if no ns8250 driver is available.
2353 (grub_cmd_serial): Likewise.
2354 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2355 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2356 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2357 (grub_efi_parity_type_t): New type.
2358 (grub_efi_stop_bits_t): Likewise.
2359 (grub_efi_serial_io_interface): New struct.
2360 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2361 available for all interfaces.
2362 Add EFI and IEEE1275 fields.
2363 (grub_ofserial_init): New proto.
2364 (grub_efiserial_init): Likeiwse.
2365 * util/grub.d/00_header.in: Don't check for the presence of serial
2366 module.
2367
ff27c3dd 23682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2369
2370 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2371 name as if it was an alias.
2372
114076ef
VS
23732012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/commands/lsacpi.c (options): Fix typo.
2376
6a656b0e
VS
23772012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 Convert grub-emu to argp.
2380
2381 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2382 emu.
2383 * util/argp_common.c: Rename to ...
2384 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2385 Add missing includes.
2386 * grub-core/kern/emu/main.c: Convert to argp.
2387 * po/POTFILES.in: Regenerate.
2388 * util/grub-install.in (usage): Make first letter lowcase in messages
2389 for uniformity.
2390 * util/grub-setup.c (options): Likewise.
2391
1e3f8ae8
VS
23922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2395 Put back accidently commented-out code.
2396
ed167a80
VS
23972012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2400 loop check using Brent algorithm.
2401 (grub_hfsplus_btree_search): Likewise.
2402
6753c0ec
VS
24032012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * util/grub-install.in: Fix usage of wrong device for PreP install.
2406
4e27343f
VS
24072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * conf/Makefile.common (CFLAGS_GNULIB): Add
2410 -Wno-unsafe-loop-optimizations.
2411 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2412 on tools.
2413 * grub-core/commands/legacycfg.c: Add pragma to skip
2414 -Wunsafe-loop-optimizations.
2415 (check_password_md5_real): Fix loop counter type.
2416 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2417 reading.
2418 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2419 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2420 loop condition.
2421 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2422 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2423 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2424 condition.
2425 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2426 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2427 avoid possible infinite loops.
2428 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2429 and -Wunsafe-loop-optimizations.
2430 * grub-core/script/yylex.l: Likewise.
2431 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2432 (print_glyphs): Avoid infinite loops.
2433 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2434
697f18b0
GS
24352012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2436
2437 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2438 to avoid infinite loop.
2439 (disp_acpi_rsdt_table): Likewise.
2440
274416e8
VS
24412012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/font/font.c (grub_font_load): Add support for default
2444 path for fonts ($prefix/fonts).
2445 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2446 for checking if string is a path.
2447 * grub-core/normal/main.c (features): Add feature_default_font_path.
2448 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2449 * util/grub.d/00_header.in: Use default directory if possible.
2450 * util/grub-install.in: Install unicode.pf2.
2451
b3e08622
VS
24522012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2455 * po/Rules-swiss: New file.
2456 * po/swiss.sed: Likewise.
2457
fe42ce09
VS
24582012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/btrfs.c (find_device): Fix typos.
2461 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2462 * util/grub-mkrelpath.c (argp_parser): Likewise.
2463 Reported by: Yuri Chornoivan.
2464
72f1d065
DO
24652012-02-23 Dalet Omega <daletomega@gmail.com>
2466
2467 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2468 for usual informative messages.
2469
c5884973
DO
24702012-02-23 Dalet Omega <daletomega@gmail.com>
2471
2472 Starfield theme.
2473
2474 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2475 * conf/Makefile.common: Define starfielddir.
2476 * configure.ac: Configure starfield.
2477 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2478 * themes/starfield/README: Likewise.
2479 * themes/starfield/blob_w.png: Likewise.
2480 * themes/starfield/boot_menu_c.png: Likewise.
2481 * themes/starfield/boot_menu_e.png: Likewise.
2482 * themes/starfield/boot_menu_n.png: Likewise.
2483 * themes/starfield/boot_menu_ne.png: Likewise.
2484 * themes/starfield/boot_menu_nw.png: Likewise.
2485 * themes/starfield/boot_menu_s.png: Likewise.
2486 * themes/starfield/boot_menu_se.png: Likewise.
2487 * themes/starfield/boot_menu_sw.png: Likewise.
2488 * themes/starfield/boot_menu_w.png: Likewise.
2489 * themes/starfield/slider_c.png: Likewise.
2490 * themes/starfield/slider_n.png: Likewise.
2491 * themes/starfield/slider_s.png: Likewise.
2492 * themes/starfield/src/blob_nw.xcf: Likewise.
2493 * themes/starfield/src/bootmenu/: Likewise.
2494 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2495 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2496 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2497 * themes/starfield/src/slider_c.xcf: Likewise.
2498 * themes/starfield/src/slider_n.xcf: Likewise.
2499 * themes/starfield/src/slider_s.xcf: Likewise.
2500 * themes/starfield/src/terminalbox/: Likewise.
2501 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2502 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2503 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2504 * themes/starfield/starfield.png: Likewise.
2505 * themes/starfield/terminal_box_c.png: Likewise.
2506 * themes/starfield/terminal_box_e.png: Likewise.
2507 * themes/starfield/terminal_box_n.png: Likewise.
2508 * themes/starfield/terminal_box_ne.png: Likewise.
2509 * themes/starfield/terminal_box_nw.png: Likewise.
2510 * themes/starfield/terminal_box_s.png: Likewise.
2511 * themes/starfield/terminal_box_se.png: Likewise.
2512 * themes/starfield/terminal_box_sw.png: Likewise.
2513 * themes/starfield/terminal_box_w.png: Likewise.
2514 * themes/starfield/theme.txt: Likewise.
2515
17d73325
VS
25162012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * util/grub.d/00_header.in: Add missing export theme.
2519
dbebaf92
VS
25202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2523 already included.
2524 Reported by: Eren D.
2525
3d68bffb
VS
25262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * conf/Makefile.common (grubdatadir): Removed.
2529 (Makefile.am): Move eveything grubdata to pkgdata.
2530
4b59234d
VS
25312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/commands/acpihalt.c (get_sleep_type):
2534 Remove unused variable.
2535
463dcadc
VS
25362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2539 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2540 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2541 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2542 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2543 i18n with gettext no-op.
2544 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2545 GRUB_ACPI_OPCODE_STRING_CONST.
2546 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2547 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2548
e5b90c82
VS
25492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * po/POTFILES.in: Regenerate.
2552
2a704ca9
VS
25532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2556 -Wno-error=missing-noreturn.
2557
84f9d341
VS
25582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2561 condition to avoid possibly infinite loops.
2562 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2563 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2564
d46683f9
VS
25652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2568 condition to avoid possibly infinite loops.
2569
c44866b2
VS
25702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2573 on show_error.
2574
96790539
VS
25752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2578
1ba7e295
VS
25792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2582
21ffe8f1
VS
25832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * util/bin2h.c (usage): Add missing attribute noreturn.
2586
0ccb6b3c
VS
25872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2590 if the size isn't divisible by 512.
2591
b00d7fb6
VS
25922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 Make list_push and list_remove functions rather than inline functions
2595 to decrease size and avoid aliasing violations.
2596
2597 * include/grub/list.h (grub_list_push): Move to ...
2598 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2599 * include/grub/list.h (grub_list_remove): Move to ...
2600 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2601
9d369087
VS
26022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2605 and -Wunused-result.
2606
af0250d9
VS
26072012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2610 Reported by: Seth Goldberg
2611
aad32b14
VS
26122012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2615
ac96441c
ST
26162012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2617
2618 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2619 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2620 command line.
2621 * docs/grub.texi (Simple configuration): Document
2622 GRUB_CMDLINE_GNUMACH.
2623
26242012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2625
2626 * conf/Makefile.common (platform_SCRIPTS): New variable.
2627 (platform_PROGRAMS): Likewise.
2628 * gentpl.py: Mark *,module and *.image for install.
2629 * grub-core/gdb_grub.in: Add a notice of expected environment.
2630 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2631 (gmodule.pl): Likewise.
2632
ac96441c 26332012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2634
2635 Replace grub_checkkey with grub_getkey_noblock.
2636
2637 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2638 (grub_getkey_noblock): ... this. All users updated.
2639
ac96441c 26402012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2641
2642 * grub-core/kern/emu/console.c: Move to ...
2643 * grub-core/term/emu/console.c: ...here.
2644 (grub_ncurses_getkey): Fix return value if no key is detected.
2645
e51b5666
VS
26462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2649 (grub_unit_test_fini): Likewise.
2650 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2651
26522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * include/grub/test.h (GRUB_UNIT_TEST)
2655
d9a62292
VS
26562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2659 Better error handling.
2660 (grub_script_return): Likewise.
2661 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2662
77c9182f
VS
26632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2666 rimplicit redifinition.
2667
edb13cf9
VS
26682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2671 GRUB.
2672
a9e9dc7c
VS
26732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2676 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2677 prompt here.
2678
b4ba8e02
VS
26792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2682 as GRUB_ERR_BUG. Don't malloc if no device is available.
2683
dded5540
VS
26842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2687 Mark calling with invalid term as GRUB_ERR_BUG.
2688
0cf69874
VS
26892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2692 packets rather than raising an error.
2693
59bfe502
VS
26942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2697 in if.
2698
db5fc596
VS
26992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2702 diagnostic to dprintf.
2703 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2704
e4b7f404
VS
27052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2708 device name.
2709
e7b02f9e
VS
27102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2713 (grub_ntfs_iterate_dir): Likewise.
2714
0331e102
VS
27152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 Efiemu stylistic fixes and gettext.
2718
2719 * grub-core/efiemu/i386/loadcore32.c
2720 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2721 * grub-core/efiemu/i386/loadcore64.c
2722 (grub_arch_efiemu_relocate_symbols64): Likewise.
2723 * grub-core/efiemu/i386/pc/cfgtables.c
2724 (grub_machine_efiemu_init_tables): Likewise.
2725 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2726 (grub_efiemu_loadcore_initXX): Add a filename argument.
2727 All users updated.
2728 Improved error message.
2729 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2730 Add a filename argument.
2731 All users updated.
2732 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2733 Reclassify double relocation as GRUB_ERR_BUG.
2734
306fc074
VS
27352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2738 handling.
2739
794d8ef2
VS
27402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2743 on partition.
2744
27452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2746
2747 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2748
794d8ef2 27492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2750
2751 Improve string. Gettextize.
2752
78dde88e
VS
27532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2756 utils.
2757 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2758
4786a90f
VS
27592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2762 [GRUB_UTIL]: New function.
2763 (insert_array) [GRUB_UTIL]: Store partmaps.
2764 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2765 partmaps.
2766 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2767 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2768 (probe_abstraction): Print diskfilter and not raid.
2769 Reported by: Lennart Sorensen
2770
0b6225bd
VS
27712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2774 * util/grub-mkimagexx.c (MASK3): New define.
2775 (add_value_to_slot_20b): Use MASK3.
2776 (add_value_to_slot_21): Likewise.
2777 (relocate_addresses): Fix format specification.
2778 (load_image): Explicitly init symtab_section.
2779
b055f8f6
VS
27802012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2783 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2784
b77c2fb7
VS
27852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2788 on powerpc.
2789 Reported by: Lennart Sorensen
2790
e3ec28ab
VS
27912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * gentpl.py: Add missing license header.
2794 * docs/grub.texi: Update copyright year.
2795
c8d9ead6
GS
27962012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2797
2798 Source grub-mkconfig_lib from the build directory at build time.
2799 Suggested by: Vladimir Serbinenko.
2800
2801 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2802 * util/grub-install.in: Define pkgdatadir if not already set, and source
2803 grub-mkconfig_lib from there.
2804 * util/grub-kbdcomp.in: Likewise.
2805 * util/grub-mkconfig.in: Likewise.
2806 * util/grub-mknetdir.in: Likewise.
2807 * util/grub-mkrescue.in: Likewise.
2808 * util/grub-mkstandalone.in: Likewise.
2809 * util/grub-reboot.in: Likewise.
2810 * util/grub-set-default.in: Likewise.
2811 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2812
ebcecdf1
VS
28132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 Increase warning level.
2816
2817 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2818 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2819 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2820 (TARGET_CFLAGS): Likewise.
2821 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2822 * grub-core/Makefile.core.def (decompressor_xz): Add
2823 -Wno-unreachable-code.
2824 (normal): Add -Wno-redundant-decls.
2825 (xzio): Add -Wno-unreachable-code.
2826 (lzopio): Add -Wno-redundant-decls -Wno-error.
2827 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2828 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2829 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2830 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2831 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2832 * grub-core/kern/i386/coreboot/init.c: Add exception to
2833 -Wsuggest-attribute=noreturn.
2834 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2835 * grub-core/kern/ia64/dl_helper.c: Likewise.
2836 * grub-core/kern/mips/dl.c: Likewise.
2837 * grub-core/kern/sparc64/dl.c: Likewise.
2838 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2839 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2840 (memcmp): Likewise.
2841 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2842 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2843 * grub-core/loader/mips/linux.c: Likewise.
2844 * grub-core/loader/multiboot_elfxx.c: Likewise.
2845 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2846 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2847 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2848 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2849 fixme.
2850 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2851 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2852 Fix prototype.
2853
37bb97fe
VS
28542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2857 address.
2858
29a3550b
VS
28592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2862 Avoid improper use of strings.
2863 (grub_cmd_legacy_initrdnounzip): Likewise.
2864
dfdffd0d
VS
28652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2868 attribute.
2869 (grub_util_info): Likewise.
2870 (grub_util_error): Likewise.
2871
102fae4a
VS
28722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2875 * util/grub-fstest.c (fstest): Likewise.
2876
7e94d044
VS
28772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2880 (grub_md_sha512_real): Likewise.
2881 (grub_util_get_geli_uuid): Likewise.
2882 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2883 (grub_util_biosdisk_open): Fix format specification.
2884 Respect format security.
2885 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2886 (xrealloc): Likewise.
2887 (xasprintf): Likewise.
2888
5ebd9769
VS
28892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * util/import_gcry.py: Include grub/crypto.h in init.c.
2892
495fc8c1
VS
28932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2896 (generate_image): Make prefix a const char *.
2897 Fix format specifications. Respect format security.
2898 Avoid void * arithmetics.
2899 Avoid shadowing.
2900 (argp_parser): Remove unused variable. Respect format security.
2901 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2902 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2903 (count_funcs): Remove unused variable.
2904 (relocate_addresses): Fix format specification.
2905 Disable x86-64 with elf32. Remove unused variables.
2906 (add_fixup_entry): Avoid shadowing.
2907 (make_reloc_section): Fix format specification.
2908 Use assert.
2909 (locate_sections): Fix format specifications.
2910 (load_image): Avoid shadowing.
2911
043c2ea3
VS
29122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2915 Fix format specifications. Respect format security.
2916 Don't translate already translated grub_errmsg.
2917 (argp_parser): Remove unused variable
2918
3ec65a81
VS
29192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2922
a4d9fe4a
VS
29232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2926 (main): Likewise. Use xmalloc. Respect format security.
2927
15b81d49
VS
29282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2931 a const char *.
2932 (argp_parser): Remove unused variable.
2933
31731fc0
VS
29342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2937 (add_pixel): Make static.
2938 (add_font): Likewise.
2939 (write_string_section): Make name and str a const char *.
2940 (write_be16_section): Make name a const char *.
2941 (print_glyphs): Make static.
2942 (write_font_ascii_bitmap): Likewise.
2943 (write_font_width_spec): Likewise.
2944 (write_font_pf2): Likewise.
2945 (argp_parser): Remove unused variable.
2946 Respect format security.
2947 (main): Avoid shadowing. Respect format security.
2948
0809527b
VS
29492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * util/grub-editenv.c (argp_parser): Make static.
2952 (create_envblk_file): Use xmalloc.
2953 (open_envblk_file): Likewise.
2954 Resepect format security.
2955 (set_variables): Respect format security.
2956
45b0c8b7
VS
29572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * util/getroot.c (grub_find_device): Respect format security.
2960 (get_mdadm_uuid): Remove unused variable.
2961 (grub_util_pull_device): Dont call gettext on already translated
2962 grub_errmsg.
2963 (find_system_device): Remove unused variable.
2964 (grub_util_get_grub_dev): Likewise.
2965 (grub_make_system_path_relative_to_its_root): Respect format security.
2966
1b024b4e
VS
29672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub-fstest.c (execute_command): Make first argument
2970 a const char *.
2971 (read_file): Avoid shadowing.
2972 Reuse underlying error message if device open fails.
2973 (cmd_cmp): Respect format security.
2974 (root): Make const char *.
2975 (fstest): Remove args argument and use global copy.
2976 Respect format security.
2977 (argp_parser): Make static.
2978 (main): Make default_root const char *.
2979
5d1d4e28
VS
29802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * util/grub-mount.c (root): Make const char *.
2983 (execute_command): Make first argument a const char *.
2984 (fuse_init): Respect format security.
2985 (argp_parser): Make static. Remove unused variable.
2986 (main): Make default_root a const char *.
2987 Respect format security.
2988
36eb7379
VS
29892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * util/grub-probe.c (probe): Don't call gettext on already translated
2992 grub_errmsg.
2993 Remove unused variables.
2994 (argp_parser): Remove unused variable.
2995
76fb2ea9
VS
29962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * util/grub-script-check.c (argp_parser): Remove unused variable.
2999 (main): Rename read to curread to avoid shadowing.
3000
56c98584
VS
30012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * util/misc.c (grub_util_write_image_at): Fix format specification.
3004 (grub_util_write_image): Likewise.
3005 (grub_script_execute_argument_to_string): Removed (unused).
3006 (grub_script_execute_menuentry): Likewise.
3007 (grub_putchar): Likewise.
3008
164ebb48
VS
30092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3012 (FUNCTION) [GRUB_UTIL]: Likewise.
3013 (VARIABLE) [GRUB_UTIL]: Likewise.
3014
44318d61
VS
30152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3018 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3019
31a26002
VS
30202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3023 buffer.
3024
30252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3028 (LzmaEnc_SaveState): Removed (unused).
3029 (LzmaEnc_RestoreState): Likewise.
3030 (LzmaEnc_InitPriceTables): Made static.
3031 (LzmaEnc_Construct): Likewise.
3032 (LzmaEnc_FreeLits): Likewise.
3033 (LzmaEnc_Destruct): Likewise.
3034 (LzmaEnc_Init): Likewise.
3035 (LzmaEnc_InitPrices): Likewise.
3036 (LzmaEnc_Finish): Likewise.
3037 (LzmaEnc_PrepareForLzma2): Removed (unused).
3038 (LzmaEnc_MemPrepare): Likewise.
3039 (LzmaEnc_GetNumAvailableBytes): Likewise.
3040 (LzmaEnc_GetCurBuf): Likewise.
3041 (LzmaEnc_CodeOneMemBlock): Likewise.
3042
6fa67967
VS
30432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3046 (grub_util_ldm_embed): Likewise.
3047
9a7428e6
VS
30482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * util/grub-editenv.c (print_var): Rename name to varname to
3051 avoid shadowing.
3052 (main): Rename index to curindex to avoid shadowing.
31a26002 3053 Make filename a const char *.
9a7428e6 3054
4f96abd1
VS
30552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3058 to arg_getline to avoid shadowing.
3059
44d10dad
VS
30602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3063 disk_ to avoid shadowing.
3064
340ba63e
VS
30652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3068 curindex to avoid shadowing.
3069 Make static.
3070 (MatchFinder_GetNumAvailableBytes): Make static.
3071
22965bce
VS
30722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3075 avoid shadowing.
3076
7b5784d4
VS
30772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3080 argument from encrypt to do_encrypt to avoid shadowing.
3081
6f48ca01
VS
30822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3085 incorrect nesting of #if's.
3086
a4ea2dff
VS
30872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3090 checks which are always false on some platforms.
3091 (grub_cmd_lsacpi): Likewise.
3092 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3093 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3094 Likewise.
3095
def9fc1b
VS
30962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3099 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3100
a67b2a04
VS
31012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3104 re_dfa_t to avoid breaking alignment invariants.
3105 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3106 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3107
44c6828d
VS
31082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3111 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3112
bebe0dd0
VS
31132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3116 Fix declaration.
3117
a9cdb3cf
VS
31182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3121 conserve alignment invariants.
3122 (grub_ehci_ehcc_read16): Likewise.
3123 (grub_ehci_oper_read32): Likewise.
3124 (grub_ehci_oper_write32): Likewise.
3125 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3126 Conserve alignment invariants.
3127
ccc3b1b8
VS
31282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3131 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3132 declarations.
3133
987fbd95
VS
31342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3137 Remove unused variable.
3138
0df363f3
VS
31392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3142 Remove set in if.
3143
b2c0c4a6
VS
31442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * include/grub/net.h: Remove double declarations.
3147
690c531f
VS
31482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Remove "payload" command in ia64 Linux loader since I couldn't
3151 find any evidence of it being used for anything.
3152 Replace "relocate" command with an environment variable
3153
3154 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3155 fields.
3156 (ia64_boot_payload): Removed.
3157 (last_payload): Likewise.
3158 (RELOCATE_OFF): Likewise.
3159 (RELOCATE_ON): Likewise.
3160 (RELOCATE_FORCE): Likewise.
3161 (relocate): Likewise.
3162 (free_pages): Don't free payloads.
3163 (grub_load_elf64): Use common error messages.
3164 Use "linux_relocate" variable.
3165 Increase the space after boot_params.
3166 (grub_cmd_payload): Removed.
3167 (grub_cmd_relocate): Likewise.
3168 (grub_cmd_fpswa): Improve messages.
3169 (cmd_payload): Removed.
3170 (cmd_relocate): Likewise.
3171 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3172 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3173
01783768
VS
31742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Convert UHCI to DMA framework.
3177
3178 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3179 (grub_uhci_pci_iter): Fill new members
3180 (grub_alloc_td): Use P2V and V2P functions.
3181 (grub_free_queue): Likewise.
3182 (grub_alloc_qh): Likewise.
3183 (grub_uhci_setup_transfer): Likewise.
3184 (grub_uhci_check_transfer): Likewise.
3185
43206939
VS
31862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3189 Remove assignment in if while on it.
3190
571e140e
VS
31912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * util/grub-mkstandalone.in: Fix modules directory.
3194
a9d96eeb
VS
31952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3198 on i386-pc target.
3199 (argp_parser): Accept "auto" as compression specification.
3200
e4e37e8d
VS
32012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 Fix `help' with unloaded modules.
3204
3205 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3206 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3207 (grub_dyncmd_dispatcher): Small stylistic fix.
3208 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3209 explicit help is requested.
3210
e1ea3ade
VS
32112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3214 Explicitly init restart while on it.
3215
27556881
VS
32162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3219 uninited variable.
3220
d65f6b36
VS
32212012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * util/grub-mknetdir.in: Use . rather than source for POSIX
3224 compatibility.
3225
0a1e473c
VS
32262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3229
ce6647c8
VS
32302012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3233 variable.
3234
66747894
VS
32352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3238 without quotes.
3239
71645f6e
VS
32402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3243
0e1c1f61
VS
32442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3247 iteration of partitions.
3248
9c4b5c13
VS
32492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 Improve gettext support. Stylistic fixes and error handling fixes while
3252 on it.
3253
215c90cb
VS
32542012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3257 part. Instead setup the correct stack in RM.
3258 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3259 for stack.
3260 * include/grub/i386/relocator_private.h: New file.
3261
b5c1f9bf
VS
32622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3265 argument.
3266 * util/grub-fstest.c (options): Add missing DEVICE part.
3267
b525fd83
VS
32682012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 Clarify and unify messages.
3271
3272 * grub-core/commands/hashsum.c (options): Unify messages.
3273 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3274 literal-only message as translatable.
3275 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3276 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3277 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3278 commands.
3279 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3280 key, not the key used to unlock. Clarify what it's used for.
3281 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3282 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3283 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3284 * util/grub-editenv.c (options): Unify "verbose" message.
3285 * util/grub-fstest.c (read_file): Unify error message.
3286 (fstest): Add quotes around commands.
3287 (options): Unify "verbose" message.
3288 * util/grub-install.in: Add quotes around variable name.
3289 * util/grub-kbdcomp.in: Unify error message.
3290 * util/grub-mkfont.c (main): Likewise.
3291 * util/grub-mkrescue.in: Likewise.
3292 * util/grub-mklayout.c (options): Unify "verbose" message.
3293 * util/grub-mkstandalone.in: Unify help and verbose messages.
3294 * util/grub-mount.c (options): Unify "verbose" message.
3295 * util/grub-probe.c (options): Likewise.
3296 * util/grub-script-check.c (options): Likewise.
3297 * util/grub-setup.c (setup): Unify no-terminator message.
3298 (options): Use DEVICE and not DEV.
3299 Unify "verbose" message.
3300 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3301
0ae70393
VS
33022012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 Improve and unify messages.
3305
3306 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3307 name. All users updated.
3308 Print filename in error.
3309 (read_device_map): Print filename in error.
3310 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3311 (grub_util_get_os_disk): Likewise.
3312 (grub_util_biosdisk_get_grub_dev): Likewise.
3313 (grub_util_check_block_device): Likewise.
3314 (grub_util_check_char_device): Likewise.
3315 (grub_make_system_path_relative_to_its_root): Likewise.
3316 * util/grub-editenv.c (create_envblk_file): Likewise.
3317 (open_envblk_file): Likewise.
3318 (write_envblk): Likewise.
3319 * util/grub-fstest.c (cmd_cp): Likewise.
3320 (cmd_cat): Likewise.
3321 (cmd_cmp): Likewise.
3322 * util/grub-menulst2cfg.c (main): Likewise.
3323 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3324 (write_font_width_spec): Likewise.
3325 (write_font_pf2): Likewise.
3326 * util/grub-mkimage.c (generate_image): New argument outname.
3327 All users updated.
3328 Remove unreacheable message.
3329 (options): Unify messages.
3330 (help_filter): Likewise.
3331 * util/grub-mklayout.c (usage): Removed (unused).
3332 (main): Print filename in error.
3333 * util/grub-mkrescue.in: Fix wrong quoting.
3334 * util/grub-setup.c (setup): Print filename in error.
3335 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3336 (check_sas): Likewise.
3337 * util/misc.c (grub_util_get_fp_size): Removed.
3338 (grub_util_get_image_size): Print filename in error.
3339 (grub_util_read_at): Removed.
3340 (grub_util_read_image): Print filename in error.
3341 (grub_util_load_image): Likewise.
3342 (grub_util_write_image_at): New argument filename. All users updated.
3343 Print filename in error.
3344 (grub_util_write_image): New argument filename. All users updated.
3345 Print filename in error.
3346 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3347 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3348
0a96117d
VS
33492012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/Makefile.core.def (pxechain): New module.
3352 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3353 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3354 function.
3355 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3356 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3357
aca002f7
VS
33582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3361 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3362 * include/grub/err.h (grub_error_saved): New struct.
3363 (grub_errmsg): Make array size explicit.
3364 * include/grub/misc.h (grub_error_save): New function.
3365 (grub_error_load): Likewise.
3366 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3367 (grub_error_push): Update `errno' member name.
3368 (grub_error_pop): Likewise
3369 * grub-core/net/tftp.c (tftp_data): New member save_err.
3370 (tftp_receive): Save error.
3371 (tftp_open): Restore error.
3372
a51dab13
VS
33732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3376 to real mode down to execute A20-related code in protected mode as
3377 intended.
3378
eb6e6649
GS
33792012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3380
3381 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3382 NULL when the argument `level' has an unexpected value.
3383
92cd0f6e
VS
33842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 Move platform-dependent files from $prefix to $prefix/$platform.
3387
3388 * config.h.in (GRUB_TARGET_CPU): New definition.
3389 (GRUB_PLATFORM): Likewise.
3390 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3391 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3392 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3393 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3394 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3395 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3396 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3397 * grub-core/normal/term.c (read_terminal_list): Likewise.
3398 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3399 $prefix/locale.
3400 (grub_gettext_init_ext): Likewise.
3401 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3402 grub_platform.
3403 * util/grub-install.in: Update directories.
3404 * util/grub-mknetdir.in: Likewise.
3405 * util/grub-mkrescue.in: Likewise.
3406
db606889
VS
34072012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3410 grub_error framework. All users updated.
3411
c39992a4
VS
34122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3415 lists (by always binsearching), improve caching (cache strings
3416 used for binsearch, not only results), improve
3417 maintainability (by using more structured binary search) and correct
3418 error handling.
3419
1e5ec32f
VS
34202012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/script/execute.c (grub_script_return): Fix warning.
3423
ac576cde
VS
34242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/script/execute.c (grub_script_return): Fix potential
3427 NULL-dereference.
3428 Reported by: Jim Meyering.
3429
498453f6
VS
34302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * po/POTFILES.in: Regenerate.
3433 * util/grub-install.in: Gettextize the strings missed in first pass.
3434
8be63f2e
VS
34352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * Makefile.util.def (grub-mkdevicemap): Removed.
3438 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3439 * include/grub/util/deviceiter.h: Removed.
3440 * util/deviceiter.c: Likewise.
3441 * util/getroot.c (grub_util_get_os_disk): New function.
3442 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3443 replacement for EFI.
3444 * util/grub-mkdevicemap.c: Removed.
3445 * util/grub-probe.c (probe): Handle PRINT_DISK.
3446 (argp_parser): Handle -t disk.
3447
8e1e4e39
VS
34482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * util/grub-mkfont.c: Migrate to argp.
3451 * util/grub-mklayout.c: Likewise.
3452 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3453 * util/grub-mkrelpath.c: Likewise.
3454 * util/grub-probe.c: Likewise.
3455 * util/grub-script-check.c: Likewise.
3456
4459819a
VS
34572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * util/grub-reboot.in: Add missing datarootdir.
3460 Add missing newline.
3461 * util/grub-set-default.in: Add missing datarootdir.
3462 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3463 * util/grub-mkrescue.in: Likewise.
3464
f65741c7
VS
34652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3468
c1a33466
VS
34692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * util/grub-kbdcomp.in: Add decent help and gettextize.
3472 * docs/man/grub-kbdcomp.h2m: New file.
3473
c76899a0
VS
34742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Migrate grub-mkimage.c to argp.
3477
3478 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3479 (grub-setup): Likewise.
3480 * util/grub-setup.c (print_version): Move to ...
3481 * util/argp_common.c (print_version): ... here.
3482 * util/grub-setup.c (argp_program_version_hook): Move to ...
3483 * util/argp_common.c (argp_program_version_hook): ... here.
3484 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3485 safety.
3486 * util/grub-mkimage.c (main): Migrate to argp.
3487
57db0757
VS
34882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * util/grub-mkrescue.in: Use same message as
3491 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3492 for better translations.
3493
18534ad9
VS
34942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3497 options with generic grub-mkrescue.in with the goal of future
3498 merge.
3499
c84ba308
VS
35002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/kern/mm.c: Add missing include of i18n.h
3503 * grub-core/lib/relocator.c: Likewise.
3504
347998c2
VS
35052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3508 error.
3509 (allocate_pages): Check return value.
3510 Replace fatal with error.
3511 (grub_linux_boot): Replace printf with dprintf.
3512 Check find_mmap_size return value.
3513 Replace fatal with error.
3514 Don't call grub_machine_fini.
3515 (grub_load_elf64): Replace printf with dprintf.
3516 (grub_cmd_linux): Likewise.
3517 (grub_cmd_initrd): Likewise.
3518 (grub_cmd_payload): Likewise.
3519
c779226e
VS
35202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3523 message.
3524 * grub-core/video/radeon_fuloong2e.c
3525 (grub_video_radeon_fuloong2e_setup): Likewise.
3526 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3527 * grub-core/video/video.c (grub_video_set_mode): Don't override
3528 standard out of memory message.
3529
dc87d45a
GS
35302012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3531
3532 NetBSD disk wedge support.
3533
3534 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3535 [__NetBSD__]: Handle NetBSD disk wedges.
3536 * util/getroot.c (convert_system_partition_to_system_disk)
3537 [__NetBSD__]: Likewise.
3538
055f856f
MW
35392012-02-03 Mark Wooding <mdw@distorted.org.uk>
3540
3541 * util/grub-mkconfig.in: Use umask rather than chmod to create
3542 grub.cfg.new to avoid insecure grub.cfg.
3543
4a9f8346
VS
35442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * grub-core/commands/ls.c: Gettextize.
3547 * grub-core/commands/setpci.c: Likewise.
3548 * grub-core/commands/videotest.c: Likewise.
3549 * grub-core/disk/geli.c: Likewise.
3550 * grub-core/kern/mm.c: Likewise.
3551 * grub-core/lib/relocator.c: Likewise.
3552 * grub-core/loader/efi/appleloader.c: Likewise.
3553 * grub-core/loader/i386/xnu.c: Likewise.
3554 * grub-core/loader/ia64/efi/linux.c: Likewise.
3555 * grub-core/loader/xnu.c: Likewise.
3556 * grub-core/net/dns.c: Likewise.
3557 * grub-core/net/net.c: Likewise.
3558 * grub-core/script/lexer.c: Likewise.
3559 * grub-core/script/parser.y: Likewise.
3560 * grub-core/script/yylex.l: Likewise.
3561 * util/getroot.c: Likewise.
3562 * util/grub-setup.c: Likewise.
3563
a646a366
VS
35642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3567 number.
3568
54e2be26
VS
35692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3572
f7c71e68
VS
35732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3576 macro.
3577 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3578 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3579
a32d5c71
VS
35802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3583 * util/grub-install.in: Gettextize.
3584 * util/grub-mkconfig.in: Likewise.
3585 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3586 if not available.
3587 (grub_warn): Gettextize.
3588 * util/grub-mknetdir.in: Gettextize.
3589 * util/grub-mkrescue.in: Likewise.
3590 * util/grub-mkstandalone.in: Likewise.
3591 * util/grub-reboot.in: Likewise.
3592 * util/grub-set-default.in: Likewise.
3593 * util/grub.d/00_header.in: Likewise.
3594 * util/grub.d/10_hurd.in: Likewise.
3595 * util/grub.d/10_kfreebsd.in: Likewise.
3596 * util/grub.d/10_linux.in: Likewise.
3597 * util/grub.d/10_netbsd.in: Likewise.
3598 * util/grub.d/10_windows.in: Likewise.
3599 * util/grub.d/20_linux_xen.in: Likewise.
3600 * util/grub.d/30_os-prober.in: Likewise.
3601 * po/POTFILES-shell.in: Regenerate.
3602
69edd81a
RL
36032012-02-03 Richard Laager <rlaager@wiktel.com>
3604
3605 * util/grub-mkimage.c (main): Fix format-security warning.
3606 * util/grub-mkrelpath.c (main): Likewise.
3607 * util/grub-probe.c (main): Likewise.
3608
65f08dbf
RL
36092012-02-03 Richard Laager <rlaager@wiktel.com>
3610
3611 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3612 failure.
3613 Put back lost PRINT_DRIVE.
3614
e9084abe
RL
36152012-02-03 Richard Laager <rlaager@wiktel.com>
3616
3617 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3618 (grub_guess_root_devices): Replace strlen with sizeof.
3619 Avoid crash.
3620 (find_root_devices_from_poolname): Remove unused variable.
3621 Handle raidzN.
3622
cf5f7ee7
VS
36232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Support install on multi-device filesystems.
3626
3627 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3628 (grub_guess_root_devices): ...this. Return char **. All users updated.
3629 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3630 Removed.
3631 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3632 (find_root_devices_from_poolname): ... here.
3633 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3634 Support zfs-fuse.
3635 (grub_guess_root_device): Rename to ...
3636 (grub_guess_root_devices): ... this. Return char **. All users updated.
3637 * util/grub-install.in: Handle multi-device filesystems.
3638 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3639 argument. All users updated.
3640 Handle multi-device filesystems.
3641 Use 'delim' as separator.
3642 Remove device check to allow filesystems on file.
3643 (main): Support -0 argument. Handle multi-device.
3644 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3645 Fix a cross-device check while on it.
3646 (arguments): Remove root_dev.
3647 (argp_parser): Remove -r.
3648 (main): Remove root_dev.
3649
2f53a9ed
VS
36502012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3653
17e1d934
VS
36542012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3657 symbol.
3658 Reported by: NODA, Kai <nodakai>.
3659
d3e3fab5
VS
36602012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Fix ehci on amd64.
3663
3664 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3665 pointers.
3666 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3667 (grub_ehci_setup_qh): Likewise.
3668 (grub_ehci_find_qh): Likewise.
3669 (grub_ehci_transaction): Likewise.
3670 (grub_ehci_setup_transfer): Likewise.
3671 (grub_ehci_check_transfer): Likewise.
3672 (grub_ehci_portstatus): Likewise.
3673 (grub_ehci_detect_dev): Likewise.
3674 (grub_ehci_transfer_controller_data): New field td_last_phys.
3675 (grub_ehci_setup_transfer): Fill td_last_phys.
3676 (grub_ehci_check_transfer): Use td_last_phys.
3677
3008675b
SG
36782012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3679
3680 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3681 if no submenu is present.
3682
fc9b5652
AN
36832012-02-01 Aleš Nesrsta <starous@volny.cz>
3684
3685 CBI support.
3686
3687 * include/grub/usb.h (grub_usbms_protocol_t): New values
3688 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3689 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3690 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3691 (grub_usbms_dev): Add subclass, protocol and intrpt.
3692 Remove in_maxsz and out_maxsz.
3693 (grub_usbms_reset): Rename to ...
3694 (grub_usbms_bo_reset): .. this.
3695 (grub_usbms_cbi_cmd): New function.
3696 (grub_usbms_cbi_reset): Likewise.
3697 (grub_usbms_reset): Likewise.
3698 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3699 (grub_usbms_transfer): Rename to ...
3700 (grub_usbms_transfer_bo): ... this.
3701 (grub_usbms_transfer_cbi): Likewise.
3702 (grub_usbms_transfer): Likewise.
3703
a2b81d53
AN
37042012-02-01 Aleš Nesrsta <starous@volny.cz>
37052012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3708 the support for the CS5536 modification thereos and few bugfixes.
3709
3710 * grub-core/Makefile.core.def (ehci): New module.
3711 * grub-core/bus/usb/ehci.c: New file.
3712 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3713 port and hubaddr. All users updated.
3714 Save port and hubaddr into dev structure.
3715 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3716 define.
3717 * include/grub/pci.h (grub_dma_phys2virt): New function.
3718 (grub_dma_virt2phys): Likewise.
3719 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3720
b1d51f02
VS
37212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3724 check as some mkfs implementations omit it.
3725
fc694106
VS
37262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3729
6c0920e3
VS
37302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3733 Add new member volname2.
3734 (grub_jfs_label): Use volname2 if available.
3735
d1a46f9a
VS
37362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3739 over last_mounted as seen in image generated by mkfs.nilfs2.
3740 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3741
dec8ed14
VS
37422012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3745 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3746 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3747
7397c69b
VS
37482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3751 over the sector.
3752
b3fe42ad
VS
37532012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3756 subvolume name (by removing a bogus and useless check).
3757
10476bb0
VS
37582012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3761 sizeof while on it.
3762
9c08ad87
VS
37632012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3766 (grub_scsi_read_capacity10): ... this.
3767 (grub_scsi_read_capacity16): New function.
3768 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3769 0xffffffff.
3770 Fix off-by-one error.
3771 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3772 64-bit unsigned.
3773 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3774 (grub_scsi_read_capacity10): ... this.
3775 (grub_scsi_read_capacity_data): Rename to ...
3776 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3777 (grub_scsi_read_capacity16): New struct.
3778 (grub_scsi_read_capacity16_data): Likewise.
3779 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3780 grub_scsi_cmd_read_capacity10.
3781 New command grub_scsi_cmd_read_capacity16.
3782
bc8d0f45
VS
37832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 SCSI >2TiB support.
3786
3787 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3788 (grub_scsi_write16): Likewise.
3789 (grub_scsi_read): Use read16 when necessary.
3790 (grub_scsi_write): Likewise.
3791 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3792 (grub_scsi_write16): Likewise.
3793 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3794
cc774926
VS
37952012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 SCSI write support (for usbms mainly).
3798
3799 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3800 a const pointer.
3801 (grub_scsi_write): Implement.
3802 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3803
67639fd7
VS
38042012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3807 variable.
3808
9079d3ed
VS
38092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3812
c6a6f204
VS
38132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * po/POTFILES.in: Regenerate.
3816
ecbf8cd1
VS
38172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3820 with grub_printf to avoid unnecessary fatal failure.
3821
0b3b3b38
VS
38222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3825 (INT_MAX): Likewise.
3826 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3827 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3828 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3829 (strcpy): Likewise.
3830 (strstr): Likewise.
3831 (strchr): Likewise.
3832 (strncpy): Likewise.
3833 (strcat): Likewise.
3834 (strncat): Likewise.
3835 (strcoll): Likewise.
3836 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3837 (GRUB_INT_MAX): Likewise.
3838
db7337a3
VS
38392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3842 unexpected error.
3843 (optimize_utf8): Likewise.
3844 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3845
f37c87e1
VS
38462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/boot/i386/pc/lnxboot.S: Use
3849 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3850 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3851 location.
3852 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3853 definition.
3854 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3855
63fe43f3
VS
38562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3859 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3860 now to avoid double free.
3861 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3862 hostdisk.
3863 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3864 * util/grub-probe.c (escape_of_path): Always return a new copy.
3865 (print_full_name): Escape path.
3866 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3867 Fix hints on abstractions.
3868
ebe2c961
VS
38692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3872 Don't add "root" line if no compatibility hont is available.
3873 Suggested by: Seth Goldberg.
3874
2b5336a2
VS
38752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3878 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3879 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3880 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3881
74310bd8
VS
38822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3885
c30582ba
VS
38862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * util/grub-pe2elf.c (ehdr): Make static.
3889 (shdr): Likewise.
3890 (num_sections): Likewise.
3891 (offset): Likewise.
3892
5f47782c
VS
38932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 Eliminate ofpath limits and possible overflows.
3896
3897 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3898 (OF_PATH_MAX): Removed.
3899 (MAX_DISK_CAT): New const.
3900 (find_obppath): Use allocated rather than preallocated buffer.
3901 Return result. Argument of_path removed. All users updated.
3902 Add missing fdstat.
3903 (xrealpath): New function.
3904 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3905 Allocate rather than use preallocated buffer. All users updated.
3906 (__of_path_common): Use allocated rather than preallocatecd buffer.
3907 Return result. Argument of_path removed. All users updated.
3908 (vendor_is_ATA): Read only needed part form the file.
3909 (check_sas): Allocate depending on contents rather than fixed.
3910 (main) [STANDALONE]: Handle NULL result.
3911
f990cbf9
VS
39122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3915
9c6e84b8
VS
39162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 Cryptodisk write support.
3919
3920 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3921 (grub_cryptodisk_decrypt): Moved logic to ...
3922 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3923 (grub_cryptodisk_write): Implement.
3924 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3925 (grub_util_fd_write): ... this. Make global.
3926 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3927
87cf9744
VS
39282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * include/grub/list.h (grub_list_remove): Don't crash if element is
3931 removed twice.
3932
ca8c0baf
VS
39332012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 Rename ofconsole to console.
3936
3937 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3938 as sysnonym to console.
3939 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3940 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3941 Rename grub_ofconsole_ to grub_console_. All users updated
3942 (grub_console_term_output): Rename "ofconsole" to "console".
3943 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3944 as "console".
3945
64c8b8f6
VS
39462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3949 handling.
3950 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3951 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3952 GRUB_DISK_DEVICE_FILE_ID.
3953
f6c434d5
VS
39542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3957 and improve performance.
3958
5858b42d
VS
39592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3962 missing ieee1275/ prefix on whole disk.
3963
4ed3c26b
VS
39642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3967 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3968
df71143e
VS
39692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3972
076e7c0f
VS
39732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Merge common RAID and LVM logic to an abstract diskfilter.
3976 Add LDM support using the same framework.
3977
3978 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3979 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3980 (libgrubmods): Remove grub-core/disk/raid.c and
3981 grub-core/partmap/gpt.c.
3982 * grub-core/Makefile.core.def (ldm): New module.
3983 (raid): Renamed to diskfilter. All users updated.
3984 * grub-core/disk/raid.c: Moved to ...
3985 * grub-core/disk/diskfilter.c: ... here.
3986 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3987 (lv_num): New var.
3988 (find_array): Renamed to ...
3989 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3990 (grub_is_array_readable): Renamed to ...
3991 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3992 (insert_array): New argument id.
3993 (is_node_readable): New function.
3994 (scan_device): Rename to ...
3995 (scan_disk): .. this. Restrict to one disk.
3996 (scan_devices): New function.
3997 (grub_diskfilter_iterate): Support multi-LV.
3998 Skip invisible and nameless LVs.
3999 (grub_diskfilter_memberlist): Support multi-LV.
4000 (grub_diskfilter_read_node): New function.
4001 (grub_raid_read): Most of logic moved to ...
4002 (read_segment): ... here
4003 (read_lv): New function.
4004 (grub_diskfilter_get_vg_by_uuid): New function.
4005 (grub_diskfilter_make_raid): Likewise.
4006 * grub-core/disk/ldm.c: New file.
4007 * grub-core/disk/lvm.c (vg_list): Removed.
4008 (lv_count): Likewise.
4009 (scan_depth): Likewise.
4010 (is_lv_readable): Likewise.
4011 (grub_lvm_getvalue): Advance pointer past the number.
4012 (find_lv): Removed.
4013 (do_lvm_scan): Refactored into ...
4014 (grub_lvm_detect): ... this. Support raid.
4015 (grub_lvm_iterate): Removed.
4016 (grub_lvm_memberlist): Likewise.
4017 (grub_lvm_open): Likewise.
4018 (grub_lvm_close): Likewise.
4019 (read_lv): Likewise.
4020 (read_node): Likewise.
4021 (is_node_readable): Likewise.
4022 (is_lv_readable): Likewise.
4023 (grub_lvm_read): Likewise.
4024 (grub_lvm_write): Likewise.
4025 (grub_lvm_dev): Use diskfilter
4026 (GRUB_MOD_INIT): Likewise.
4027 (GRUB_MOD_FINI): Likewise.
4028 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4029 new interface.
4030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4031 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4032 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4033 grub_diskfilter_read_node.
4034 Fix a bug with xor.
4035 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4036 grub_diskfilter_read_node.
4037 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4038 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4039 (grub_disk_dev_iterate): Move from here...
4040 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4041 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4042 Make global.
4043 (grub_hostdisk_find_partition_start): Likewise.
4044 (grub_hostdisk_os_dev_to_grub_drive): New function.
4045 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4046 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4047 * util/getroot.c (make_device_name): ... here.
4048 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4049 Move to ...
4050 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4051 * grub-core/kern/emu/hostdisk.c
4052 (convert_system_partition_to_system_disk): Move to ...
4053 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4054 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4055 * util/getroot.c (device_is_wholedisk): ... here.
4056 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4057 * util/getroot.c (find_system_device): ... here.
4058 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4059 Move to ...
4060 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4062 Move to ...
4063 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4064 Handle LDM.
4065 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4066 Move to ...
4067 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4068 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4069 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4070 DISKFILTER.
4071 * include/grub/raid.h: Renamed to ...
4072 * include/grub/diskfilter.h: ... this.
4073 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4074 (GRUB_RAID_LAYOUT_*): Make into array.
4075 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4076 (grub_diskfilter_vg): New struct.
4077 (grub_diskfilter_pv_id): Likewise.
4078 (grub_raid_member): Removed.
4079 (grub_raid_array): Likewise.
4080 (grub_diskfilter_pv): New struct.
4081 (grub_diskfilter_lv): Likewise.
4082 (grub_diskfilter_segment): Likewise.
4083 (grub_diskfilter_node): Likewise.
4084 (grub_diskfilter_get_vg_by_uuid): New proto.
4085 (grub_raid_register): Inline.
4086 (grub_diskfilter_unregister): Likewise.
4087 (grub_diskfilter_make_raid): New proto.
4088 (grub_diskfilter_vg_register): Likewise.
4089 (grub_diskfilter_read_node): Likewise.
4090 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4091 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4092 (grub_util_is_ldm): Likewise.
4093 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4094 (grub_hostdisk_find_partition_start): Likewise.
4095 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4096 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4097 New definition.
4098 (grub_gpt_partition_map_iterate): New proto.
4099 * include/grub/lvm.h (grub_lvm_vg): Removed.
4100 (grub_lvm_pv): Likewise.
4101 (grub_lvm_lv): Likewise.
4102 (grub_lvm_segment): Likewise.
4103 (grub_lvm_node): Likewise.
4104 * util/getroot.c [...]
4105 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4106 (probe_abstraction): Likewise.
4107 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4108 (main): Remove dead logic.
4109
8a7f9b9c
VS
41102012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Simplify root device discover and don't fail when trying to open
4113 incorrect devices.
4114
4115 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4116 function.
4117 (get_diskname_from_path): Likewise.
4118 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4119 of iterating.
4120
30545b85
VS
41212012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4124
28ea58cf
VS
41252012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4128 pastthe end.
4129
692dabca
VS
41302012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * util/grub-install.in: Add missing \.
4133 Reported by: gentoofan
4134
f6e4ea70
VS
41352012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4138 (direct_read): Use correct compressed size.
4139 (grub_squash_read_data): Likewise.
4140
41412012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4142
4143 * docs/grub.texi (Platform limitations): New section.
4144 (Platform-specific operations): Likewise.
4145 * docs/grub-dev.texi (Porting): Likewise.
4146
76261110
VS
41472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 IEEE1275 disk write support.
4150
4151 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4152 const void *.
4153 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4154 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4155 and seek loginc to ...
4156 (grub_ofdisk_prepare): ... here.
4157 (grub_ofdisk_write): Implement.
4158
fc36d603
VS
41592012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 ARC disk write support.
4162
4163 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4164 (reopen): New argument writable. All users updated.
4165 Handle required access mode.
4166 (grub_arcdisk_write): Implement.
4167 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4168 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4169
e06c2e7a
VS
41702012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4173 (read_sblock): Don't attempt to read superblocks outside the disk size.
4174
ff447958
VS
41752012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4178 first superblock to find the second one when possible.
4179
9e88df39
VS
41802012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * util/grub-install.in: Fix an ARC bug.
4183 Print a warning if no platform-specific setup is available.
4184
bb26e4ff
VS
41852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 Use static allocation rather than scratch pointer in reed_solomon.
4188 It decreases its size significantly and avoids a variable in .text.
4189
4190 * grub-core/lib/reed_solomon.c (scratch): Removed.
4191 (chosenstat): New const or static array.
4192 (sigma): Likewise.
4193 (errpot): Likewise.
4194 (errpos): Likewise.
4195 (sy): Likewise.
4196 (mstat): Likewise.
4197 (errvals): Likewise.
4198 (eqstat): Likewise.
4199 (pol_evaluate): Replace x with log_x argument. All users updated.
4200 (syndroms): Removed.
4201 (gauss_solve): Use statically allocated arrays.
4202 (rs_recover): Likewise.
4203 Calculate syndroms directly.
4204 (decode_block): Use statically allocated arrays.
4205 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4206 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4207
2e13ede5
VS
42082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 Eliminate fixed limit on reed solomon decoder length.
4211
4212 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4213 rather than hardcoding the address.
4214 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4215 no_reed_solomon_length.
4216 Move gate_a20 to no-reed-solomon part.
4217 Don't force a particular size of no reed-solomon part.
4218 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4219 Removed.
4220 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4221 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4222
f8a9ab12
VS
42232012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/commands/wildcard.c (match_files): Handle filenames
4226 without explicit device.
4227 (wildcard_expand): Don't add explicit device if not already present.
4228 * tests/grub_script_echo1.in: Add a new expansion test.
4229
87edb894
VS
42302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Replace single-linked with double-linked lists. It results in more
4233 compact and more efficient code.
4234
4235 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4236 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4237 (grub_list_remove): Moved from here ...
4238 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4239 (grub_prio_list_insert): Set prev.
4240 * include/grub/list.h (grub_list): Add prev. All users updated.
4241
48b391e9
VS
42422012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 Handle newer autotools. Add some missing quotes while on it.
4245
4246 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4247 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4248 (pkgdata_DATA): ... here.
4249 * Makefile.util.def (update-grub_lib): Removed.
4250 * conf/Makefile.common (pkglib_DATA): Removed.
4251 (pkglib_SCRIPTS): Likewise.
4252 (pkgdata_DATA): New variable.
4253 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4254 needed.
4255 Add missing quotes.
4256 Remove unused variable while on it.
4257 * tests/util/grub-shell.in: Likewise.
4258 * util/grub-install.in: Likewise.
4259 * util/grub-mkconfig.in: Likewise.
4260 * util/grub-mknetdir.in: Likewise.
4261 * util/grub-mkrescue.in: Likewise.
4262 * util/grub-mkstandalone.in: Likewise.
4263 * util/grub.d/00_header.in: Likewise.
4264 * util/grub.d/10_hurd.in: Likewise.
4265 * util/grub.d/10_illumos.in: Likewise.
4266 * util/grub.d/10_kfreebsd.in: Likewise.
4267 * util/grub.d/10_linux.in: Likewise.
4268 * util/grub.d/10_netbsd.in: Likewise.
4269 * util/grub.d/10_windows.in: Likewise.
4270 * util/grub.d/20_linux_xen.in: Likewise.
4271 * util/grub.d/30_os-prober.in: Likewise.
4272 * util/update-grub_lib.in: Removed.
4273
42742012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4275
4276 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4277 a workaround for intel problem.
4278
66832792
PRP
42792012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
42802012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
42812012-01-23 pfsmorigo
4282
4283 * util/grub-install.in: Support dd'in into PreP partition.
4284 * util/grub-probe.c (probe): Support discovering partition type.
4285 (main): Support -t msdos_parttype.
4286
7816a17e
VS
42872012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4290 infinite recursion using counter.
4291 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4292 init to skip it if the magic check fails.
4293 (dec_stream_header): Init s->crc32.
4294
8f9d3a8c
ZB
42952012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
42962012-01-22 Zachary Bedell <pendorbound@gmail.com>
42972012-01-22 Richard Laager <rlaager@wiktel.com>
4298
4299 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4300 All users updated.
4301 (find_bestub): Determine correct size.
4302 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4303 (scan_disk): Align the size down.
4304 Call check pool before find_bestub to have ashift.
4305
b055dd32
VS
43062012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4309 dprintf in no-malloc zone.
4310
d779e9bd
ML
43112012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4312
4313 * configure.ac: Add back in test for limits.h.
4314
b508af69
VS
43152012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Support 4K-sector NTFS.
4318
4319 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4320 (grub_ntfs_data): Remove blocksize.
4321 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4322 Remove data argument. All users updated.
4323
dad9c8b5
VS
43242012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4327 being in .text to avoid dprel references.
4328 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4329 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4330 (grub_arch_highmemsize): Likewise.
4331 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4332 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4333 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4334
d43a777e
VS
43352012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4338
4339 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4340 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4341
34e4208f
VS
43422012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4345 GRUB_UTIL.
4346 (grub_set_datetime_cmos): Likewise.
4347
3ec0fc1c
VS
43482012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 Make XZ compression parameters dependent on target and not host CPU.
4351
4352 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4353 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4354
22489834
VS
43552012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4358 set but not used variable.
4359
8502fbca
VS
43602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4363 created when no uuid support is compiled into mkfs.reiser.
4364
76df2068
VS
43652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4368 (utf8_to_macroman): Do the opposite.
4369 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4370
64e3f8f6
VS
43712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * configure.ac: Refise build qemu_mips w/o unifont.
4374
9c271078
VS
43752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Eliminate grub_min/grub_max prone to overflow usage.
4378
4379 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4380 (poll_nonroot_hub): Likewise.
4381 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4382 (grub_affs_label): Likewise.
4383 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4384 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4385 (grub_hfs_label): Likewise.
4386 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4387 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4388 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4389 (zap_leaf_array_get): Likewise.
4390 (dnode_get_path): Likewise.
4391 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4392 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4393 * grub-core/script/execute.c (grub_script_break): Likewise.
4394 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4395 grub_max.
4396 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4397 * include/grub/misc.h (grub_min): Removed.
4398 (grub_max): Likewise.
4399
80662dbc
VS
44002012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4401
4402 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4403 direct.inode = 0.
4404
e6da1467
VS
44052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4408
b1ac4cb1
VS
44092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4412
b4bf7c3b
VS
44132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4416 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4417
8ee1101a
VS
44182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4421 rather than a hack for grub_strncasemap.
4422
44232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Support multiple initrds
4426 Note: part of this was accidently committed in r3739.
4427
4428 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4429 initrd.
4430 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4431 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4432 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4433 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4434 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4435
4d1e2bc9
VS
44362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4439 disks with unknown size.
4440 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4441
75b49ebe
VS
44422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Remove defines pertaining to arbitrary limits not affecting GRUB
4445 anymore.
4446
4447 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4448 (EXT2_MAX_SYMLINKCNT): Likewise.
4449 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4450 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4451 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4452 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4453 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4454 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4455 (DN_MAX_OBJECT_SHIFT): Likewise.
4456 (DN_MAX_OFFSET_SHIFT): Likewise.
4457 (DN_MAX_OBJECT): Likewise.
4458 (DNODES_PER_LEVEL_SHIFT): Likewise.
4459 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4460 (SPA_MAXBLOCKSIZE): Likewise.
4461 (SPA_BLOCKSIZES): Likewise.
4462 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4463 (MZAP_MAX_BLKSZ): Likewise.
4464
74a1dce7
VS
44652012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4468 handle NULL appropriately.
4469 Remove MIN.
4470
30c7d3ce
VS
44712012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 Fix efiemu.
4474
4475 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4476 cpu/types.h.
4477 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4478 * configure.ac: Fix efiemu check.
4479
3c76ea0c
VS
44802012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4483 grub_probe.
4484 Reported by: adamwill
4485
7e532280
SG
44862012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4487
4488 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4489
30492374
VS
44902012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 Fix handling of wide characters in gfxterm.
4493
4494 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4495 (clear_char): Likewise.
4496 (paint_char): Skip code == NULL chars.
4497 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4498
e70cb72f
VS
44992012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * grub-core/normal/charset.c: Move comment to right place.
4502
5c827cf9
VS
45032012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4506 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4507 (grub_affs_mount): Revert the correct version checking.
4508
53603892
VS
45092012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * docs/grub.texi (Unicode): Mention several other unsupported features.
4512
ff094b9b
VS
45132011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4516 case statements as compile-time one.
4517 (direct_read): Prevent spurious warnings.
4518 (grub_squash_read_data): Likewise.
4519
c029da8a
VS
45202011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 Various squash4 fixes and LZO and XZ support.
4523
4524 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4525 Add xzembed source files.
4526 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4527 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4528 (grub_squash_inode): New subtype long_dir.
4529 (SQUASH_TYPE_LONG_DIR): New inode type.
4530 (COMPRESSION): New enum.
4531 (XZBUFSIZ): New const.
4532 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4533 (read_chunk): Use data->decompress.
4534 (zlib_decompress): New function.
4535 (lzo_decompress): Likewise.
4536 (xz_decompress): Likewise.
4537 (squash_mount): Set new data fields.
4538 (grub_squash_iterate_dir): Handle long dir.
4539 (squash_unmount): Free xzdec and xzbuf.
4540 (grub_squash_open): Check ino type.
4541 (direct_read): Stylistic fixes. Use data->decompress.
4542 (grub_squash_read_data): Likewise.
4543 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4544 (get_byte): Likewise.
4545 (grub_zlib_disk_read): Removed.
4546 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4547 (GRUB_POSIX_BOOL_DEFINED): New define.
4548 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4549 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4550 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4551 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4552
7a45a539
VS
45532011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 Don't override more informative errors.
4556
4557 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4558 * grub-core/font/font.c (open_section): Likewise.
4559 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4560 filename. Don't override errors.
4561 (grub_cmd_openbsd_ramdisk): Don't override errors.
4562 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4563 (grub_cmd_initrd): Likewise.
4564 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4565 (grub_cmd_initrd): Likewise.
4566 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4567 (grub_cmd_linux): Likewise.
4568 (grub_cmd_initrd): Likewise.
4569 (grub_cmd_payload): Likewise.
4570 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4571 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4572 (grub_cmd_module): Likewise.
4573 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4574 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4575 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4576 (grub_cmd_xnu_mkext): Likewise.
4577 (grub_cmd_xnu_ramdisk): Likewise.
4578 (grub_xnu_check_os_bundle_required): Likewise.
4579 (grub_xnu_load_kext_from_dir): Likewise.
4580 (grub_cmd_xnu_kextdir): Likewise.
4581 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4582
b2d004db
VS
45832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4586 as 1024 in block size field. Found on one of my test images.
4587 Small optimisation while on it.
4588
ec000eac
VS
45892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4592 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4593 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4594 performance fixes while on it.
4595 (grub_sfs_close): Fix memory leak while on it.
4596 (grub_sfs_label): Convert Latin1 to UTF-8.
4597
f50e1165
VS
45982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4601 space to avoid overflows.
4602 (grub_hfs_label): Convert from macroman to UTF-8.
4603
2ae254de
VS
46042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4607
0108f491
VS
46082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4611
f45f5f89
VS
46122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * unicode: Import Unicode 6.0 data.
4615
4d8c4765
VS
46162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4617
63fa8ef9
VS
4618 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4619 outside of range.
4620
46212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4624
4625 * include/grub/charset.h (grub_getend): New function.
4626 * grub-core/script/function.c (grub_script_function_find): Use
4627 grub_getend.
4628 * grub-core/normal/completion.c (add_completion): Likewise.
4629
f3cb4a4e
VS
46302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4633 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4634 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4635 (GRUB_UNICODE_TAG_END): Likewise.
4636 (GRUB_UNICODE_LAST_VALID): Likewise.
4637
5da8dbc5
VS
46382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4641 len and make it smaller. All users updated.
4642 * util/import_unicode.py: Put length and not end character.
4643 Check length.
4644
8569f13d
VS
46452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Make better Unicode-compliant and unify some UTF-8 code pathes.
4648
4649 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4650 valid character.
4651 (grub_is_valid_utf8): Use grub_utf8_process.
4652 Check resulting code range.
4653 (grub_utf8_to_ucs4): Use grub_utf8_process.
4654 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4655 valid character.
4656
cc4fddf5
VS
46572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4660
bbc47747
VS
46612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * docs/grub.texi (Filesystems): Mention AFS.
4664
f63d6bf4
VS
46652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * docs/grub.texi (Filesystems): Clarify restrictions.
4668 (Regexp): Mention non-Unicode regexp behaviour.
4669 (Other): Mention non-Unicode matching behaviour.
4670
74bbf0db
VS
46712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4672
f63d6bf4 4673 Make HFS implementation use MacRoman.
74bbf0db
VS
4674
4675 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4676 (macroman): New const array.
4677 (macroman_to_utf8): New function.
4678 (utf8_to_macroman): Likewise.
4679 (grub_hfs_find_dir): Use utf8_to_macroman.
4680 (grub_hfs_dir): Use macroman_to_utf8.
4681 Set case_insensitive.
4682
4ea0316e
VS
46832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4686
d3c13cbd
VS
46872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 Integrate hints into autogeneration scripts.
4690
4691 * docs/grub.texi (Filesystems): Add a hostdisk example.
4692 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4693 (grub-probe): Add ofpath.
4694 * gentpl.py: Remove group nosparc64.
4695 * grub-core/commands/search.c (cache_entry): New struct.
4696 (cache): New var.
4697 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4698 * grub-core/commands/search_wrap.c (options): Add platform-specific
4699 hint options.
4700 (grub_cmd_search): Handle platform-specific hints.
4701 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4702 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4703 (grub_util_biosdisk_data): Likewise.
4704 (grub_util_biosdisk_open): Set device_map.
4705 (read_device_map): Handle "" as indication of no map.
4706 Set device_map.
4707 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4708 (grub_util_biosdisk_get_compatibility_hint): New function.
4709 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4710 * include/grub/emu/hostdisk.h
4711 (grub_util_biosdisk_get_compatibility_hint): New proto.
4712 * util/grub-install.in: Don't call grub-mkdevicemap.
4713 Add platform-specific hint to load.cfg.
4714 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4715 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4716 hints. Set root preliminary to compatibility hint, not to OS name.
4717 * util/grub-probe.c (PRINT_*): Add hints.
4718 (print): Make static.
4719 (escape_of_path): New function.
4720 (guess_bios_drive): Likewise.
4721 (guess_efi_drive): Likewise.
4722 (guess_baremetal_drive): Likewise.
4723 (print_full_name): Likewise.
4724 (probe): Handle hints.
4725 (main): Likewise.
4726 * util/ieee1275/devicemap.c: Removed.
4727 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4728 updated.
4729 (grub_util_devname_to_ofpath): Return NULL on failure.
4730
4731 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4732 resource leak.
4733 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4734
4735 * po/POTFILES.in: Regenerated.
4736
4737 Allow purely long options
4738
4739 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4740 (SHORT_ARG_USAGE): Likewise.
4741 (grub_arg_show_help): Compare opt with help_options.
4742 (parse_option): Receive opt as argument. If makes big simplificatons.
4743 All users updated
4744
00ce2df3
VS
47452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4748 Restructure to avoid warning.
4749
e77e325f
VS
47502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-install.in: Account for possible escaped comma in device
4753 name.
4754
165099ea
VS
47552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4758 channel.
4759
ce4a999d
VS
47602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4763 allocation and zero-setting.
4764 (grub_ieee1275_get_devname): Check that alias is complete.
4765
379586ad
VS
47662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4769 unaligned segments.
4770
9197b0ad
VS
47712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4774 prefix.
4775 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4776 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4777 Add ieee1275 prefix.
4778
edddb7f9
VS
47792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * docs/grub.texi (Filesystems): Update.
4782
a1a8b1b9
VS
47832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 Support odc, newc and bigendian cpio formats.
4786
4787 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4788 * grub-core/Makefile.core.def (newc): New module.
4789 (odc): Likewise.
4790 (cpio_be): Likewise.
4791 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4792 (MAGIC): Likewise.
4793 (MAGIC2): Likewise.
4794 (head) [MODE_ODC]: Adapt for the format.
4795 (head) [MODE_NEWC]: Likewise.
4796 (head) [!MODE_*]: Write fields of interest as arrays.
4797 (MAGIC_USTAR): Removed.
4798 (read_number) [MODE_NEWC]: Change to hex.
4799 (read_number) [!MODE_*]: Parse binary arrays.
4800 (grub_cpio_find_file): Factor out the code for better structure and
4801 always use read_number.
4802 (grub_cpio_mount): Use MAGIC and MAGIC2.
4803 (grub_cpio_dir): Exit on first hook non-0 return.
4804 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4805 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4806 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4807 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4808 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4809 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4810 * grub-core/fs/newc.c: New file.
4811 * grub-core/fs/odc.c: Likewise.
4812 * grub-core/fs/cpio_be.c: Likewise.
4813
58eba9ee
VS
48142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 Fix handling of tar numbers occupying the whole field.
4817
4818 * grub-core/fs/cpio.c (read_number): New function.
4819 (grub_cpio_find_file): Use read_number instead of strtoull.
4820
a54a0e12
VS
48212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4824 occupying the whole field size.
4825
a6120aca
LA
48262011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4827
4828 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4829
a93964ce
VS
48302011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4833
3ea1ca46
SG
48342011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4835
4836 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4837 TARGET_IMG_LDFLAGS.
4838
b87f7ef2
VS
48392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4842 (mountinfo_entry): Increase the field size to take escaping into
4843 account.
4844 (find_root_device_from_libzfs): Add one byte to size of strings for
4845 security.
4846
62092395
VS
48472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4850 an assert.
4851 * util/grub-setup.c (setup): Likewise.
4852
1f0b1a77
VS
48532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4856 _LzmaDecodeA.
4857
8eba9997
VS
48582011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * docs/grub.texi (Internationalisation): New section.
4861
dd0c91e9
VS
48622011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * docs/grub.texi (Loopback booting): New section.
4865
48662011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4867
4868 * util/grub-mkstandalone.in: Fix minor typo errors.
4869
198e150a
VS
48702011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4873
4874 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4875 net/icmp.c and net/icmp6.c.
4876 (http): New module.
4877 (priority_queue): Likewise.
4878 * grub-core/io/bufio.c: Rewritten.
4879 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4880 TYPE_WITH_CONFIGFILE_OPTION.
4881 (legacy_commands): Add bootp and dhcp.
4882 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4883 (grub_legacy_parse): Likewise.
4884 * grub-core/lib/priority_queue.c: New file.
4885 * grub-core/net/arp.c: Add missing license header.
4886 (arp_find_entry): Removed.
4887 (arp_find_entry): Likewise.
4888 (grub_net_arp_resolve): Rename to ...
4889 (grub_net_arp_send_request): ...this.
4890 (grub_net_arp_receive): New card argument.
4891 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4892 Set router and DNS server.
4893 (grub_net_configure_by_dhcp_ack): Handle routing information.
4894 (grub_cmd_bootp): Set checksum.
4895 (grub_bootp_init): Remove net_dhcp.
4896 * grub-core/net/dns.c: New file.
4897 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4898 completion.
4899 (get_card_packet): Handle allocation.
4900 (grub_efinet_findcards): Set mtu.
4901 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4902 (get_card_packet): Handle allocation.
4903 (emucard): Set mtu.
4904 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4905 (GRUB_MOD_INIT): Set mtu.
4906 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4907 mtu.
4908 (get_card_packet): Handle allocation.
4909 (grub_ofnet_findcards): Set mtu.
4910 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4911 assert.
4912 (grub_net_recv_ethernet_packet): Handle IPv6.
4913 * grub-core/net/http.c: New file.
4914 * grub-core/net/icmp.c: Likewise.
4915 * grub-core/net/icmp6.c: Likewise.
4916 * grub-core/net/ip.c (ip6addr): New type.
4917 (ip6hdr): Likewise.
4918 (reassemble): Likewise.
4919 (cmp): New function.
4920 (reassembles): New variable.
4921 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4922 (id): New variable.
4923 (send_fragmented): New function.
4924 (grub_net_send_ip_packet): Rename to ...
4925 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4926 Handle non-UDP.
4927 (grub_net_recv_ip_packets): Rename to ...
4928 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4929 (free_rsm): New function.
4930 (free_old_fragments): Likewise.
4931 (grub_net_recv_ip4_packets): New function.
4932 (grub_net_send_ip6_packet): Likewise.
4933 (grub_net_send_ip_packet): Likewise.
4934 (grub_net_recv_ip6_packets): Likewise.
4935 (grub_net_recv_ip_packets): Likewise.
4936 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4937 (LINK_LAYER_CACHE_SIZE): New const.
4938 (link_layer_find_entry): New function.
4939 (grub_net_link_layer_add_address): Likewise.
4940 (grub_net_link_layer_resolve_check): Likewise.
4941 (grub_net_link_layer_resolve): Likewise.
4942 (grub_net_ipv6_get_slaac): Likewise.
4943 (grub_net_ipv6_get_link_local): Likewise.
4944 (grub_cmd_ipv6_autoconf): Likewise.
4945 (parse_ip): Handle one number representation.
4946 (parse_ip6): New functoion.
4947 (match_net): Handle IPv6.
4948 (grub_net_resolve_address): Handle IPv6 and DNS.
4949 (grub_net_resolve_net_address): Handle IPv6.
4950 (route_cmp): New function.
4951 (grub_net_route_address): Find best route.
4952 (grub_net_addr_to_str): Handle IPv6.
4953 (grub_net_addr_cmp): New function.
4954 (grub_net_add_addr): Register local route.
4955 (print_net_address): Handle net address.
4956 (grub_net_poll_cards): Retransmit TCP.
4957 (grub_net_poll_cards_idle_real): Likewise.
4958 (have_ahead): New function.
4959 (grub_net_seek_real): Use underlying seek.
4960 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4961 * grub-core/net/tcp.c: New file.
4962 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4963 (cmp): New function.
4964 (ack): Likewise.
4965 (tftp_receive): Handle unordered input.
4966 (destroy_pq): New function.
4967 (tftp_close): Close pq.
4968 * grub-core/net/udp.c: Put missing license header.
4969 (grub_net_udp_socket): New function.
4970 (udp_socket_register): Likewise.
4971 (grub_net_udp_close): Likewise.
4972 (grub_net_recv_udp_packet): Check checksum.
4973 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4974 * include/grub/misc.h (grub_memchr): New function.
4975 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4976 (grub_net_card_driver): Return buf in recv.
4977 (grub_net_slaac_mac_list): New struct.
4978 (grub_network_level_protocol_id): Add ipv6.
4979 (grub_net_network_level_addr): Likewise.
4980 (grub_net_network_level_net_addr): Likewise.
4981 (grub_net_app_protocol): Add seek.
4982 (grub_net_socket): Removed.
4983 (grub_net_sockets): Likewise.
4984 (grub_net_socket_register): Likewise.
4985 (grub_net_socket_unregister): Likewise.
4986 (FOR_NET_SOCKETS): Likewise.
4987 (grub_net_add_addr): Add const.
4988 (GRUB_NET_BOOTP_*): New enum.
4989 (grub_net_addr_cmp): New proto.
4990 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4991 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4992 (grub_net_hwaddr_to_str): NEw proto.
4993 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4994 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4995 (grub_dns_init): New proto.
4996 (grub_dns_fini): Likewise.
4997 (grub_net_tcp_retransmit): Likewise.
4998 (grub_net_link_layer_add_address): Likewise.
4999 (grub_net_link_layer_resolve_check): Likewise.
5000 (grub_net_link_layer_resolve): Likewise.
5001 (grub_net_dns_lookup): Likewise.
5002 (grub_net_add_dns_server): Likewise.
5003 (grub_net_remove_dns_server): Likewise.
5004 (GRUB_NET_TRIES): New const.
5005 (GRUB_NET_INTERVAL): Likewise.
5006 * include/grub/net/arp.h: Mostly rewritten.
5007 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5008 * include/grub/net/ip.h: Mostly rewritten.
5009 * include/grub/net/netbuff.h: Indent.
5010 * include/grub/net/tcp.h: New file.
5011 * include/grub/net/udp.h: Mostly rewritten.
5012 * include/grub/priority_queue.h: New file.
5013 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5014 (grub_swap_bytes64_compile_time): Likewise.
5015 (grub_cpu_to_be16_compile_time): Likewise.
5016 (grub_cpu_to_be32_compile_time): Likewise.
5017 (grub_cpu_to_be64_compile_time): Likewise.
5018 (grub_be_to_cpu64_compile_time): Likewise.
5019
215c1800
VS
50202011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5023 UINT_TO_PTR with cast.
5024
c17e546c
VS
50252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5028 don't use them.
5029
ff6b18b6
VS
50302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5033 already there.
5034
70ffcc93
VS
50352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5038 confusing ipxe.
5039
e5f4d260
VS
50402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5043 Add missing const attribute.
5044 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5045 Likewise.
5046 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5047 Likewise.
5048
8e54b4b7
VS
50492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5052 misaligned access.
5053 (serpent_setkey): Likewise.
5054 (serpent_encrypt_internal): Likewise.
5055 (serpent_decrypt_internal): Likewise.
5056 (serpent_encrypt): Don't put an alignment-increasing cast.
5057 (serpent_decrypt): Likewise.
5058 (serpent_test): Likewise.
5059
813c0a2b
VS
50602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5063
f2b60fbd
VS
50642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5067
5068 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5069 grub_addr_t casts.
5070 (PTR_TO_UINT64): Likewise.
5071 (PTR_TO_UINT32): Likewise.
5072
5ef5c511
VS
50732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5076 because of stack.
5077 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5078 limit.
5079
c476e6df
VS
50802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5083 text_width > available width a bit more gracefully.
5084
384ad7cc
VS
50852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5088 current address calculation.
5089
96f8caf8
VS
50902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5093 stack.
5094 (encode_block): Likewise.
5095
276b7a8b
VS
50962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5099 certainety.
5100
e3fd394a
VS
51012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5104 non-RS part to avoid RS messing with GDT.
5105 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5106 Increase to suit in realmode routines.
5107
51082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/kern/i386/realmode.S: Increase alignment.
5111 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5112
ee9c2e7a
VS
51132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5116 be deterministic.
5117 (syndroms): Compute 0 syndrom.
5118 (rs_recover): Use 0 syndrom.
5119
7a7f7cc9
VS
51202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5123
a14b16d1
VS
51242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5127 brackets.
5128
9f59e9fc
VS
51292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5130
ca1b552c
VS
5131 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5132 account.
5133 (get_top_pad): Likewise.
5134 (get_right_pad): Likewise.
5135 (get_bottom_pad): Likewise.
5136
51372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5140
e739d698
VS
51412011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5144 attribute as the structure isn't guaranteed to be properly aligned.
5145 (grub_efi_pci_device_path): Likewise.
5146 (grub_efi_pccard_device_path): Likewise.
5147 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5148 specify the size of `memory_type'.
5149 (grub_efi_vendor_device_path): Likewise.
5150 (grub_efi_controller_device_path): Likewise.
5151 (grub_efi_acpi_device_path): Likewise.
5152 (grub_efi_expanded_acpi_device_path): Likewise.
5153 (grub_efi_atapi_device_path): Likewise.
5154 (grub_efi_scsi_device_path): Likewise.
5155 (grub_efi_fibre_channel_device_path): Likewise.
5156 (grub_efi_1394_device_path): Likewise.
5157 (grub_efi_usb_device_path): Likewise.
5158 (grub_efi_usb_class_device_path): Likewise.
5159 (grub_efi_i2o_device_path): Likewise.
5160 (grub_efi_mac_address_device_path): Likewise.
5161 (grub_efi_ipv4_device_path): Likewise.
5162 (grub_efi_ipv6_device_path): Likewise.
5163 (grub_efi_infiniband_device_path): Likewise.
5164 (grub_efi_uart_device_path): Likewise.
5165 (grub_efi_vendor_messaging_device_path): Likewise.
5166 (grub_efi_hard_drive_device_path): Likewise.
5167 (grub_efi_cdrom_device_path): Likewise.
5168 (grub_efi_vendor_media_device_path): Likewise.
5169 (grub_efi_file_path_device_path): Likewise.
5170 (grub_efi_protocol_device_path): Likewise.
5171 (grub_efi_piwg_device_path): Likewise.
5172 (grub_efi_bios_device_path): Likewise.
5173
cb8f88ea
VS
51742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5177 (grub_ucs4_to_utf8_alloc): Likewise.
5178 (grub_ucs4_to_utf8): Likewise.
5179 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5180 (grub_ucs4_to_utf8_alloc): Likewise.
5181
309e5352
VS
51822011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 AFFS never uses unicode.
5185
5186 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5187 (grub_latin1_to_utf8): New inline function.
5188 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5189
e7987e1b
VS
51902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5193 overflow.
5194
efc2616e
VS
51952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5198 (grub_squash_dirent_header): Likewise.
5199 (read_chunk): Don't double swap.
5200 (grub_squash_iterate_dir): Fix swap sizes.
5201
3c349f5a
VS
52022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5205
b453412d
VS
52062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5209 (grub_hfs_iterate_dir): Likewise.
5210
12e9d4d1
VS
52112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Fix video on platforms where unaligned access is forbidden.
5214 Make several optimisations while on it.
5215
5216 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5217 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5218 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5219 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5220 Disable.
5221 (grub_video_fbblit_replace_16bit_1bit):
5222 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5223 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5224 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5225 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5226 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5227 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5228 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5229 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5230 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5231 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5232 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5233 (grub_video_fbblit_replace_index_RGB888): Likewise.
5234 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5235 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5236 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5237 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5238 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5239 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5240 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5241 Disable.
5242 (grub_video_fbblit_blend_XXX565_1bit):
5243 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5244 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5245 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5246 void *.
5247 * grub-core/video/fb/video_fb.c (common_blitter)
5248 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5249 (grub_video_fb_create_render_target_from_pointer)
5250 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5251 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5252 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5253 definition.
5254 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5255
ace96609
VS
52562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5259 HH22 and HM10 relocations.
5260
fd261d73
VS
52612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5264
e59b7857
VS
52652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5268 allocation succeeded.
5269
9b4baaa4
VS
52702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5273 argument a u8 pointer. All users updated.
5274 Handle unaligned buffers.
5275
dc713193
VS
52762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5279 add_part to workaround compiler bug.
5280
30dd48c2
VS
52812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5284
0c6087a8
VS
52852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5288 Reserve alignment invariants.
5289 (grub_multiboot_load): Likewise.
5290 (retrieve_video_parameters): Likewise.
5291 (grub_multiboot_make_mbi): Likewise.
5292
c2e77777
VS
52932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5296 incorrect pointer.
5297
b70b6d11
VS
52982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5301 (grub_pata_pio_write): Likewise.
5302
02a2bf83
VS
53032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Add noreturn attributes and remove unreachable code.
5306
5307 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5308 code.
5309 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5310 code. Mark as noreturn.
5311 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5312 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5313 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5314 unreachable code.
5315 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5316 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5317 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5318 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5319 * include/grub/kernel.h (grub_main): Mark as noreturn.
5320 * include/grub/reader.h (grub_rescue_run): Likewise.
5321
2019d09e
VS
53222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5325 redundant declaration.
5326
d1c501ee
VS
53272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5330 redundant declaration.
5331 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5332
61664420
VS
53332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5336 to ensure alignment.
5337 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5338 alignment. Ensure tmp alignment.
5339 (grub_cmd_hdparm): Ensure buf alignment.
5340 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5341 to ensure alignment.
5342 (grub_ata_dumpinfo): Ensure text alignment.
5343 (grub_atapi_identify): Preserve alignment invariant.
5344 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5345
0d51ee20
VS
53462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5349 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5350 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5351 * include/grub/misc.h (grub_reboot)
5352 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5353 (grub_halt) [__mips__]: Likewise.
5354
753ef8c1
VS
53552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5358 Remove redundant declaration.
5359 (grub_mmap_get_post64): Likewise.
5360 (grub_mmap_get_upper): Likewise.
5361 (grub_mmap_get_lower): Likewise.
5362
85c85365
VS
53632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5366 uint32_t * to ensure alignment.
5367 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5368
a23f2cc4
VS
53692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5370
93018f64
VS
5371 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5372 uint16_t * to ensure alignment.
5373 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5374 alignment.
5375
53762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5379 to ensure alignment.
5380 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5381
58acccd6
VS
53822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5385 Handle unaligned pointers.
5386 (u32at): Likewise.
5387 (u64at): Likewise.
5388 (fixup): Use byte access instead of v16at.
5389 (find_attr): Fix imporper usage of v32at.
5390 (read_data): Likewise.
5391 (list_file): Handle byte-swapping and unaligned strings.
5392 (grub_ntfs_label): Likewise.
5393
9b05cad7
VS
53942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5397 as it's not necessarily aligned.
5398
b3950b84
VS
53992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5402 redundant declaration.
5403 (grub_serial_init): Likewise.
5404 (grub_terminfo_init): Likewise.
5405
fcd232b7
VS
54062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5409 function.
5410 (ZAP_HASH_IDX): Likewise.
5411 (ZAP_LEAF_HASH_SHIFT): Likewise.
5412 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5413 (LEAF_HASH): Likewise.
5414 (ZAP_LEAF_NUMCHUNKS): Likewise.
5415 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5416 alignment invariants. Return pointer. All users updated.
5417 (ZAP_LEAF_ENTRY): Make into inline function.
5418 (NBBY): Removed.
5419 (xor): LIkewise.
5420 (xor_out): Use grub_crypto_xor.
5421 (dnode_get_path): Use grub_get_unaligned.
5422 (nvlist_find_value): Likewise.
5423 (grub_zfs_nvlist_lookup_uint64): Likewise.
5424 (grub_zfs_nvlist_lookup_string): Likewise.
5425 (get_nvlist_size): Likewise.
5426 (grub_zfs_open): Likewise.
5427 (fill_fs_info): Likewise.
5428 (grub_zfs_dir): Likewise.
5429 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5430 alignment invariants.
5431 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5432 necessarily aligned.
5433
f138623a
VS
54342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5437
564840dc
VS
54382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5441 arithmetic to conserve alignment invariants.
5442
9b40df20
VS
54432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5446 redundant declaration.
5447 (grub_efiemu_mm_obtain_request): Likewise.
5448 (grub_efiemu_prepare): Likewise.
5449
d1c930f9
VS
54502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5453 to match types.
5454
4c5f3056
VS
54552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5458 case of aunaligned recptr.
5459 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5460 alignment.
5461 (grub_hfsplus_btree_search): Handle unaligned index.
5462
728cba91
VS
54632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5466 to get freetag and skip.
5467
eb561f31
VS
54682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5471 array.
5472 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5473 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5474
20993fbb
VS
54752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5478 name for checksum and fix allocation algorithm.
5479
1f313b94
VS
54802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * include/grub/types.h (grub_properly_aligned_t): New type.
5483 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5484 (grub_get_unaligned16): Add explicit casts.
5485 (grub_get_unaligned32): Likewise.
5486 (grub_get_unaligned64): Likewise.
5487 (grub_set_unaligned16): New function.
5488 (grub_set_unaligned32): Likewise.
5489
47ae27ec
VS
54902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5493
78c2cd1c
VS
54942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5497 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5498 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5499
53072f9b
VS
55002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5503 conditionals.
5504
055dc239
VS
55052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5508 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5509
496bd074
VS
55102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Unify and improve RAID and crypto xor.
5513
5514 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5515 changed to grub_crypto_xor
5516 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5517 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5518 Use bigger types when possible.
5519
ef6e4335
VS
55202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/disk/raid.c (scan_devices): Fix condition.
5523
5d048bf2
VS
55242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5527 Make name a const ptr.
5528
ee533335
VS
55292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5532 first argument a const pointer.
5533 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5534 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5535 proto.
5536 (grub_children_iterate): Likewise.
5537 (grub_machine_mmap_iterate): Remove redundant declaration.
5538
cc8f3668
VS
55392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5542 (grub_cmd_acpi) [!x86]: Disable EBDA.
5543
c5fc563a
VS
55442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Enable UTF8 in gnulib regexp.
5547
5548 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5549 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5550 (isupper): Use grub_isupper.
5551 (isascii): New inline function.
5552 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5553 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5554 * grub-core/normal/charset.c (grub_utf8_process): New function.
5555 (grub_utf8_to_utf16): Use grub_utf8_process.
5556 (grub_encode_utf8_character): New function.
5557 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5558 * include/grub/charset.h (grub_utf8_process): New declaration.
5559 (grub_encode_utf8_character): Likewise.
5560 * include/grub/misc.h (grub_islower): New inline function.
5561 (grub_isupper): Likewise.
5562 (grub_strchrsub): Moved down to fix the definitions.
5563
0af2346f
VS
55642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5567 specification.
5568
74dbd244
VS
55692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * include/grub/loader.h (grub_loader_register_preboot_hook):
5572 Use struct preboot * and not void * for handle. All users updated.
5573 (grub_loader_unregister_preboot_hook): Likewise.
5574
1bc8f60d
VS
55752011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5578 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5579 UTF-16-BE. All users updated.
5580 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5581 (grub_hfsplus_iterate_dir): Likewise.
5582 (grub_hfsplus_label): Likewise.
5583
48d6e456
VS
55842011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5587
bf3a3857
VS
55882011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Add missing const qualifiers.
5591
5592 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5593 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5594 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5595 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5596 (grub_lvm_check_flag): Likewise.
5597 * grub-core/efiemu/i386/coredetect.c
5598 (grub_efiemu_get_default_core_name): Likewise
5599 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5600 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5601 * grub-core/fs/ntfs.c (fixup): Likewise.
5602 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5603 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5604 (fzap_lookup): Likewise.
5605 (zap_lookup): Likewise.
5606 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5607 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5608 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5609 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5610 (grub_freebsd_add_meta_module): Likewise.
5611 (grub_cmd_freebsd_module): Likewise.
5612 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5613 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5614 (grub_xnu_writetree_get_size): Likewise.
5615 (grub_xnu_writetree_toheap_real): Likewise.
5616 (grub_xnu_find_key): Likewise.
5617 (grub_xnu_create_key): Likewise.
5618 (grub_xnu_create_value): Likewise.
5619 (grub_xnu_register_memory): Likewise.
5620 (grub_xnu_check_os_bundle_required): Likewise.
5621 (grub_xnu_scan_dir_for_kexts): Likewise.
5622 (grub_xnu_load_kext_from_dir): Likewise.
5623 * grub-core/normal/color.c (color_list): Likewise.
5624 * grub-core/normal/completion.c (current_word): Likewise.
5625 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5626 * grub-core/term/serial.c (grub_serial_find): Likewise.
5627 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5628 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5629 Likewise.
5630 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5631 (grub_freebsd_add_meta_module): Likewise.
5632 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5633 * include/grub/net.h (grub_net_card_driver): Likewise.
5634 (grub_net_card): Likewise.
5635 (grub_net_app_protocol): Likewise.
5636 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5637 * include/grub/serial.h (grub_serial_find): Likewise.
5638 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5639 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5640 (grub_xnu_create_value): Likewise.
5641 (grub_xnu_find_key): Likewise.
5642 (grub_xnu_scan_dir_for_kexts): Likewise.
5643 (grub_xnu_load_kext_from_dir): Likewise.
5644
5645 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5646 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5647 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5648 Moved from here ...
5649 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5650
112b4837
CW
56512011-11-28 Colin Watson <cjwatson@ubuntu.com>
5652
5653 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5654
49e891ac
VS
56552011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5658 (read_device): Fix size calculation.
5659
fd258e5c
RM
56602011-11-25 Robert Millan <rmh@gnu.org>
5661
5662 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5663 (find_root_device_from_libzfs): Add zpool output parser to be used
5664 as fallback when libzfs isn't available.
5665
78845dc2
SG
56662011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5667
5668 * po/Makefile.in.in: Add missing escape-continuation.
5669
adac5211
VS
56702011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5673
10b64f1c
VS
56742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5677
bb416954
VS
56782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5681
bdfe9eeb
VS
56822011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5685
581ffa8a
VS
56862011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/lib/adler32.c: Add missing license specification.
5689 * grub-core/lib/crc64.c: Likewise.
5690 * grub-core/loader/i386/pc/plan9.c: Likewise.
5691 * grub-core/partmap/plan.c: Likewise.
5692
2536cf64
LK
56932011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5694
5695 Add facility to debug GRUB with gdb under qemu.
5696
5697 * grub-core/gdb_grub.in: New file.
5698 * grub-core/gmodule.pl.in: Likewise.
5699 * grub-core/Makefile.core.def (gmodule.pl): New script.
5700 (gdb_grub): Likewise.
5701
bc108a4a
VS
57022011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * util/grub-mount.c (argp_parser): Accept relative pathes.
5705 * util/grub-fstest.c (argp_parser): Likewise.
5706
111c1778
VS
57072011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 Plan9 support.
5710
5711 * Makefile.util.def (libgrubmods): Add
5712 grub-core/partmap/plan.c.
5713 * docs/grub.texi: Notice Plan9 support.
5714 * grub-core/Makefile.core.def (plan9): New module.
5715 (part_plan): Likewise.
5716 * grub-core/loader/i386/pc/plan9.c: New file.
5717 * grub-core/partmap/plan.c: Likewise.
5718 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5719 define.
5720 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5721 * include/grub/mm.h (grub_extend_alloc): New inline function.
5722
c30be3b6
VS
57232011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 Make Reed-Solomon faster by using power of generator representation of
5726 GF(256)*.
5727
5728 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5729 (gf_double_t): Likewise.
5730 (gf_invert): Removed.
5731 (gf_powx): New array.
5732 (gf_powx_inv): Likewise.
5733 (scratch): Move higher.
5734 (gf_reduce): Removed.
5735 (gf_mul): Use powx.
5736 (gf_invert): Likewise.
5737 (init_inverts): Replaced with ...
5738 (init_powx): ...this. All users updated.
5739 (pol_evaluate): Replace multiplications with additions.
5740 (rs_encode): Likewise.
5741 (gauss_eliminate): Call gf_invert.
5742 (grub_reed_solomon_add_redundancy): Call init_powx.
5743 (grub_reed_solomon_recover): Call init_powx unconditionally.
5744
fa5aeffc
VS
57452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5748
a346b81c
VS
57492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5752 disk->partiton for safety.
5753
d89ee414
VS
57542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5757 Fix a memory leak.
5758 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5759
91ee7b6d
VS
57602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5763
91e5a33d
VS
57642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5767
9edd7be2
VS
57682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 Fix spaces handling in proc/self/mountinfo.
5771
5772 * util/getroot.c (unescape): New function.
5773 (grub_find_root_device_from_mountinfo): Use unescape.
5774
ba102053
VS
57752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 Support ZFS embedding.
5778
5779 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5780 (grub_zfs_fs): Register grub_zfs_embed.
5781
aa94b870
VS
57822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 Fix MIPS compilation.
5785
5786 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5787 * include/grub/offsets.h: Rename decompressor fields from
5788 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5789 * util/grub-mkimage.c (image_targets): Use new names.
5790
5fbdac14
VS
57912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 Defer multiboot device parsing until we're in compressed part.
5794
5795 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5796 bsd_part. setdevice has fallen into disuse.
5797 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5798 (bsd_part): Likewise.
5799 (boot_dev): New variable.
5800 (multiboot_trampoline): Don't parse multiboot device.
5801 Pass multiboot device in %edx.
5802 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5803 grub_boot_device.
5804 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5805 Likewise.
5806 * grub-core/kern/i386/pc/startup.S: Save edx.
5807 (grub_boot_drive): Removed.
5808 (grub_install_dos_part): Likewise.
5809 (grub_install_bsd_part): Likewise.
5810 (grub_boot_device): New variable.
5811 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5812 (grub_install_bsd_part): Likewise.
5813 (grub_boot_drive): Likewise.
5814 (grub_boot_device): New variable.
5815 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5816 Removed.
5817 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5818 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5819 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5820 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5821 * util/grub-install.in: Remove redundant condition.
5822
691cbb58
VS
58232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Fix bug introduced by previous commit.
5826
5827 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5828
60240b8b
VS
58292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Use decompressors framework on i386-pc. It increases core size
5832 by 46 bytes but improves compatibility and maintainability.
5833
5834 * grub-core/Makefile.core.def (lzma_decompress): New image.
5835 (kernel): Add i386_pc_ldflags.
5836 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5837 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5838 to real_to_prot, prot_to_real and device info.
5839 * include/grub/offsets.h: Renamed decompressor offsets.
5840 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5841 (image_target_desc): Remove raw_size and rename decompressor fields.
5842 (compress_kernel): Handle lzma.
5843 (generate_image): Handle decompressors on i386-pc.
5844
e9d3421c
VS
58452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * configure.ac: Add -fno-asynchronous-unwind-tables.
5848
2b23074a
VS
58492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Move assembly code to C by using intwrap. It increases core size
5852 by 88 bytes but improves compatibility and maintainability.
5853
5854 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5855 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5856 ... here. Translated to C.
5857 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5858 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5859 ... here. Translated to C.
5860 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5861 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5862 ... here. Translated to C.
5863 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5864 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5865 ... here. Translated to C.
5866 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5867 * grub-core/term/i386/pc/console.c (grub_console_cls):
5868 ... here. Translated to C.
5869 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5870 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5871 ... here. Translated to C.
5872 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5873 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5874 Translated to C.
5875 * grub-core/term/i386/pc/console.c (int10_9): New function.
5876 (grub_console_putchar): Likewise.
5877 * include/grub/i386/pc/console.h: Removed the not anymore shared
5878 functions.
5879
678f4b67
VS
58802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Move grub_chainloader_real_boot out of the kernel.
5883
5884 * grub-core/Makefile.am: Remove machine/loader.h.
5885 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5886 Removed.
5887 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5888 variable.
5889 (grub_relocator16_keep_a20_enabled): Likewise.
5890 (grub_relocator16_boot): Fill new variables.
5891 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5892 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5893 relocator.
5894 (grub_chainloader_unload): Likewise.
5895 (grub_chainloader_cmd): Likewise.
5896 * include/grub/i386/pc/loader.h: Removed.
5897 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5898 and esi. All initialisers updated.
5899
4626edf6
VS
59002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
59012011-11-12 Colin Watson <cjwatson@ubuntu.com>
5902
5903 * Makefile.util.def (grub-mount): New util.
5904 * .bzrignore: Add grub-mount.
5905 * configure.ac: Check for fuse and enable grub-mount if available.
5906 * docs/man/grub-mount.h2m: New file.
5907 * util/grub-mount.c: Likewise.
5908
10f0117b
VS
59092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/commands/efi/fixvideo.c: Gettextize.
5912 * grub-core/commands/hashsum.c: Likewise.
5913 * grub-core/commands/i386/cmostest.c: Likewise.
5914 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5915 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5916 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5917 * grub-core/commands/lsmmap.c: Likewise.
5918 * grub-core/commands/menuentry.c: Likewise.
5919 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5920 * grub-core/commands/setpci.c: Likewise.
5921 * grub-core/loader/i386/bsd.c: Likewise.
5922 * grub-core/loader/i386/linux.c: Likewise.
5923 * util/getroot.c: Likewise.
5924 * util/grub-editenv.c: Likewise.
5925 * util/grub-fstest.c: Likewise.
5926 * util/grub-mkfont.c: Likewise.
5927 * util/grub-mkimage.c: Likewise.
5928 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5929 * util/grub-pe2elf.c: Likewise.
5930 * util/grub-probe.c: Likewise.
5931 * util/grub-setup.c: Likewise.
5932 * util/ieee1275/ofpath.c: Likewise.
5933 * util/misc.c: Likewise.
5934 * util/raid.c: Likewise.
5935
566f779b
RM
59362011-11-11 Robert Millan <rmh@gnu.org>
5937
5938 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5939 __attribute__((unused)) from `os_dev', which *is* being used.
5940
b50787de
VS
59412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5944 forgotten define.
5945 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5946 GRUB_IA64_DL_GOT_ALIGN.
5947 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5948 GRUB_IA64_DL_TRAMP_ALIGN.
5949
119d11c8
VS
59502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 Replace grub_fatal with normal errors in i386 linux loader.
5953
5954 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5955 (allocate_pages): Check find_efi_mmap_size return value.
5956 (grub_e820_add_region): Return error.
5957 (grub_linux_boot): Check mmap return value.
5958
6e0632e2
VS
59592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/commands/acpihalt.c: Gettextized.
5962 * grub-core/commands/cacheinfo.c: Likewise.
5963 * grub-core/commands/cmp.c: Likewise.
5964 * grub-core/commands/efi/loadbios.c: Likewise.
5965 * grub-core/commands/gptsync.c: Likewise.
5966 * grub-core/commands/ieee1275/suspend.c: Likewise.
5967 * grub-core/commands/legacycfg.c: Likewise.
5968 * grub-core/commands/memrw.c: Likewise.
5969 * grub-core/commands/minicmd.c: Likewise.
5970 * grub-core/commands/parttool.c: Likewise.
5971 * grub-core/commands/time.c: Likewise.
5972 * grub-core/commands/videoinfo.c: Likewise.
5973 * grub-core/disk/geli.c: Likewise.
5974 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5975 * grub-core/disk/luks.c: Likewise.
5976 * grub-core/disk/lvm.c: Likewise.
5977 * grub-core/font/font_cmd.c: Likewise.
5978 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5979 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5980 * grub-core/gfxmenu/view.c: Likewise.
5981 * grub-core/kern/emu/hostdisk.c: Likewise.
5982 * grub-core/kern/emu/main.c: Likewise.
5983 * grub-core/kern/emu/misc.c: Likewise.
5984 * grub-core/kern/emu/mm.c: Likewise.
5985 * grub-core/kern/mips/arc/init.c: Likewise.
5986 * grub-core/kern/mips/loongson/init.c: Likewise.
5987 * grub-core/kern/partition.c: Likewise.
5988 * grub-core/lib/i386/halt.c: Likewise.
5989 * grub-core/lib/mips/arc/reboot.c: Likewise.
5990 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5991 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5992 * grub-core/loader/i386/xnu.c: Likewise.
5993 * grub-core/loader/multiboot.c: Likewise.
5994 * grub-core/net/bootp.c: Likewise.
5995 * grub-core/net/net.c: Likewise.
5996 * grub-core/normal/term.c: Likewise.
5997 * grub-core/partmap/bsdlabel.c: Likewise.
5998 * grub-core/parttool/msdospart.c: Likewise.
5999 * grub-core/term/gfxterm.c: Likewise.
6000 * grub-core/term/terminfo.c: Likewise.
6001 * grub-core/video/i386/pc/vbe.c: Likewise.
6002 * util/grub-menulst2cfg.c: Likewise.
6003 * util/grub-mkdevicemap.c: Likewise.
6004 * util/grub-mklayout.c: Likewise.
6005 * util/grub-mkrelpath.c: Likewise.
6006 * util/grub-script-check.c: Likewise.
6007 * util/ieee1275/grub-ofpathname.c: Likewise.
6008 * util/resolve.c: Likewise.
6009
073aa7a9
VS
60102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Support %1$d syntax.
6013
6014 * tests/printf_unit_test.c: New file.
6015 * Makefile.util.def (printf_test): New test.
6016 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6017
c76b5417
VS
60182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6021 fix.
6022
df067ad1
VS
60232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6026 dprintf.
6027 * grub-core/font/font.c (grub_font_load): Likewise.
6028
5b289bc5
VS
60292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * util/grub-macho2img.c: Add comment concerning gettext.
6032 * grub-core/lib/legacy_parse.c: Likewise.
6033
c1860f87
VS
60342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6037 (grub_xvasprintf): Likewise.
6038
d35d0d37
VS
60392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 Add const keyword to grub_env_get and gettextize week days.
6042
6043 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6044 (grub_read_hook_datetime): Return const char *.
6045 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6046 updated.
6047 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6048 Mark for gettext.
6049 (grub_get_weekday_name): Return const char *. Call gettext.
6050 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6051 char * and len as the argument. All users updated.
6052 (grub_script_argv_split_append): Receive const char *.
6053 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6054 * include/grub/env.h (grub_env_get): Likewise.
6055 (grub_env_read_hook_t): Return const char *.
6056 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6057 (grub_script_argv_split_append): Likewise.
6058
9aed8a71
VS
60592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6062
067fdf00
VS
60632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6066 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6067
a8bd9d39
VS
60682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6071 Fix prototype.
6072
f7ce5baf
VS
60732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Fix mips compilation.
6076
6077 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6078 normal decoder.
6079 (hashes): Use in embed decoder as well (for sizes).
6080 (dec_stream_header): Fix embed decompressor logic.
6081 (dec_stream_footer): Likewise.
6082
9bb182f3
VS
60832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6086 an error and not a fatal on unrecognised relocation types.
6087
63a9e6f6
VS
60882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6091 Issue error rather than printf on unknown arguments.
6092
4c458569
VS
60932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6096 Make buf a const.
6097
e2d22baf
VS
60982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6101 Fix module name.
6102
53dc8590
VS
61032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6106 leftover debug printf.
6107
6c189294
VS
61082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6111
f7688369
VS
61122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6115 A stylistic fix.
6116
11a775a3
VS
61172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6120
33f784e8
SL
61212011-11-10 Shea Levy <slevy@tieronedesign.com>
6122
6123 Allow all modules to perform serial IO
6124
6125 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6126 * include/grub/serial.h (grub_serial_port_configure): New inline
6127 function.
6128 (grub_serial_port_fetch): Likewise.
6129 (grub_serial_port_put): Likewise.
6130 (grub_serial_port_fini): Likewise.
6131 (grub_serial_find): New proto.
6132
f6276525
VS
61332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 Put symlink at the end of the node and fix a potential
6136 memory corruption.
6137
6138 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6139 Make symlink into an array.
6140 (set_rockridge): Set have_symlink and alloc_dirents.
6141 (grub_iso9660_read_symlink): Use new layout.
6142 (grub_iso9660_iterate_dir): Fix memory corruption.
6143 Use new layout.
6144 (grub_iso9660_dir): Set have_symlink.
6145 (grub_iso9660_open): Likewise.
6146
c3591189
VS
61472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Remove local keyword.
6150
6151 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6152 (version_test_gt): Likewise.
6153 (version_find_latest): Likewise.
6154 (gettext_printf): Likewise.
6155 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6156
cb544caa
VS
61572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6160
45bd824d
VS
61612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 Fix ZFS memory and resource leaks.
6164
6165 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6166 All users updated.
6167 Free type on exit.
6168 (fill_vdev_info): New parameter inserted. All users updated.
6169 (check_pool_label): Likewise.
6170 (scan_disk): Likewise.
6171 (scan_devices): Close non-inserted disks.
6172 (fzap_iterate): Free l.
6173 (unmount_device): Free children descripto memory.
6174
ad9a2f44
VS
61752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6178 argument (access out of bounds).
6179
6b68db81
VS
61802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6183 >= 6 drives.
6184
28840fda
VS
61852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6188 Fix declaration.
6189
8a5a3a5b
VS
61902011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 Fix several memory leaks.
6193
6194 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6195 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6196 (grub_cpio_dir): Likewise.
6197 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6198 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6199 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6200 (grub_romfs_label): Likewise.
6201 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6202 (squash_unmount): New function.
6203 (grub_squash_dir): Fix memory leak.
6204 (grub_squash_open): Likewise.
6205 (grub_squash_read): Likewise.
6206 (grub_squash_mtime): Likewise.
6207 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6208 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6209 * util/grub-fstest.c (fstest): Likewise.
6210
57b01250
VS
62112011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6214 avoid accessing beyond the array.
6215
19e81ba7
VS
62162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6219
52b656c0
VS
62202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 Several AFFS fixes.
6223
6224 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6225 (GRUB_AFFS_FLAG_FFS): Removed.
6226 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6227 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6228 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6229 (grub_fshelp_node): Make block 32-bit.
6230 Add block_cache and last_block_cache.
6231 (grub_affs_read_block): Fill and use block cache.
6232 (grub_affs_read_file): Removed.
6233 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6234 boot block.
6235 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6236 safety.
6237 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6238 space.
6239 (grub_affs_close): Free block cache.
6240 (grub_affs_read): Use grub_fshelp_read_file directly.
6241
438a746a
VS
62422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6245 with no error set.
6246
49a45021
VS
62472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6250 used variable.
6251 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6252 Likewise.
6253
3ae17eb8
VS
62542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6257
6258 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6259 byteswap when needed.
6260
27610c38
VS
62612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 Fix FreeBSD compilation.
6264
6265 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6266 to avoid circular dependency.
6267 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6268 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6269 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6270
4a19b601
VS
62712011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Fix ZFS crypto error types.
6274
6275 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6276 (grub_gcm_decrypt): Likewise.
6277 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6278 from PBKDF2.
6279
958ee221
VS
62802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 Illumos support.
6283
6284 * Makefile.util.def (10_illumos): New script.
6285 * configure.ac: Set COND_HOST_ILLUMOS.
6286 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6287 Support Illumos calls.
6288 (find_partition_start) [__sun__]: Likewise.
6289 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6290 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6291 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6292 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6293 device.
6294 * util/grub-probe.c (probe) [__sun__]: Do character check.
6295 * util/grub.d/10_illumos.in: New file.
6296
cac14fb6
VS
62972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Support escaped commas in hostdisk.
6300
6301 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6302 (find_grub_drive): Use unescape_cmp.
6303 (make_device_name): Escape commas.
6304
78e08dc3
VS
63052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6308
9f421dd1
VS
63092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6312 variable.
6313
ed64e9e2
VS
63142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Support trampoline jumps on powerpc.
6317
6318 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6319 __ia64__ path.
6320 (grub_dl_load_segments): Set mod->sz.
6321 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6322 segments.
6323 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6324 (jump): Likewise.
6325 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6326 function.
6327 (trampoline): New struct.
6328 (trampoline_template): New const.
6329 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6330 * include/grub/dl.h (grub_dl): Add sz element.
6331 [__powerpc__]: Follow __ia64__.
6332 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6333 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6334 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6335 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6336
3084ede4
VS
63372011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 ZFS crypto support.
6340
6341 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6342 * grub-core/Makefile.core.def (zfscrypt): New module.
6343 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6344 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6345 it. All users updated.
6346 (grub_zfs_decrypt): New var.
6347 (grub_zfs_load_key): Likewise.
6348 (zio_checksum_functions): Add SHA256+MAC.
6349 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6350 (zio_read): Handle encrypted blocks.
6351 (zap_verify): Remove incorrect check.
6352 (fzap_iterate): Handle non-standard fzap.
6353 (zap_iterate): Likewise.
6354 (zap_iterate_u64): New function.
6355 (dnode_get_fullpath): Load keys.
6356 * grub-core/fs/zfs/zfscrypt.c: New file.
6357 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6358 (grub_crypto_ecb_encrypt): Make input const.
6359 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6360 (grub_crypto_ecb_encrypt): Make input const.
6361 (GRUB_CIPHER_AES): New macro.
6362 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6363 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6364 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6365 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6366 prefix. All users updated.
6367 (grub_zfs_add_key): New proto.
6368 (grub_zfs_decrypt): Likewise.
6369 (grub_zfs_load_key): Likewise.
6370 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6371 * util/grub-fstest.c (options): Add -K option.
6372 (argp_parser): Likewise.
6373
b632b404
VS
63742011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Support zle compression on ZFS.
6377
6378 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6379 (decomp_table): Add zle.
6380 * include/grub/zfs/zio.h (zio_compress): Add zle.
6381
c7ba4f69
VS
63822011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 Support BtrFS embedding.
6385
6386 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6387 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6388 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6389 * util/grub-setup.c (setup): Use fs embedding if available.
6390 Add additional sanity check.
6391
455377d9
VS
63922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * util/grub-install.in: Fix condition for config_opt.
6395
c2fd16ca
VS
63962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 Support third redundancy strip on raidz3.
6399
6400 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6401 Return error on singularity. All users updated.
6402 (read_device): Don't stop on 3rd failure on raidz3.
6403
8622923b
VS
64042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 Support case-insensitive ZFS subvolumes.
6407
6408 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6409 All users updated.
6410 (zap_hash): Likewise.
6411 (name_cmp): New function.
6412 (zap_leaf_array_equal): New parameter case_insensitive.
6413 All users updated.
6414 (zap_leaf_lookup): Likewise.
6415 (fzap_lookup): Likewise.
6416 (zap_lookup): Likewise.
6417 (dnode_get_path): New parameter case_insensitive. Retrieve case
6418 sensitiviness of a volume. All users updated.
6419 (dnode_get_fullpath): New parameter case_insensitive.
6420 All users updated.
6421 (grub_zfs_dir): Set info.case_insensitiveness.
6422
95f2e860
VS
64232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 Support second redundancy strip on raidz(2,3).
6426
6427 * grub-core/fs/zfs/zfs.c (powx): New array.
6428 (powx_inv): Likewise.
6429 (poly): New const.
6430 (xor_out): New function.
6431 (gf_mul): Likewise.
6432 (recovery): Likewise.
6433 (read_device): Use second redundancy strip.
6434
11ee4389
VS
64352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Use a power of generator representation of GF(256) multiplication group
6438 to save space time and complexity.
6439
6440 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6441 (raid6_table2): Likewise.
6442 (powx): New array.
6443 (powx_inv): Likewise.
6444 (poly): New const.
6445 (grub_raid_block_mul): Replace with ...
6446 (grub_raid_block_mulx): ...this.
6447 (grub_raid6_init_table): Rewritten.
6448 (grub_raid6_recover): Use power of generator representation.
6449
09e2763f
VS
64502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6453 for the right device.
6454
8bec9a28
VS
64552011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6458 expected by grub-mkimage and it's more clear since there is no implicit
6459 padding.
6460
dbd3a32e
VS
64612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6464 disk.
6465 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6466
182c872a
PMH
64672011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6468
6469 * util/grub-mkrescue.in: Fix handling xorriso option.
6470
1e51cabd
VS
64712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6474 NULL.
6475
9cc3581d 64762011-11-03 crocket <crockabiscuit@gmail.com>
6477
6478 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6479
158dc1ea
VS
64802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 XZ CRC64 and SHA256 support.
6483
6484 * Makefile.util.def (libgrubmods): Add crc64.c.
6485 * grub-core/Makefile.core.def (crc64): New module.
6486 * grub-core/lib/crc64.c: New file.
6487 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6488 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6489 Fix the type.
6490 (MAX_HASH_SIZE): New define.
6491 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6492 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6493 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6494 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6495 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6496 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6497 Handle non-crc32 hashes.
6498 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6499 (dec_stream_header): Handle non-crc32 hashes.
6500 (dec_stream_footer): Likewise.
6501 (dec_block_header): Likewise.
6502 (dec_main): Likewise.
6503 (xz_dec_init): Likewise.
6504 (xz_dec_reset): Likewise.
6505 (xz_dec_end): Likewise.
6506 * util/import_gcry.py: Add CRC64 line.
6507
9d9b3d2f
VS
65082011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6511 as well.
6512
7d0ac931
VS
65132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 Make reiserfs label retrieval similar to other *_label functions.
6516
6517 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6518 (REISERFS_MAX_LABEL_LENGTH): Removed.
6519 (REISERFS_LABEL_OFFSET): Likewise.
6520 (grub_reiserfs_label): Rewritten.
6521
65222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6525 field.
6526
cf5ba824
VS
65272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6530
17744004
VS
65312011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6534 drive failure on both raidz and raidz2.
6535
aca5aefc
VS
65362011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 Fix RAIDZ(2) for >= 5 devices.
6539
6540 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6541 asize argument. All users updated.
6542
ce8ca56e
VS
65432011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Fix RAIDZ(2).
6546
6547 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6548 (fill_vdev_info_real): Set ashift.
6549 (read_device): Rewrite RAIDZ part based on reverse engineering.
6550
7c01e783
VS
65512011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6554 don't report potentially unavialiable fields in debug output.
6555 (find_path): Fix double-free and memory leak.
6556
ce109e84
VS
65572011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Read label on UFS1.
6560
6561 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6562 (grub_ufs_fs): Always set .label.
6563
87661123
VS
65642011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 Use shifts in UFS.
6567
6568 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6569 (grub_ufs_data): New field log2_blksz.
6570 (grub_ufs_read_file): Use shifts.
6571 (grub_ufs_mount): Check block size and logarithm it.
6572
46bc1dc2
VS
65732011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6576 long symlinks.
6577
19ee2987
VS
65782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Handle symlinks and long names on tar and cpio.
6581
6582 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6583 (ATTR_FILE): Likewise.
6584 (ATTR_DIR): Likewise.
6585 (ATTR_LNK): Likewise.
6586 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6587 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6588 L and K entries.
6589 (grub_cpio_mount): Zero-fill data.
6590 (handle_symlink): New function.
46bc1dc2
VS
6591 (grub_cpio_dir): Handle symlinks.
6592 (grub_cpio_open): Likewise.
6593 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6594
c83a08d8
VS
65952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 Fix iso9660 filename limitations and fix memory leaks.
6598
6599 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6600 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6601
45cdd3ea
VS
66022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Fix JFS file name length limitations.
6605
6606 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6607 (grub_jfs_diropen): Fix maximum filename length.
6608 (grub_jfs_getent): Fix filename length.
6609 (grub_jfs_lookup_symlink): Fix size checks.
6610
94ef05c2
VS
66112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6614 string.
6615
785ab8c7
VS
66162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6617
eb0b6b45
VS
6618 Leverage BFS implementation to read AFS.
6619
6620 * Makefile.util.def (libgrubmods): Add afs.c.
6621 * grub-core/Makefile.core.def (afs): New module
6622 * grub-core/fs/afs.c: New file.
6623 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6624
66252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6628
c4a1628f
VS
66292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/fs/bfs.c: Run indent.
6632
5825b379
VS
66332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 BFS implementation based on the specification.
6636
6637 * grub-core/fs/bfs.c: New file.
6638 * Makefile.util.def (libgrubmods): Add bfs.c.
6639 * grub-core/Makefile.core.def (bfs): New module.
6640
42b2a706
VS
66412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/grub-fstest.c (cmd_cp): Clarify error message.
6644 (cmd_cmp): Likewise.
6645
61b99bfc
YB
66462011-10-30 Yves Blusseau <blusseau@zetam.org>
6647
6648 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6649 and befs_be.
6650
faba3d16
VS
66512011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 Remove afs and befs because of copyright problem.
6654
6655 * grub-core/fs/afs.c: Removed.
6656 * grub-core/fs/afs_be.c: Removed.
6657 * grub-core/fs/befs.c: Removed.
6658 * grub-core/fs/befs_be.c: Removed.
6659 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6660 * grub-core/Makefile.core.def (afs): Removed.
6661 (afs_be): Likewise.
6662 (befs): Likewise.
6663 (befs_be): Likewise.
6664
c39224b0
VS
66652011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 Prefer rockridge over Joliet.
6668
6669 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6670 to ...
6671 (set_rockridge): ... here.
6672 (grub_iso9660_mount): Check rockridge on the primary label when
6673 discovering. Ignore Joliet if Rockridge is present.
6674
e551115a
VS
66752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Use shifts in nilfs2.
6678
6679 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6680 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6681 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6682 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6683 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6684 (grub_nilfs2_entries_per_block): Replaced with ...
6685 (grub_nilfs2_log_entries_per_block_log): ... this.
6686 (grub_nilfs2_blocks_per_group): Replaced with ...
6687 (grub_nilfs2_blocks_per_group_log): ... this.
6688 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6689 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6690 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6691 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6692 (grub_nilfs2_palloc_entry_offset): Replaced ...
6693 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6694 (grub_nilfs2_dat_translate): Use shifts.
6695 (grub_nilfs2_read_inode): Likewise.
6696 (GRUB_MOD_INIT): Ensure that logs are correct.
6697
564dd58c
VS
66982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 Use shifts in minix filesystem.
6701
6702 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6703 (GRUB_MINIX_ZONE2SECT): Likewise.
6704 (grub_minix_data): Replace block_size with log_block_size.
6705 (grub_minix_read_file): Use shifts.
6706 (grub_minix_mount): Check block size and take a logarithm.
6707
ed9ba06d
VS
67082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 Use shifts in squash4.
6711
6712 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6713 (squash_mount): Check block size and take logarithm.
6714 (direct_read): Use shifts.
6715
ad03fe76
VS
67162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 Correct befs block counting logic.
6719
6720 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6721 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6722 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6723 (grub_afs_read_inode): Use block_shift.
6724 (RANGE_SHIFT): New definition.
6725 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6726 unexpected conditions, use shifts and appropriate types.
6727 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6728
6563f63d
VS
67292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/disk/raid.c (scan_devices): Check partition.
6732 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6733
5b1ae25f
VS
67342011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 Support BFS (befs) UUID.
6737
6738 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6739 (grub_afs_small_data_element_header): New struct.
6740 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6741 (grub_afs_read_attribute) [MODE_BFS]: New function.
6742 (grub_afs_iterate_dir): Allocate for complete inode.
6743 (grub_afs_mount): Likewise.
6744 (grub_afs_uuid) [MODE_BFS]: New function.
6745 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6746
f8d82408
VS
67472011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6750 (zfs_unmount): Fix memory leak.
6751
5773fb64
VS
67522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Support NTFS reparse points.
6755
6756 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6757 (symlink_descriptor): New struct.
6758 (grub_ntfs_read_symlink): New function.
6759 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6760 (grub_ntfs_open): Likewise.
6761
91c3fdde
VS
67622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6765
3be82e10
VS
67662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 fstest xnu_uuid subcommand.
6769
6770 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6771 grub-core/commands/xnu_uuid.c.
6772 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6773 (fstest): Handle xnu_uuid.
6774 (options): Document xnu_uuid.
6775 (argp_parser): Parse xnu_uuid.
6776
8e32442e
VS
67772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6780 -l argument. Add newline at the end if printing.
6781 (GRUB_MOD_INIT): Document -l.
6782
52a05075
VS
67832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6786
1869edb5
VS
67872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 ZFS multi-device and version 33 support.
6790
6791 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6792 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6793 (grub_zfs_data): Add multidev-ice-related fields.
6794 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6795 (dva_get_offset): Make dva const.
6796 (zfs_fetch_nvlist): New function.
6797 (fill_vdev_info_real): Likewise.
6798 (fill_vdev_info): Likewise.
6799 (check_pool_label): Likewise.
6800 (scan_disk): Likewise.
6801 (scan_devices): Likewise.
6802 (read_device): Likewise.
6803 (read_dva): Likewise.
6804 (zio_read_gang): Use read_dva.
6805 (zio_read_data): Likewise.
6806 (zap_leaf_lookup): Add missing endian conversion.
6807 (zap_verify): Add missing endian conversion. All users updated.
6808 (fzap_lookup): Likewise.
6809 (fzap_iterate): Likewise.
6810 (dnode_get_path): Handle SA bonus.
6811 (nvlist_find_value): Make input const. All users updated.
6812 (unmount_device): New function.
6813 (zfs_unmount): Use unmount_device.
6814 (zfs_mount): Use scan_disk.
6815 (zfs_mtime): New function.
6816 (grub_zfs_open): Handle system attributes.
6817 (fill_fs_info): Likewise.
6818 (grub_zfs_dir): Likewise.
6819 (grub_zfs_fs): Add mtime.
6820 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6821 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6822 (SA_MTIME_OFFSET): Likewise.
6823 (SA_SYMLINK_OFFSET): Likewise.
6824 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6825 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6826 (fstest): Support zfsinfo.
6827 (argp_parser): Likewise.
6828
186b4028
VS
68292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6832 error.
6833
68342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6835
6836 ZFS fixes.
6837
6838 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6839 sharing the same block. Iterate over correct number of indices.
6840 (dnode_get_path): Handle symlinks correctly.
6841
c0584900
VS
68422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6845
67e2bd71
VS
68462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 Read label on HFS+.
6849
6850 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6851 (grub_hfsplus_btree_search): Fix types.
6852 (grub_hfsplus_label): Implement.
6853
e9cc6b7b
VS
68542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6857
19832ddb
VS
68582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6861
66b40850
VS
68622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 Fix symlink handling on iso9660.
6865
6866 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6867 All users updated.
6868 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6869 (grub_iso9660_read_symlink): Moved most of code ...
6870 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6871
db821363
VS
68722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6875 Use union to avoid breaking strict-aliasing rules.
6876
e1211949
VS
68772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Support multi-extent iso files.
6880
6881 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6882 Add node.
6883 (grub_fshelp_node): Revamp. All users updated.
6884 (FLAG_*): New enum.
6885 (read_node): New function.
6886 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6887 All users updated.
6888 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6889 (get_node_size): New function.
6890 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6891 entries.
6892 Fix memory leak on . and ..
6893 (grub_iso9660_read): Use read_node.
6894 (grub_iso9660_close): Free node.
6895
d4888031
VS
68962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Fix tar 4G limit and handle paths containing dot.
6899
6900 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6901 (canonicalize): New function.
6902 (grub_cpio_find_file): Use canonicalize. Store offs in
6903 grub_disk_addr_t.
6904 (grub_cpio_dir): Use grub_disk_addr_t.
6905 (grub_cpio_open): Likewise.
6906
9f12e664
VS
69072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6910
6911 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6912 unused flags.
6913 (grub_squash_inode): Add long_file and block_size.
6914 (grub_squash_cache_inode): New struct.
6915 (grub_squash_dirent): Make types into enum.
6916 (SQUASH_TYPE_LONG_REGULAR): New type.
6917 (grub_squash_frag_desc): Add field size.
6918 (SQUASH_BLOCK_FLAGS): New enum.
6919 (grub_squash_data): Use grub_squash_cache_inode.
6920 (grub_fshelp_node): Make ino_chunk 64-bit.
6921 (read_chunk): Minor argument change. All users updated.
6922 (squash_mount): Use correct le_to_cpu.
6923 (grub_squash_open): Handle LONG_REGULAR.
6924 (direct_read): New function.
6925 (grub_squash_read_data): Handle blocks correctly.
6926
9f326fba
VS
69272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6930
f4d9b64b
VS
69312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6934
5bbd28b8
VS
69352011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Fix 2G limit on ZFS.
6938
6939 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6940 types.
6941 (uberblock_verify): Likewise.
6942 (dmu_read): Likewise.
6943 (grub_zfs_read): Likewise. Remove invalid cast.
6944
68c72069
VS
69452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6948 (grub_jfs_blkno): Fix incorrect shift.
6949 (grub_jfs_read_file): Use more appropriate types.
6950
6e536dc8
VS
69512011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 Support triple indirect on minix2 and minix3.
6954
6955 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6956 Declare triple_indir_zone.
6957 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6958 indirect.
6959
e0864e7a
VS
69602011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 Minix FS fixes.
6963
6964 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6965 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6966 Rename ctime to mtime. All users updated.
6967 (grub_minix_get_file_block): Fix types and double indirect computations.
6968
89481cab
VS
69692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6972 if no label is found.
6973 (grub_fat_iterate_dir): Fix file size type.
6974 (grub_fat_iterate_dir): Likewise.
6975
f646e143
VS
69762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6979 save some space.
6980 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6981 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6982
534d769e
VS
69832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6986
e084ba18
VS
69872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * util/import_gcry.py: Accept space between # and include.
6990
3471ecdf
VS
69912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6994
124df5f6
VS
69952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6998
6999 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7000 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7001 yylex_strncpy.
7002 * grub-core/script/yylex.l: Add fine-grained #pragma.
7003
4defb8d5
VS
70042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7007 New inline function.
7008 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7009 Likewise.
7010 (memset) [GRUB_UTIL]: Likewise.
7011 (memcmp) [GRUB_UTIL]: Likewise.
7012
4e94ae65
VS
70132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7016 inline function rather than a define.
7017
18c575e5
VS
70182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * util/grub-setup.c: Add missing include.
7021
f8bc22a8
VS
70222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * util/ieee1275/grub-ofpathname.c: Add missing include.
7025
3ce69fc9
VS
70262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7029 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7030 Likewise.
7031
d1e293bb
VS
70322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7035 grub_memcmp usage.
7036
7a5c54a4
VS
70372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 * util/grub-install.in: Add datarootdir as per automake manual
7040 suggestion.
7041 * util/grub-mknetdir.in: Likewise.
7042
70432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7044
7045 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7046 suggestion.
7047 * util/grub.d/10_kfreebsd.in: Likewise.
7048 * util/grub.d/10_linux.in: Likewise.
7049 * util/grub.d/10_netbsd.in: Likewise.
7050 * util/grub.d/10_windows.in: Likewise.
7051 * util/grub.d/20_linux_xen.in: Likewise.
7052
766f7d08
VS
70532011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 Remove redundant grub_kernel_image_size.
7056
7057 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7058 _edata and _start.
7059 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7060 the small code. It moves it only by few bytes but simplifies the code.
7061 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7062 _start.
7063 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7064 (grub_kernel_image_size): Removed.
7065 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7066 (grub_kernel_image_size): Removed.
7067 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7068 compiled with Apple toolchain.
7069 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7070 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7071 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7072 (grub_total_module_size): Likewise.
7073 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7074 Removed.
7075 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7076 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7077 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7078 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7079 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7080 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7081 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7082 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7083 Removed.
7084 (grub_total_module_size): Removed.
7085 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7086 (image_targets): Likewise.
7087 Set .compressed_size to no field on sparc.
7088 (generate_image): Remove kernel_image_size handling.
7089
fcf1d672
SJ
70902011-10-19 Szymon Janc <szymon@janc.net.pl>
7091
7092 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7093 NULL pointer dereference.
7094
de9c615e
VS
70952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7098 done with a dedicated section.
7099
7100 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7101 Ensure the correct position of boot_path.
7102 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7103 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7104 other fields.
7105 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7106 * include/grub/boot.h: Removed. All references removed.
7107 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7108 Removed.
7109 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7110
e55599dc
VS
71112011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7114 name.
7115
36dd20ad
VS
71162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7119
f8f72eb8
VS
71202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7123 Don't add the bogus brackets.
7124
a374751b
VS
71252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 ExFAT support.
7128
7129 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7130 * grub-core/Makefile.core.def (exfat): New module.
7131 * grub-core/fs/exfat.c: New file.
7132 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7133 (GRUB_FAT_ATTR_*): Make into an enum.
7134 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7135 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7136 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7137 (GRUB_FAT_MAXFILE): Removed.
7138 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7139 (grub_current_fat_bpb_t): New type.
7140 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7141 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7142 (grub_fat_dir_node_t): New type.
7143 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7144 (fat_log2) [MODE_EXFAT]: Removed.
7145 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7146 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7147 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7148 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7149 (grub_fat_label) [MODE_EXFAT]: New function.
7150 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7151 reserved_first_sector to 0.
7152
544c2487
VS
71532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Move grub_reboot out of the kernel.
7156
7157 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7158 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7159 * grub-core/lib/efi/reboot.c: ... here.
7160 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7161 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7162 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7163 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7164 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7165 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7166 * grub-core/lib/ieee1275/reboot.c: ... here.
7167 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7168 * grub-core/lib/mips/arc/reboot.c: ... here.
7169 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7170 * grub-core/lib/mips/loongson/reboot.c: ...here.
7171 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7172 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7173 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7174 * include/grub/i386/reboot.h: New file.
7175 * include/grub/mips/loongson/ec.h: Fix includes.
7176 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7177 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7178 * grub-core/lib/i386/reboot.c: New file.
7179
a97501d2
VS
71802011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Make grub_prefix into module to fix the arbitrary limit and save
7183 some space.
7184
7185 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7186 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7187 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7188 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7189 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7190 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7191 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7192 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7193 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7194 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7195 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7196 * include/grub/ia64/efi/kernel.h: Removed.
7197 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7198 (grub_prefix): Removed.
7199 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7200 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7201 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7202 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7203 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7204 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7205 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7206 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7207 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7208 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7209 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7210 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7211 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7212 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7213 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7214 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7215 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7216 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7217 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7218 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7219 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7220 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7221 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7222 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7223 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7224 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7225 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7226 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7227 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7228 from module.
7229 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7230 prefix_end.
7231 (image_targets): Likewise.
7232 (generate_image): Put prefix as a module.
7233
39705fad
VS
72342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 Replace grub_module_iterate with FOR_MODULES.
7237
7238 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7239 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7240 (grub_efi_modules_addr): ...this.
7241 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7242 (grub_efi_init): Set grub_modbase.
7243 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7244 (grub_modbase): New variable.
7245 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7246 (grub_modbase): New variable.
7247 (grub_machine_init): Set grub_modbase.
7248 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7249 (grub_modbase): New variable.
7250 (grub_machine_init): Set grub_modbase.
7251 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7252 (grub_modbase): New variable.
7253 (grub_machine_init): Set grub_modbase.
7254 * grub-core/kern/main.c (grub_module_iterate): Remove.
7255 (grub_modules_get_end): Use grub_modbase.
7256 (grub_load_modules): Use FOR_MODULES.
7257 (grub_load_config): Likewise.
7258 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7259 (grub_modbase): New variable.
7260 (grub_machine_init): Set grub_modbase.
7261 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7262 (grub_modbase): New variable.
7263 (grub_machine_init): Set grub_modbase.
7264 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7265 Removed.
7266 (grub_modbase): New variable.
7267 (grub_machine_init): Set grub_modbase.
7268 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7269 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7270 (grub_module_iterate): Likewise.
7271 (grub_modbase): New variable declaration.
7272 (FOR_MODULES): New macro.
7273
2afb7f6c
VS
72742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7277 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7278
366e34fa
VS
72792011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 Fix few obvious type discrepancies.
7282
7283 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7284 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7285 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7286 variable.
7287 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7288 and connected types.
7289 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7290 offset.
7291 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7292 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7293 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7294 and connected types.
7295
177b960e
VS
72962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 Fix python 3.x incompatibilities.
7299
7300 * gentpl.py: Put brackets around print strings.
7301 * util/import_gcry.py: Open explicitly as utf-8.
7302 Use in instead of has_key.
7303
3b619ae1
VS
73042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7307 (GRUB_XFS_INO_AGBITS): Make into inline function.
7308 (GRUB_XFS_INO_INOINAG): Likewise.
7309 (GRUB_XFS_INO_AG): Likewise.
7310 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7311 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7312 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7313 (GRUB_XFS_EXTENT_SIZE): Likewise.
7314 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7315 (GRUB_XFS_NEXT_DIRENT): Likewise.
7316 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7317 (grub_xfs_read_file): Fix offset type.
7318
8bcebcb8
RM
73192011-10-15 Robert Millan <rmh@gnu.org>
7320
7321 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7322
0017e5ef
RM
73232011-10-15 Robert Millan <rmh@gnu.org>
7324
7325 Fix build problem on FreeBSD and GNU/kFreeBSD.
7326
7327 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7328
d8919552
VS
73292011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7332
7333 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7334 types.
7335 (grub_hfsplus_btree_recoffset): Likewise.
7336 (grub_hfsplus_btree_recptr): Likewise.
7337 (grub_hfsplus_find_block): Likewise.
7338 (grub_hfsplus_btree_search): Likewise.
7339 (grub_hfsplus_read_block): Likewise.
7340 (grub_hfsplus_read_file): Likewise.
7341 (grub_hfsplus_mount): Likewise.
7342 (grub_hfsplus_btree_iterate_node): Likewise.
7343 (grub_hfsplus_btree_search): Likewise.
7344 (grub_hfsplus_iterate_dir): Likewise.
7345 (grub_hfsplus_read): A small code simplification.
7346
c81296b6
VS
73472011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/emu/hostdisk.c
7350 (convert_system_partition_to_system_disk): Don't assume that children
7351 of mapper nodes are mapper nodes.
7352
0eb8ffb1
VS
73532011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7356 * include/grub/misc.h (grub_isxdigit): New function.
7357 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7358 switched to grub_isxdigit.
7359 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7360 number starting with a letter.
7361
a98f4a08
RM
73622011-10-09 Robert Millan <rmh@gnu.org>
7363
7364 LVM support for FreeBSD and GNU/kFreeBSD.
7365
7366 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7367 GNU/kFreeBSD.
7368 (LVM_DEV_MAPPER_STRING): Move from here ...
7369 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7370 * util/getroot.c: Include `<grub/util/lvm.h>'.
7371 (grub_util_get_dev_abstraction): Enable
7372 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7373 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7374 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7375 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7376 support it.
7377 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7378 GNU/kFreeBSD.
7379 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7380 when LVM abstraction is required for ${GRUB_DEVICE}.
7381
050e8e90
SJ
73822011-10-06 Szymon Janc <szymon@janc.net.pl>
7383
7384 Add support for LZO compression in GRUB:
7385 - import of minilzo library,
7386 - LZO decompression for btrfs,
7387 - lzop files decompression.
7388
7389 * grub-core/io/lzopio.c: New file.
7390 * grub-core/lib/adler32.c: Likewise.
7391 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7392 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7393 * grub-core/lib/minilzo/minilzo.c: Likewise.
7394 * grub-core/lib/minilzo/minilzo.h: Likewise.
7395 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7396 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7397 grub-core/lib/minilzo/minilzo.c to common.
7398 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7399 cflags in cppflags.
7400 * grub-core/Makefile.core.def (btrfs): Likewise.
7401 * grub-core/Makefile.core.def (lzopio): New module.
7402 (adler32): Likewise.
7403 * grub-core/fs/btrfs.c: Include minilzo.h.
7404 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7405 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7406 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7407 (grub_btrfs_lzo_decompress): New function.
7408 (grub_btrfs_extent_read): Add support for LZO compression type.
7409 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7410 (GRUB_USHRT_MAX): Likewise.
7411 (GRUB_UINT_MAX): Likewise.
7412 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7413 (UINT_MAX): Likewise.
7414 (CHAR_BIT): Likewise.
7415 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7416 grub-core/lib/posix_wrap/limits.h
7417 (UCHAR_MAX): Likewise.
7418 * include/grub/file.h (grub_file_filter_id): New compression filter
7419 GRUB_FILE_FILTER_LZOPIO.
7420 * include/grub/file.h (grub_file_filter_id): Set
7421 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7422 * include/grub/types.h (grub_get_unaligned16): New function.
7423 (grub_get_unaligned32): Likewise.
7424 (grub_get_unaligned64): Likewise.
7425 * util/import_gcry.py (cryptolist): Add adler32.
7426
0eb8ffb1
VS
74272011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7430 in perspective decreases the complexity of build system and fixes
7431 compilation right now.
7432
ce79cc99 74332011-10-01 Ales Nesrsta <starous@volny.cz>
7434
7435 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7436 (fixed problem related to using UHCI with coreboot).
7437
8667a314
BC
74382011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7439
7440 * gentpl.py: Use Autogen macros so that the output template file
7441 (Makefile.tpl) size is reduced.
7442
fc5efcc0
MK
74432011-09-29 Mads Kiilerich <mads@kiilerich.com>
7444
7445 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7446 extra_dist.
7447
d1ab689d
ML
74482011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7449
7450 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7451 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7452
c05de032
ML
74532011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7454
7455 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7456 _fullpath.
7457
cca7ccd8
ML
74582011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7459
7460 Remove extra declaration of sleep for mingw32.
7461
7462 * util/misc.c (sleep) [__MINGW32__]: Removed.
7463 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7464
e0b0dc83
GS
74652011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7466
7467 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7468 type and packname.
7469 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7470 Resurrected.
7471 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7472 (grub_netbsd_btinfo_bootwedge): New struct.
7473 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7474 New function.
7475 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7476
91a1a164
TH
74772011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7478
7479 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7480 loader.
7481
2ded951e
AB
74822011-09-28 Andreas Born <futur.andy@googlemail.com>
7483
7484 Fix incorrect identifiers in bash-completion.
7485
7486 * util/bash-completion.d/grub-completion.bash.in
7487 (_grub_mkpasswd-pbkdf2): Rename to ...
7488 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7489 (_grub_script-check): Rename to ...
7490 (_grub_script_check): ... this. All users updated.
7491
69915030
VS
74922011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7495 Return 0 if disk isn't biosdisk.
7496
20fd15f9
GS
74972011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7498
7499 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7500 on NetBSD.
7501 * Makefile.util.def (grub-fstest): Likewise.
7502
1a7d7db9
GS
75032011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7504
7505 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7506 Get sector size from disk label.
7507
2221ab6c
CW
75082011-09-05 Colin Watson <cjwatson@ubuntu.com>
7509
7510 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7511 */README* as well as README*.
7512 Reported by: Axel Beckert.
7513
ca51c4a0
VS
75142011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7517 case of less than 256 MiB of RAM.
7518
ab80f326
VS
75192011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * grub-core/commands/wildcard.c (make_regex): Handle @.
7522
4155e697
VS
75232011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7526
ab178c08
SJ
75272011-08-21 Szymon Janc <szymon@janc.net.pl>
7528
7529 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7530 AC_LANG_CONFTEST macros.
7531
7dc3c686
SJ
75322011-08-20 Szymon Janc <szymon@janc.net.pl>
7533
7534 Add grub-fstest option to uncompress data for commands.
7535
7536 * util/grub-fstest.c (uncompress): New var.
7537 (options): New option -u.
7538
fe8d4a7b
SJ
75392011-08-20 Szymon Janc <szymon@janc.net.pl>
7540
7541 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7542 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7543
a5219af1
SJ
75442011-08-20 Szymon Janc <szymon@janc.net.pl>
7545
7546 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7547 file type was not recognized correctly (not gzip or corrupted).
7548
f87abff5
VS
75492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7552 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7553
d94497ea
VS
75542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7557 loongson.
7558 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7559 video_radeon_fuloong2e.
7560 * grub-core/video/radeon_fuloong2e.c: New file.
7561 * include/grub/video.h (grub_video_id_t): Add new ID
7562 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7563
0d1fd011
VS
75642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7567 define.
7568 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7569 that PRID matches the detected subplatform and reset the subplatform
7570 if it doesn't.
7571
84beb0ee
VS
75722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7575
1227c133
VS
75762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 Fix PCI iterating on functions >= 4.
7579
7580 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7581 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7582 Removed.
7583 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7584 (grub_pci_read): Fix bitmask.
7585 (grub_pci_read_word): Likewise.
7586 (grub_pci_read_byte): Likewise.
7587 (grub_pci_write): Likewise.
7588 (grub_pci_write_word): Likewise.
7589 (grub_pci_write_byte): Likewise.
7590
9594c689
VS
75912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7594 can still be specified in TARGET_CFLAGS)
7595
14a2562c
VS
75962011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7599
7600 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7601 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7602 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7603 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7604 (FULOONG): Rename to ...
7605 (FULOONG2F): ... this. All users updated.
7606 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7607 (machtype_fuloong2f_str): ... this.
7608 (machtype_fuloong2e_str): New string.
7609 Check for machtype_fuloong2e_str.
7610 * grub-core/loader/mips/linux.c (loongson_machtypes)
7611 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7612 * grub-core/term/serial.c (loongson_defserial)
7613 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7614 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7615 loongson_defserial.
7616 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7617 Rename to ...
7618 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7619 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7620 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7621 to IMAGE_FULOONG2F_FLASH. All users updated.
7622 (image_targets): Rename images.
7623 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7624
b526cbb6
SJ
76252011-08-19 Szymon Janc <szymon@janc.net.pl>
7626
7627 Make enable of disk cache statistics code configurable.
7628
7629 * configure.ac: --enable-cache-stats added.
7630 * config.h.in (DISK_CACHE_STATS): New define.
7631 * grub-core/Makefile.core.def (cacheinfo): New command.
7632 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7633 * grub-core/commands/cacheinfo.c: New file.
7634 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7635 moved to cacheinfo.c.
7636 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7637 debug code.
7638 * include/grub/disk.h: Likewise.
7639
fb739ccd
SJ
76402011-08-19 Szymon Janc <szymon@janc.net.pl>
7641
7642 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7643 * grub-core/Makefile.am: Likewise.
7644
2bba8cfd
VS
76452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7648 non-zero pull.
7649
43526629
VS
76502011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7653 All users updated.
7654 (grub_jfs_lookup_symlink): Use correct starting inode.
7655
5c144cc8
VS
76562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * util/grub-setup.c (main): Add missing gcry initialisation.
7659
b1257f65
VS
76602011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 Don't accept text modes on EFI when booting Linux.
7663
7664 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7665 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7666
828bc390
ML
76672011-08-15 Mario Limonciello <mario_limonciello@dell.com>
76682011-08-15 Colin Watson <cjwatson@ubuntu.com>
7669
7670 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7671 use of "/path/.." as in grub-install for EFI as well as handling
7672 symlinks correctly.
7673 Fixes Debian bug #637768.
7674
5f60ccac
CW
76752011-08-15 Colin Watson <cjwatson@ubuntu.com>
7676
7677 * util/grub-probe.c: Remove duplicate #include.
7678
6dc212f9
RM
76792011-08-10 Robert Millan <rmh@gnu.org>
7680
7681 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7682
7683 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7684 function.
7685 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7686 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7687
66816d85
RM
76882011-08-03 Robert Millan <rmh@gnu.org>
7689
7690 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7691 la_array as packed.
7692 Reported by: Zachary Bedell
7693
20168fca
CW
76942011-07-26 Colin Watson <cjwatson@ubuntu.com>
7695
7696 * configure.ac: The Loongson port requires grub-mkfont due to its
7697 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7698 be built.
7699
303b6246
CW
77002011-07-26 Colin Watson <cjwatson@ubuntu.com>
7701
7702 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7703 processing arguments (otherwise help2man fails when GRUB has not yet
7704 been installed).
7705
6795300e
VS
77062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7707
41aa28ea
VS
7708 New script grub-mkstandalone.
7709
7710 * Makefile.util.def (grub-mkstandalone): New script.
7711 * docs/man/grub-mkstandalone.h2m: New file.
7712 * util/grub-mkstandalone.in: Likewise.
7713
77142011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 Support ATA disks with 4K sectors.
6795300e
VS
7717
7718 * include/grub/ata.h (grub_ata): New member log_sector_size.
7719 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7720 (grub_ata_identify): Read sector size.
7721 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7722
92227597
VS
77232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * util/grub-install.in: Don't use uhci outside of x86.
7726
c77069f5
VS
77272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * util/grub-mkrescue.in: Add missing quotes.
7730
77312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7732
7733 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7734 dereference.
7735
583168a2
VS
77362011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7739
6be1c01f
VS
77402011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * include/grub/video.h: add missing EXPORT_FUND on
7743 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7744
a1167439
VS
77452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * include/grub/mips/kernel.h: Fix define conflict.
7748
bf66054f
VS
77492011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7752 all four ways.
7753
8fc4fa45
CW
77542011-07-21 Colin Watson <cjwatson@ubuntu.com>
7755
7756 Preferred resolution detection for VBE.
7757
7758 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7759 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7760 the Flat Panel extension, in line with the X.org VESA driver.
7761 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7762 New function.
7763 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7764 (grub_vbe_bios_read_edid): Likewise.
7765 (grub_vbe_get_preferred_mode): Likewise.
7766 (grub_video_vbe_setup): When the mode is "auto", try to get the
7767 preferred mode from VBE, and use the largest mode that is no larger
7768 than the preferred mode (some BIOSes expose a preferred mode that is
7769 not in their mode list!). If this fails, fall back to 640x480 as a
7770 safe conservative choice.
7771 (grub_video_vbe_get_edid): New function.
7772 (grub_video_vbe_adapter): Add get_edid.
7773 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7774 (struct grub_video_adapter): Add get_edid.
7775 (grub_video_edid_checksum): Add prototype.
7776 (grub_video_edid_preferred_mode): Likewise.
7777 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7778 structure.
7779
7780 * grub-core/commands/videoinfo.c (print_edid): New function.
7781 (grub_cmd_videoinfo): Print EDID if available.
7782
7783 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7784 is more appropriate on a wider range of platforms than 640x480.
7785 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7786 documentation.
7787
ca5572a9
VS
77882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7791
e4bcf625
VS
77922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7793
7794 * po/POTFILES.in: Regenerate.
7795
c4edd548
VS
77962011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7799 incorrect memory usage.
7800
16a2bab0
VS
78012011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * util/grub-install.in: Source grub-mkconfig_lib.
7804
2e418de6
VS
78052011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Remove getroot.c from core on emu platform.
7808
7809 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7810 kern/emu/raid.c.
7811 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7812 useless.
7813 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7814 * util/getroot.c (get_win32_path): ... here.
7815 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7816 * util/getroot.c (fini_libzfs): ... here.
7817 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7818 * util/getroot.c (grub_get_libzfs_handle): ... here.
7819 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7820 Moved from here...
7821 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7822 * grub-core/kern/emu/misc.c
7823 (grub_make_system_path_relative_to_its_root): Moved from here...
7824 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7825 * grub-core/kern/emu/getroot.c: Moved from here ...
7826 * util/getroot.c: ... here. All users updated.
7827 * grub-core/kern/emu/raid.c: Moved from here ...
7828 * util/raid.c: ... here. All users updated.
7829
def9832a
VS
78302011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * po/POTFILES.in: Regenerate.
7833
cd8fe79a
VS
78342011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Fix compilation on GNU/Linux.
7837
7838 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7839 Disable geli.
7840 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7841 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7842 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7843
a251b719
VS
78442011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
78452011-07-07 Michael Gorven <michael@gorven.za.net>
78462011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7847
7848 LUKS and GELI support.
7849
7850 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7851 grub-core/disk/luks.c, grub-core/disk/geli.c,
7852 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7853 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7854 grub-core/lib/arg.c.
7855 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7856 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7857 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7858 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7859 (grub-bin2h): Add libgcry.a.
7860 (grub-mkimage): Likewise.
7861 (grub-mkrelpath): Likewise.
7862 (grub-script-check): Likewise.
7863 (grub-editenv): Likewise.
7864 (grub-mkpasswd-pbkdf2): Likewise.
7865 (grub-pe2elf): Likewise.
7866 (grub-fstest): Likewise.
7867 (grub-mkfont): Likewise.
7868 (grub-mkdevicemap): Likewise.
7869 (grub-probe): Likewise.
7870 (grub-ofpath): Likewise.
7871 (grub-mklayout): Likewise.
7872 (example_unit_test): Likewise.
7873 (grub-menulst2cfg): Likewise.
7874 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7875 * grub-core/Makefile.core.def (cryptodisk): New module.
7876 (luks): Likewise.
7877 (geli): Likewise.
7878 * grub-core/disk/AFSplitter.c: New file.
7879 * grub-core/disk/cryptodisk.c: Likewise.
7880 * grub-core/disk/geli.c: Likewise.
7881 * grub-core/disk/luks.c: Likewise.
7882 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7883 grub_util_is_lvm.
7884 (grub_util_get_dm_abstraction): New function.
7885 (grub_util_follow_gpart_up): Likewise.
7886 (grub_util_get_geom_abstraction): Likewise.
7887 (grub_util_get_dev_abstraction): Use new functions.
7888 (grub_util_pull_device): Pull GELI and LUKS.
7889 (grub_util_get_grub_dev): Handle LUKS and GELI.
7890 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7891 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7892 (follow_geom_up): Removed.
7893 (grub_util_fd_seek): New function.
7894 (open_device): Use grub_util_fd_seek.
7895 (nread): Rename to ..
7896 (grub_util_fd_read): ... this. All users updated.
7897 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7898 (grub_crypto_cbc_decrypt): Likewise.
7899 (grub_crypto_hmac_write): Likewise.
7900 (grub_crypto_hmac_buffer): Likewise.
7901 (grub_password_get): Extend to util.
7902 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7903 New member modname.
7904 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7905 * include/grub/cryptodisk.h: New file.
7906 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7907 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7908 LUKS and GELI.
7909 (grub_util_follow_gpart_up): New proto.
7910 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7911 (grub_util_fd_read): Likewise.
7912 (grub_cryptodisk_cheat_mount): Likewise.
7913 (grub_util_cryptodisk_print_uuid): Likewise.
7914 (grub_util_get_fd_sectors): Likewise.
7915 * util/grub-fstest.c (mount_crypt): New var.
7916 (fstest): Mount crypto if requested.
7917 (options): New option -C.
7918 (argp_parser): Parse -C.
7919 (main): Init and fini gcry.
7920 * util/grub-install.in: Support cryptodisk install.
7921 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7922 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7923 cryptodisk.
7924 (prepare_grub_to_access_device): Likewise.
7925 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7926 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7927 (probe_cryptodisk_uuid): New function.
7928 (probe_abstraction): Likewise.
7929 (probe): Use new functions.
7930 * util/import_gcry.py: Create Makefile.utilgcry.def.
7931 Add modname member.
7932
9bfdcbbc
VS
79332011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Lazy device scanning.
7936
7937 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7938 (grub-setup): Remove util/raid.c.
7939 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7940 * grub-core/disk/lvm.c (scan_depth): New variable.
7941 (grub_lvm_iterate): Rescan if necessary.
7942 (find_lv): New function based on grub_lvm_open.
7943 (grub_lvm_open): Use find_lv. Rescan on error.
7944 (is_node_readable): New function.
7945 (is_lv_readable): Likewise.
7946 (grub_lvm_scan_device): Skip already found disks.
7947 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7948 Stop if searched device is found and readable.
7949 * grub-core/disk/raid.c (inscnt): New variable.
7950 (scan_depth): Likewise.
7951 (scan_devices): New function based on grub_raid_register. Abort if
7952 looked for device is found.
7953 (grub_raid_iterate): Rescan if needed.
7954 (find_array): NEw function based on -grub_raid_open.
7955 (grub_raid_open): Use find_array and rescan.
7956 (insert_array): Set became_readable_at.
7957 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7958 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7959 New function.
7960 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7961 (grub_util_pull_device): New function.
7962 (grub_util_get_grub_dev): Call grub_util_pull_device.
7963 * util/raid.c: Moved to ..
7964 * grub-core/kern/emu/raid.c: ... here.
7965 (grub_util_raid_getmembers): New parameter "bootable".
7966 All users updated. Support 1.x.
7967 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7968 All users updated.
7969 * include/grub/disk.h (grub_disk_pull_t): New enum.
7970 (grub_disk_dev): Change iterate prototype.
7971 All users updated.
7972 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7973 New proto.
7974 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7975 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7976 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7977 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7978 All users updated.
7979 * include/grub/util/raid.h: Removed.
7980
1c358e59
VS
79812011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * po/POTFILES.in: Regenerate.
7984
abee94ed
VS
79852011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 Unify sparc init with other ieee1275.
7988
7989 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7990 instead of kern/sparc64/ieee1275/init.c.
7991 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7992 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7993 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7994 grub/machine/kernel.h.
7995 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7996 (grub_claim_heap) [__sparc__]: Use sparc version.
7997 (grub_machine_init): Moved args parsing to
7998 (grub_parse_cmdline): ...this.
7999 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8000 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8001 New definition.
8002 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8003
8004 Move BOOTP to separate file.
8005
8006 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8007 * grub-core/net/net.c: Move all BOOTP functions to
8008 * grub-core/net/bootp.c: ... here.
8009
8010 Use frame interface on PXE.
8011
8012 * grub-core/Makefile.core.def (pxecmd): Removed.
8013 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8014 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8015 * grub-core/i386/pc/pxe.c: Moved from here ...
8016 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8017 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8018 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8019
8020 EFI network support.
8021
8022 * grub-core/Makefile.core.def (efinet): New module.
8023 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8024 here...
8025 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8026 All users updated.
8027 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8028 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8029 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8030 * grub-core/net/drivers/efi/efinet.c: New file.
8031 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8032 (grub_efi_net_config): New extern var.
8033
8034 Various cleanups and bugfixes.
8035
8036 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8037 error.
8038 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8039 disk declared as partition.
8040 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8041 leak on failure.
8042 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8043 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8044 (grub_debug_zalloc): Likewise.
8045 (grub_debug_realloc): Likewise.
8046 (grub_debug_memalign): Likewise.
8047 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8048 Check that target is IPv4.
8049 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8050 local-mac-address as fallback.
8051 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8052 memory leak.
8053 * grub-core/net/ip.c (ipchksum): Rename to ...
8054 (grub_net_ip_chksum): ... this. All users updated.
8055 (grub_net_recv_ip_packets): Special handling for DHCP.
8056 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8057
8058 Unify prefix handling
8059
8060 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8061 (grub_machine_get_bootlocation): ... this.
8062 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8063 (grub_machine_get_bootlocation): ... this.
8064 (grub_prefix): New variable.
8065 (prefix): Removed.
8066 (root_dev): New variable.
8067 (dir): Likewise.
8068 (main): Use new variables.
8069 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8070 Revamped into ...
8071 (grub_machine_get_bootlocation): ... this.
8072 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8073 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8074 (grub_machine_get_bootlocation): ... this.
8075 (grub_machine_set_prefix): Removed.
8076 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8077 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8078 Revamped into ...
8079 (grub_machine_get_bootlocation): ... this.
8080 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8081 (grub_set_prefix_and_root): ... this. All users updated.
8082 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8083 Revamped into ...
8084 (grub_machine_get_bootlocation): ... this.
8085 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8086 (grub_machine_get_bootlocation): New proto.
8087 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8088
8089 Less intrusive and more reliable seek on network implementation.
8090
8091 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8092 (grub_file_seek): Don't call grub_file_net_seek.
8093 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8094 (grub_net_fs_read_real): .. this.
8095 (grub_net_seek_real): Use net->offset.
8096 (grub_net_fs_read): Seek if necessary.
8097
8098 Unify IEEE1275 netwotk config with the other platforms.
8099
8100 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8101 New variable.
8102 (grub_machine_get_bootlocation): Support network.
8103 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8104 Support type and device parsing.
8105 (grub_ieee1275_get_device_type): New function.
8106 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8107 into ...
8108 (grub_ieee1275_net_config_real): ... this.
8109 (grub_ofnet_probecards): Removed.
8110 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8111 * include/grub/ieee1275/ofnet.h: Removed.
8112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8113 extern var.
8114 (grub_ieee1275_get_device_type): New function.
8115
8116 Unify network device closing across platforms and make more robust.
8117
8118 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8119 grub_grubnet_fini.
8120 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8121 already.
8122 * grub-core/net/net.c (grub_net_network_level_interface_register):
8123 Update num_ifaces.
8124 (grub_net_card_unregister): Close all interfaces.
8125 (receive_packets): Don't poll if no iterfaces are registered.
8126 Open if necessary.
8127 (grub_net_fini_hw): New function.
8128 (grub_net_restore_hw): Likewise.
8129 (fini_hnd): New variable.
8130 (GRUB_MOD_INIT): Register preboot hook.
8131 (GRUB_MOD_FINI): Run and unregister preboot hook.
8132
8133 Poll network cards when idle.
8134
8135 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8136 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8137 * grub-core/net/net.c (receive_packets): Save last poll time.
8138 (grub_net_poll_cards_idle_real): New function.
8139 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8140 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8141 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8142
8143 Rename ofnet interfaces.
8144
8145 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8146 (grub_ofnet_findcards): Use ofnet_%s names.
8147
8148 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8149
8150 Cleanup socket opening.
8151
8152 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8153 (grub_net_fs_close): Likewise.
8154 (grub_net_fs_read_real): Use eof member.
8155 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8156 (+grub_net_udp_close): New inline function.
8157
8158 * include/grub/net/tftp.h: Moved to the top of ...
8159 * grub-core/net/tftp.c: ... here.
8160 * include/grub/net/ip.h: Moved mostly to the top of ...
8161 * grub-core/net/ip.c: ... here.
8162 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8163 * grub-core/net/ethernet.c: ... here.
8164
8165 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8166
8167 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8168 FS name.
8169
8170 * include/grub/net/ip.h (ipv4_ini): Removed.
8171 (ipv4_fini): Likewise.
8172
8173 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8174 (grub_net_send_ip_packets): Likewise.
8175
cf1337aa
VS
81762011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8179 grub_read_cmos prototype.
8180
93c06ff9
VS
81812011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 VGA text support in qemu-mips
8184
8185 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8186 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8187 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8188 text.
8189 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8190 * grub-core/kern/vga_init.c: ... this.
8191 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8192 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8193 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8194 Adjust.
8195 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8196 GRUB_MACHINE_PCI_IO_BASE.
8197
748ccabe
VS
81982011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 MIPS qemu flash support.
8201
8202 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8203 magic.
8204 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8205 (grub_machine_init): Probe memory if its size isn't known.
8206 * util/grub-mkimage.c (image_targets): Add flash targets.
8207 (generate_image): Handle flash targets.
8208
d7345994
VS
82092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 MIPS qemu at_keyboard support.
8212
8213 * gentpl.py (videoinkernel): Add qemu-mips.
8214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8215 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8216 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8217 modules.
8218 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8219 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8220 * grub-core/term/serial.c (grub_serial_register)
8221 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8222
a07a81b3
VS
82232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 CMOS support on sparc.
8226
8227 * gentpl.py (cmos): Add powerpc and sparc.
8228 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8229 powerpc and sparc.
8230 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8231 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8232 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8233 grub_set_datetime_cmos.
8234 * grub-core/lib/ieee1275/cmos.c: New file.
8235 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8236 (find_rtc): Set no_ieee1275_rtc on error.
8237 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8238 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8239 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8240 fail. Move value to argument. All users updated
8241 (grub_cmos_write): Likewise.
8242 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8243 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8244 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8245 grub_get_datetime_cmos and grub_set_datetime_cmos.
8246
77546584
GS
82472011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8248
8249 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8250 sourcing grub-mkconfig_lib.
8251 * util/update-grub_lib.in: Likewise.
8252 * util/grub.d/00_header.in: Likewise.
8253 * util/grub.d/10_hurd.in: Likewise.
8254 * util/grub.d/10_kfreebsd.in: Likewise.
8255 * util/grub.d/10_linux.in: Likewise.
8256 * util/grub.d/10_netbsd.in: Likewise.
8257 * util/grub.d/10_windows.in: Likewise.
8258 * util/grub.d/20_linux_xen.in: Likewise.
8259 * util/grub.d/30_os-prober.in: Likewise.
8260
54894791
CW
82612011-06-28 Colin Watson <cjwatson@ubuntu.com>
8262
8263 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8264 default_bg_color rather than black.
8265 (grub_gfxterm_fullscreen): Likewise.
8266 (grub_gfxterm_background_color_cmd): Save new background color in
8267 default_bg_color.
8268
8d5d8444
VS
82692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8272
5afeb5bd
VS
82732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8276 mismerge.
8277
ba7df45e
VS
82782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Chainloading on coreboot support.
8281
8282 * grub-core/Makefile.core.def (chain): Add coreboot.
8283 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8284
d0b526b2
VS
82852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8288 if it happens.
8289
5ff1d945
VS
82902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 Implement time command.
8293
8294 * grub-core/Makefile.core.def (time): New module.
8295 * grub-core/commands/time.c: New file.
8296 * grub-core/script/parser.y: Remove "time" keyword.
8297 * grub-core/script/yylex.l: Likewise.
8298
5ebaad7e
VS
82992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8302
bdea3798
VS
83032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8306 when handling leftovers.
8307
b28c5655
VS
83082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8311 so that help2man doesn't fail.
8312
b6f945dc
VS
83132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8316 type in pointers on sparc64.
8317 (get_card_packet): Likewise.
8318
f9b75e8a
CW
83192011-06-27 Colin Watson <cjwatson@ubuntu.com>
8320
8321 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8322 with `*'.
8323 (grub_cmd_videoinfo): Fetch current video mode.
8324
1e3d9b86
VS
83252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8328 because of underlying system restrictions.
8329
efff4b1c
VS
83302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8333 necessary.
8334
9fc9ce37
VS
83352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 Coreboot video support.
8338
8339 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8340 (vbe): Likewise.
8341 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8342 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8343 here ...
8344 * grub-core/kern/i386/int.S: ... here.
8345 * grub-core/video/i386/pc/vbe.c: Updated includes.
8346 * grub-core/video/i386/pc/vga.c: Likewise.
8347 * include/grub/i386/coreboot/memory.h
8348 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8349 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8350 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8351 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8352 Disable interrupts.
8353 * include/grub/i386/pc/vga.h: Removed. All users updated.
8354
41bec7fe
VS
83552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8358 definitions for dprintf.
8359 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8360
ca80309d
VS
83612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8364 prototype.
8365 (get_card_packet): Likewise.
8366
9e322ce8
YB
83672011-06-26 Yves Blusseau <blusseau@zetam.org>
8368
8369 Display the path of the file when file is not found
8370
8371 * grub-core/fs/fat.c: Display the filename when file is not found.
8372 * grub-core/fs/fshelp.c: Likewise.
8373 * grub-core/fs/hfs.c: Likewise.
8374 * grub-core/fs/jfs.c: Likewise.
8375 * grub-core/fs/minix.c: Likewise.
8376 * grub-core/fs/ufs.c: Likewise.
8377 * grub-core/fs/btrfs.c: Likewise.
8378 * grub-core/commands/i386/pc/play.c: Likewise.
8379
cbf597af
SJ
83802011-06-26 Szymon Janc <szymon@janc.net.pl>
8381
8382 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8383 pointer checks before calling grub_free().
8384 * grub-core/commands/wildcard.c (match_devices): Likewise.
8385 * grub-core/commands/wildcard.c (match_files): Likewise.
8386 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8387 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8388 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8389 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8390 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8391 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8392 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8393 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8394 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8395
6295b32f
P
83962011-06-25 Patrick <p55@mailinator.com>
8397
8398 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8399
77c0840b
VS
84002011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8403 (grub_pxe_send): Likewise.
8404 (GRUB_MOD_INIT): Fix types.
8405
40ea05de
SJ
84062011-06-24 Szymon Janc <szymon@janc.net.pl>
8407
8408 * grub-core/io/xzio.c: Fix code style issues
8409
90162423
MRA
84102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
84112011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8412
8413 Network infrastructure.
8414 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8415
8416 * include/grub/net/arp.h: New file.
90162423
MRA
8417 * include/grub/net/device.h: Likewise.
8418 * include/grub/net/ethernet.h: Likewise.
8419 * include/grub/net/ip.h: Likewise.
8420 * include/grub/net/netbuff.h: Likewise.
8421 * include/grub/net/tftp.h: Likewise.
8422 * include/grub/net/udp.h: Likewise.
8423 * include/grub/ieee1275/ofnet.h: Likewise.
8424 * include/grub/emu/export.h: Likewise.
8425 * include/grub/net.h: Likewise.
8426 * grub-core/net/arp.c: Likewise.
8427 * grub-core/net/ethernet.c: Likewise.
8428 * grub-core/net/ip.c: Likewise.
8429 * grub-core/net/udp.c: Likewise.
8430 * grub-core/net/tftp.c: Likewise.
8431 * grub-core/net/netbuff.c: Likewise.
8432 * grub-core/net/net.c: Likewise.
8433 * grub-core/net/drivers/emu/emunet.c: Likewise.
8434 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8435 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8436 export.h.
8437 * grub-core/Makefile.core.def (net): New module.
8438 (tftp): Likewise.
8439 (ofnet): Likewise.
8440 (emunet): Likewise.
8441 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8442 network protocols.
8443 * grub-core/kern/device.c (grub_net_open) : New variable.
8444 (grub_device_open): Handle network device.
8445 (grub_device_close): Likewise.
8446 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8447 (grub_grubnet_fini): Likewise.
8448 (grub_file_seek): Seek in network device.
8449 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8450 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8451 network root.
8452 (grub_machine_fini): Call grub_grubnet_fini.
8453 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8454 network.
8455 (grub_ieee1275_get_aliasdevname): New function.
8456 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8457 Add unofficial Solaris network info.
8458 (grub_multiboot_make_mbi): Likewise.
8459 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8460 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8461 * include/grub/device.h (grub_fs): Removed.
8462 * include/grub/err.h (grub_err_t): Add network-related values.
8463 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8464 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8465 (grub_ieee1275_get_aliasdevname): New proto.
8466 * include/grub/net.h: Rewritten.
423a1849 8467
031f22a0
VS
84682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8471 names.
8472
4388ca72
VS
84732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8476 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8477 it truncates the output.
8478 Reported by: Ximin Luo.
8479
98e2f506
VS
84802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8483
2a5e94d8
VS
84842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8487 partmap before abstraction.
8488
535c1910
AK
84892011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8490
8491 * util/grub-mkconfig_lib.in: Add missing quotes.
8492
bc09e1a2
VS
84932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8496 old method if mountinfo would return /dev/root and /dev/root doesn't
8497 exist.
8498
290766fb
VS
84992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 ZFS zlib support
8502
8503 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8504 (decomp_table): Add zlib entries.
8505 (zio_read): USe 8 bits for compression function rather than 3.
8506 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8507
85082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * grub-core/disk/ahci.c: Add missing license statements.
8511 * grub-core/fs/romfs.c: Likewise.
8512 * grub-core/lib/ia64/setjmp.S: Likewise.
8513 * grub-core/loader/i386/pc/freedos.c: Likewise.
8514 * grub-core/loader/ia64/efi/linux.c: Likewise.
8515 * grub-core/video/colors.c: Likewise.
8516 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8517
5ab3f48a
VS
85182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 AHCI support.
8521
8522 * grub-core/Makefile.core.def (ata_pthru): Removed.
8523 (ahci): New module.
8524 (pata): Likewise.
8525 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8526 on unload.
8527 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8528 readwrite.
8529 (grub_hdparm_do_check_powermode_cmd): Likewise.
8530 (grub_hdparm_do_smart_cmd): Likewise.
8531 (grub_hdparm_set_val_cmd): Likewise.
8532 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8533 * grub-core/disk/ahci.c: New file.
8534 * grub-core/disk/ata.c: Factor out the low-level part into ...
8535 * grub-core/disk/pata.c: ... here.
8536 * grub-core/disk/ata_pthru.c: Contents moved to ...
8537 * grub-core/disk/pata.c: ... here.
8538 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8539 (grub_scsi_iterate): Use grub_scsi_names.
8540 (grub_scsi_open): Likewise.
8541 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8542 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8543 (grub_ata_regs_t): New struct.
8544 (grub_disk_ata_pass_through_parms): Likewise.
8545 (grub_ata_device): Renamed to ...
8546 (grub_ata): ... this.
8547 (grub_ata_dev): New struct.
8548 Removed all low-level inline functions.
8549 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8550 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8551 iterate hooks and open. All users updated.
8552 * util/grub-install.in: Handle AHCI disk module.
8553
c31dc5f5
SJ
85542011-06-23 Szymon Janc <szymon@janc.net.pl>
8555
8556 Add support for DRI and RSTn markers in JPEG files.
8557
8558 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8559 (JPEG_MARKER_RST0): Likewise.
8560 (JPEG_MARKER_RST1): Likewise.
8561 (JPEG_MARKER_RST2): Likewise.
8562 (JPEG_MARKER_RST3): Likewise.
8563 (JPEG_MARKER_RST4): Likewise.
8564 (JPEG_MARKER_RST5): Likewise.
8565 (JPEG_MARKER_RST6): Likewise.
8566 (JPEG_MARKER_RST7): Likewise.
8567 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8568 (grub_jpeg_decode_dri): New function.
8569 (grub_jpeg_decode_sos): Move image data related part into
8570 grub_jpeg_decode_data function.
8571 (grub_jpeg_decode_data): New function.
8572 (grub_jpeg_reset): New function.
8573 (grub_jpeg_decode_jpeg): Handle new markers.
8574
fe12fd5b
VS
85752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * util/ieee1275/ofpath.c (check_sas): Close fd.
8578 (main): Free of_path.
8579 Reported by: David Volgyes <dvolgyes>.
8580
03147f46
VS
85812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8584 Reported by: David Volgyes <dvolgyes>.
8585
cad3237f
VS
85862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8589 file after stat.
8590 Reported by: David Volgyes <dvolgyes>.
8591
13548d26
VS
85922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8595
8596 Reported by: David Volgyes <dvolgyes>.
8597
e061a1b5
VS
85982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8601 Prevent memory leak.
8602
1abe47dc
VS
86032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8606 (main): Close file.
e061a1b5 8607 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8608
fbc62666
VS
86092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8612 to continue if allocation is failed.
8613
8614 Reported by: David Volgyes <dvolgyes>.
8615
e98c83e9
DV
86162011-06-23 David Volgyes <dvolgyes>
8617
8618 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8619 dereference.
8620
a199a8cd
VS
86212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 Fix spurious warning.
8624
8625 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8626 (acorn_partition_map_find): Use .bin member.
8627
e2d1dba0
VS
86282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8631 /dev/root as a valid device.
8632
8a5d6919
JM
86332011-06-23 Jim Meyering <meyering@redhat.com>
8634
e2d1dba0
VS
8635 Avoid NULL deref in grub_device_open.
8636
8a5d6919
JM
8637 * grub-core/kern/device.c (grub_device_open): Don't dereference
8638 a NULL pointer upon failed grub_env_get.
8639
f7db6f4a
VS
86402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Support non-512B sectors and agglomerate reads.
8643
8644 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8645 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8646 (disk_io_guid): Removed.
8647 (make_devices): Locate solely by BlockIO.
8648 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8649 (grub_efidisk_read): Use read_blocks.
8650 (grub_efidisk_write): Use write_blocks.
8651 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8652 log_sector_size.
8653 (get_safe_sectors): Handle non-512B sectors.
8654 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8655 sectors.
8656 (grub_biosdisk_write): Handle non-512B sectors.
8657 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8658 (grub_scsi_read): Remove special non-512B block handling (now handled
8659 one level up).
8660 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8661 and do sanity checks.
8662 (grub_disk_adjust_range): Handle non-512B sectors.
8663 (transform_sector): New function.
8664 (grub_disk_read_small): Likewise.
8665 (grub_disk_read): Rewritten.
8666 (grub_disk_write): Handle non-512B sectors.
8667 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8668 log_sector_size.
8669 (open_device): Use log_sector_size.
8670 (grub_util_biosdisk_read): Likewise.
8671 (grub_util_biosdisk_write): Likewise.
8672 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8673 non-512B sectors.
8674 (pc_partition_map_embed): Likewise.
8675 * include/grub/disk.h (grub_disk): New field log_sector_size.
8676 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8677 (GRUB_DISK_CACHE_BITS): Increased to 6.
8678 * util/grub-fstest.c (fstest): New command testload.
8679 (argp_parser): Likewise.
8680
881ac815
RM
86812011-06-16 Robert Millan <rmh@gnu.org>
8682
8683 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8684 `ata' driver on kernel of FreeBSD 9.
8685
8686 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8687 (get_ataraid_disk_name): New functions.
8688 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8689 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8690 get_ataraid_disk_name() and get_ada_disk_name().
8691
1e9aef7d
CW
86922011-06-13 Colin Watson <cjwatson@ubuntu.com>
8693
8694 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8695 input format.
8696
351c7c8a
CW
86972011-05-29 Colin Watson <cjwatson@ubuntu.com>
8698
8699 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8700 `ftp.gnu.org' for `alpha.gnu.org'.
8701
6b4e6430
CW
87022011-05-27 Colin Watson <cjwatson@ubuntu.com>
8703
8704 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8705 partitions under /dev/disk/by-id/.
8706
c64db050
CW
87072011-05-27 Colin Watson <cjwatson@ubuntu.com>
8708
8709 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8710 after ten consecutive open failures. Scanning all the way up to
8711 10000 is excessive and can cause serious performance problems in
8712 some configurations.
8713 Fixes Ubuntu bug #787461.
8714
245f4aba
VS
87152011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8718 opening new one.
8719
f767c929
VS
87202011-05-21 Colin Watson <cjwatson@ubuntu.com>
87212011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 Don't stat devices unless we have to.
8724
8725 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8726 dir == /dev/mapper.
8727 (grub_guess_root_device): Use already known os_dev if possible.
8728 * grub-core/kern/emu/hostdisk.c
8729 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8730 if device is known to be a dm one.
8731
f35fa3a6
CW
87322011-05-20 Colin Watson <cjwatson@ubuntu.com>
8733
8734 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8735 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8736 Reported by: Pawel Tecza.
8737
9a79fcf2
VS
87382011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8741 (lsefisystab): Likewise.
8742 (lssal): Likewise.
8743 (lsefimmap): Likewise.
8744 (hdparm): Enable on qemu-mips.
8745 (setjmp): Add ia64 nodist.
8746 (serial): Simplify tags.
8747
63e3eea9
CW
87482011-05-18 Colin Watson <cjwatson@ubuntu.com>
8749
8750 * Makefile.util.def (grub-ofpathname): Install manual page.
8751
09728256
CW
87522011-05-18 Colin Watson <cjwatson@ubuntu.com>
8753
8754 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8755
8b63a142
CW
87562011-05-18 Colin Watson <cjwatson@ubuntu.com>
8757
8758 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8759
e775d8ed
VS
87602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8763 into dprintf.
8764
bf947d36
VS
87652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Use full 64-bit division.
8768
8769 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8770 (grub_divmod64): ... this.
8771 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8772 version.
8773
b84f26c5
CW
87742011-05-18 Colin Watson <cjwatson@ubuntu.com>
8775
8776 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8777 `source'.
8778
5626056f
CW
87792011-05-18 Colin Watson <cjwatson@ubuntu.com>
8780
8781 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8782 to avoid accidents when debugging with 'sh -x'.
8783 * grub-core/gensyminfo.sh.in: Likewise.
8784 * tests/example_scripted_test.in: Likewise.
8785 * tests/grub_cmd_regexp.in: Likewise.
8786 * tests/grub_script_blanklines.in: Likewise.
8787 * tests/grub_script_dollar.in: Likewise.
8788 * tests/grub_script_expansion.in: Likewise.
8789 * tests/grub_script_final_semicolon.in: Likewise.
8790 * tests/partmap_test.in: Likewise.
8791 * tests/util/grub-shell-tester.in: Likewise.
8792 * tests/util/grub-shell.in: Likewise.
8793
e2965f4a
CW
87942011-05-18 Colin Watson <cjwatson@ubuntu.com>
8795
8796 Move gfxmenu color handling to video, so that gfxterm can use it
8797 too.
8798
8799 * grub-core/gfxmenu/named_colors.c: Move to ...
8800 * grub-core/video/colors.c: ... here. Rename
8801 grub_gui_get_named_color to grub_video_get_named_color.
8802 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8803 * grub-core/video/colors.c (my_isxdigit): ... here.
8804 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8805 Move to ...
8806 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8807 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8808 to ...
8809 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8810
8811 * include/grub/gui.h (grub_gui_color_t): Move to ...
8812 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8813 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8814 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8815 * include/grub/gui.h (grub_gui_map_color): Move to ...
8816 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8817 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8818 to ...
8819 * include/grub/video.h (grub_video_get_named_color): ... here.
8820 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8821 * include/grub/video.h (grub_video_parse_color): ... here.
8822
8823 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8824 video/colors.c.
8825 (gfxmenu): Remove gfxmenu/named_colors.c.
8826 (video) [videomodules]: Add video/colors.c.
8827
8828 Add a background_color command.
8829
8830 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8831 function.
8832 (GRUB_MOD_INIT): Register background_color command.
8833 (GRUB_MOD_FINI): Unregister background_color command.
8834 (redraw_screen_rect): Allow blend/replace of text layer to be
8835 controlled independently from whether there is a background bitmap.
8836 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8837 changing bitmap.
8838
1e4b4390
VS
88392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8840
26618ff0
VS
8841 Patch BPB in ntldr and chainloader --bpb.
8842
1e4b4390
VS
8843 * grub-core/fs/fat.c: Include grub/fat.h.
8844 (grub_fat_bpb): Moved to ...
8845 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8846 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8847 grub/ntfs.h.
8848 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8849 Moved from here...
8850 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8851 here.
8852 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8853 New function.
8854 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8855 (GRUB_MOD_INIT): Show --bpb.
8856 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8857 * grub-core/normal/main.c (features): New variable.
8858 (GRUB_MOD_INIT): Set feature_* variables.
8859 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8860 proto.
8861 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8862
cf02731e
VS
88632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8866 for cleanness.
8867
e3a1073f
VS
88682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 FreeDOS direct loading support.
8871
8872 * docs/grub.texi (Supported OS): Add FreeDOS.
8873 * grub-core/Makefile.core.def (freedos): New module.
8874 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8875 variable.
8876 (grub_relocator16_boot): Handle %ebx.
8877 * grub-core/lib/i386/relocator16.S: Likewise.
8878 * grub-core/loader/i386/pc/freedos.c: New file.
8879
05caa461
VS
88802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Long Linux command line support.
8883
8884 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8885 (maximal_cmdline_size): New variable.
8886 (allocate_pages): Use maximal_cmdline_size.
8887 (grub_cmd_linux): Set and use maximal_cmdline_size.
8888 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8889 (allocate_pages): Use maximal_cmdline_size.
8890 (grub_cmd_linux): Set and use maximal_cmdline_size.
8891 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8892 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8893 and cmdline_size.
8894
a2491e23
VS
88952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
88962011-05-18 Colin Watson <cjwatson@ubuntu.com>
8897
8898 Improve devmapper support
8899
8900 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8901 (grub_util_is_lvm): New function.
8902 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8903 than lvm if not dmraid.
8904 Handle mapped md nodes.
8905 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8906 (grub_util_device_is_mapped): ... this. Make always available. All users
8907 updated.
8908 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8909 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8910 dmraid nodes.
8911 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8912
6ad6223e
VS
89132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8916
8917 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8918 * grub-core/modinfo.sh.in: New file.
8919 * grub-core/Makefile.core.def (modinfo.sh): New script.
8920 * util/grub-mknetdir.in: Use modinfo.sh.
8921 * util/grub-mkrescue.in: Likewise.
8922
543a8f6e
VS
89232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8926 Fix potential usage of Elf32 instead of Elf64 when compiling on
8927 32-bit architecture. Add endianness macros while on it.
8928
4959e111
VS
89292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Use mipsel- rather than mips- in directories involving mipsel ports to
8932 allow both endiannesses coexist.
8933
8934 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8935 mips. All conditions adjusted.
8936 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8937 variable.
8938 * util/grub-install.in: Adjust conditions to take renaming into account.
8939 * util/grub-mkimage.c (image_targets): Likewise. New target
8940 mips-qemu_mips-elf for bigendian mips.
8941
35341bbc
VS
89422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 Avoid unnecessary copying on MIPS.
8945
8946 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8947 early if src == dest.
8948 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8949 compression is none.
8950
b772baed
VS
89512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 Reduce memory footprint on SGI by putting modules before the kernel
8954 as opposed to after.
8955
8956 * grub-core/Makefile.core.def (kernel): Increase linking address.
8957 (none_decompress): Likewise.
8958 (xz_decompress): Likewise.
8959 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8960 address.
8961 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8962 layout change.
8963 (grub_arch_modules_addr): New function.
8964 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8965 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8966 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8967 here.
8968 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8969 (grub_total_modules_size): ... this. Make global.
8970 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8971 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8972 New definition.
8973 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8974 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8975 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8976 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8977 * util/grub-mkimage.c (image_target_desc): New flag
8978 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8979 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8980 (generate_image): Handle images with modules before kernel.
8981
566a1917
VS
89822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 Prevent potential loss of memory map by overwrite on qemu-mips.
8985
8986 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8987 Save ram size in $s4.
8988 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8989 All users changed to grub_arch_memsize.
8990 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8991 Loongson.
8992 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8993 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8994 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8995 external variable.
8996
5d420cd9
CW
89972011-05-17 Colin Watson <cjwatson@ubuntu.com>
8998
8999 * .bzrignore: Remove grub-dumpbios.
9000
d064b830
CW
90012011-05-17 Colin Watson <cjwatson@ubuntu.com>
9002
9003 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9004 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9005 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9006 existing options which append).
9007 * docs/grub.texi (Simple configuration): Document new options.
9008 Reported by: Ian Jackson. Fixes Debian bug #617538.
9009
3ca2b466
CW
90102011-05-17 Colin Watson <cjwatson@ubuntu.com>
9011
9012 * util/grub-fstest.c (cmd_cat): New function.
9013 (fstest): Handle CMD_CAT.
9014 (options): Add cat.
9015 (argp_parser): Handle cat.
9016
24c9143a
CW
90172011-05-17 Colin Watson <cjwatson@ubuntu.com>
9018
9019 * Makefile.util.def (grub-bin2h): Don't install.
9020 * docs/man/grub-bin2h.h2m: Remove.
9021
90f7ac19
VS
90222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9025 place.
9026
8d4a5178
VS
90272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 Reenable qemu-mips port.
9030
9031 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9032 Fix small arc bug while on it.
9033 * gentpl.py: Handle qemu_mips.
9034 * grub-core/Makefile.am: Likewise.
9035 * grub-core/Makefile.core.def: Likewise.
9036 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9037 inappropriate includes.
9038 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9039 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9040 * grub-core/kern/main.c (grub_modules_get_end)
9041 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9042 * grub-core/kern/mips/qemu-mips: Moved to ..
9043 * grub-core/kern/mips/qemu_mips: ... this.
9044 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9045 (grub_machine_init): Call terminfo_init and serial_init.
9046 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9047 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9048 New variable.
9049 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9050 parameter passing.
9051 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9052 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9053 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9054 * include/grub/mips/qemu_mips/cmos.h: New file.
9055 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9056 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9057 Removed.
9058 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9059 Use correct mips-style address.
9060 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9061 (GRUB_TICKS_PER_SECOND): Removed.
9062 (grub_get_rtc): Likewise.
9063 (grub_cpu_idle): Likewise.
9064 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9065 New definition.
9066 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9067 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9068 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9069 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9070 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9071 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9072 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9073 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9074
400b9371
VS
90752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 SGI ARCS port.
9078
9079 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9080 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9081 platforms.
9082 * configure.ac: New target mips-arc.
9083 * gentpl.py: Likewise.
9084 * grub-core/Makefile.am: Likewise.
9085 * grub-core/Makefile.core.def: Likewise.
9086 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9087 (none_decompress): Likewise.
9088 (lsdev): New module.
9089 (datetime): Use lib/arc/datetime.c on ARC.
9090 (part_dvh): New module.
9091 * grub-core/commands/arc/lsdev.c: New file.
9092 * grub-core/disk/arc/arcdisk.c: Likewise.
9093 * grub-core/kern/mips/arc/init.c: Likewise.
9094 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9095 aligned addresses.
9096 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9097 support.
9098 (grub_arch_dl_relocate_symbols): Likewise.
9099 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9100 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9101 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9102 platforms.
9103 * grub-core/lib/arc/datetime.c: New file.
9104 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9105 pci.h on non-loongson.
9106 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9107 (grub_linux_boot): Set unused registers to 0.
9108 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9109 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9110 * grub-core/mmap/mips/uppermem.c: ...here.
9111 * grub-core/partmap/dvh.c: New file.
9112 * grub-core/term/arc/console.c: Likewise.
9113 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9114 (grub_terminfo_set_current): Add terminal "arc".
9115 (grub_terminfo_readkey): Support ARC sequences.
9116 * include/grub/arc/arc.h: New file.
9117 * include/grub/arc/console.h: Likewise.
9118 * include/grub/disk.h (grub_disk_dev_id): Add
9119 GRUB_DISK_DEVICE_ARCDISK_ID.
9120 * include/grub/mips/arc/kernel.h: New file.
9121 * include/grub/mips/arc/memory.h: Likewise.
9122 * include/grub/mips/arc/time.h: Likewise.
9123 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9124 * include/grub/mips/kernel.h (grub_halt): ... here.
9125 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9126 here...
9127 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9128 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9129 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9130 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9131 proto.
9132 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9133 from here ...
9134 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9135 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9136 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9137 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9138 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9139 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9140 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9141 (grub_phys_addr_t): Moved from here ...
9142 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9143 (grub_vtop): Moved from here ...
9144 * include/grub/mips/memory.h (grub_vtop): ... here.
9145 (grub_map_memory): Moved from here ...
9146 * include/grub/mips/memory.h (grub_map_memory): ... here.
9147 (grub_unmap_memory): Moved from here ...
9148 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9149 (grub_machine_mmap_iterate): Moved from here ...
9150 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9151 (grub_mmap_get_lower): Moved from here ...
9152 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9153 (grub_mmap_get_upper): Moved from here ...
9154 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9155 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9156 here ...
9157 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9158 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9159 here ...
9160 * include/grub/mips/time.h (grub_get_rtc): ... here.
9161 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9162 here ...
9163 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9164 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9165 here ...
9166 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9167 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9168 definition.
9169 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9170 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9171 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9172 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9173 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9174 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9175 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9176 (GRUB_MACHINE_LINK_ADDR): Likewise.
9177 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9178 to 6.
9179 * util/grub-install.in: Run dvhtool on ARC.
9180 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9181 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9182
c8ecc840
VS
91832011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9186 blocks.
9187
153a4b55
VS
91882011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9191 after enabling port.
9192
ff44d107
VS
91932011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 Skip incorrect USB devices.
9196
9197 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9198 configcnt == 0.
9199 * include/grub/usb.h (grub_usb_err_t): New enum value
9200 GRUB_USB_ERR_BADDEVICE.
9201
638dbe4f
VS
92022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 Fuloong video init support.
9205
9206 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9207 well.
9208 (grub_vga_read_arx): New function.
9209 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9210 definition.
9211 (framebuffer): New members io, mmioptr and mmiobase.
9212 (read_sis_cmd): New function.
9213 (write_sis_cmd): Likewise.
9214 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9215 rather than 640x400.
9216 * grub-core/video/sis315_init.c: New file.
9217
c3fc520c
VS
92182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9219
9220 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9221 non-loongson.
9222 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9223 to grub_dl_register_symbol.
9224
67b1e5c9
VS
92252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 Fix compilation errors.
9228
9229 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9230 potentially unused.
9231 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9232 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9233 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9234 to loongson machines.
9235
b756f75f
VS
92362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 Several FS mtime support.
9239
9240 * grub-core/fs/affs.c (grub_affs_time): New struct.
9241 (grub_affs_file): New field mtime.
9242 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9243 type. Removed 'size'. New field 'di'. All users updated.
9244 (grub_affs_mount): Simplify checsum checking.
9245 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9246 (grub_affs_dir): Handle mtime.
9247 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9248 (grub_cpio_dir): Likewise.
9249 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9250 (grub_hfs_filerec): New field mtime.
9251 (grub_hfs_dir): Handle mtime.
9252 (grub_hfs_mtime): New function.
9253 (grub_hfs_fs): Register grub_hfs_mtime.
9254 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9255 (grub_iso9660_dir): New field mtime.
9256 (grub_fshelp_node): New field dirent.
9257 (iso9660_to_unixtime): New function.
9258 (iso9660_to_unixtime2): Likewise.
9259 (grub_iso9660_read_symlink): Use node->dirent.
9260 (grub_iso9660_iterate_dir): Likewise.
9261 (grub_iso9660_dir): Set mtime.
9262 (grub_iso9660_mtime): New function.
9263 (grub_iso9660_fs): Register grub_iso9660_mtime.
9264 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9265 (grub_jfs_inode): New fields atime, ctime and mtime.
9266 (grub_jfs_dir): Set mtime.
9267 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9268 * grub-core/fs/ntfs.c (list_file): Set mtime.
9269 (grub_ntfs_dir): Likewise.
9270 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9271 (grub_reiserfs_iterate_dir): Set mtime.
9272 (grub_reiserfs_dir): Likewise.
9273 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9274 (grub_fshelp_node): Likewise.
9275 (grub_sfs_iterate_dir): Set mtime.
9276 (grub_sfs_dir): Likewise.
9277 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9278 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9279 (grub_xfs_inode): New fields atime, mtime, ctime.
9280 (grub_xfs_dir): Set mtime.
9281 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9282 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9283 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9284
9285 Support UDF symlinks.
9286
9287 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9288 (grub_ufs_read_symlink): New function. All users updated.
9289
9290 Check amiga partmap checksum.
9291
9292 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9293 (grub_amiga_partition): Likewise.
9294 (amiga_partition_map_checksum): New function.
9295 (amiga_partition_map_iterate): Check checksum.
9296
5470225d
VS
92972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 ROMFS support.
9300
9301 * Makefile.util.def (libgrubmods.a): Add romfs.
9302 * grub-core/Makefile.core.def (romfs): New module.
9303 * grub-core/fs/romfs.c: New file.
9304
d4680a35
VS
93052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Squashfs v4 support.
9308
9309 * Makefile.util.def (libgrubmods.a): Add squash4.
9310 * grub-core/Makefile.core.def (squash4): New module.
9311 * grub-core/fs/squash4.c: New file.
9312 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9313 disk_input_start, disk_input.
9314 (get_byte): Handle disk_input.
9315 (grub_zlib_disk_read): New function.
9316 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9317
bcb18e74
FZ
93182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
93192011-05-15 Feiran Zheng <famcool@gmail.com>
9320
9321 * Makefile.util.def (libgrubmods.a): Add minix3.
9322 * grub-core/Makefile.core.def (minix3): New module.
9323 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9324 (GRUB_MINIX_BSIZE): Removed.
9325 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9326 (grub_minix_ino_t): New type.
9327 (grub_minix_le_to_cpu_ino): New macro.
9328 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9329 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9330 (grub_minix_data): New field block_size.
9331 (grub_minix_read_file): Handle 64-bit correctly.
9332 * grub-core/fs/minix3.c: New file.
9333
32297d5f
TG
93342011-05-15 Tristan Gingold <gingold@free.fr>
93352011-05-15 Robert Millan <rmh.grub@aybabtu.com>
93362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 IA64 support.
9339
9340 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9341 * configure.ac: Add ia64-efi target.
9342 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9343 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9344 * gentpl.py: Add ia64_efi platform.
9345 Rename x86_efi to efi and Add ia64-efi. All users updated.
9346 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9347 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9348 Remove kern/generic/rtc_get_time_ms.c on EFI.
9349 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9350 kern/ia64/dl_helper.c on ia64-efi.
9351 Add kern/emu/cache.c on emu.
9352 (linux): Use on loader/ia64/efi/linux.c on ia64.
9353 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9354 whether symbol is a function.
9355 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9356 (grub_symbol): New field 'isfunc'.
9357 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9358 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9359 (grub_dl_load_segments): Place all sections into the same region.
9360 [__ia64__]: Create trampolines and got.
9361 [GRUB_MACHINE_EMU]: Call mprotect.
9362 (grub_dl_resolve_symbols): Resolve symbol type as well.
9363 [__ia64__]: Create function descriptors.
9364 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9365 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9366 (grub_get_rtc): New function.
9367 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9368 * grub-core/kern/emu/cache.S: Renamed to ...
9369 * grub-core/kern/emu/cache_s.S: ... this.
9370 [__ia64__]: Add a nop.
9371 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9372 [__ia64__]: New function.
9373 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9374 * grub-core/kern/ia64/dl.c: New file.
9375 * grub-core/kern/ia64/dl_helper.c: Likewise.
9376 * grub-core/kern/ia64/efi/init.c: New file.
9377 * grub-core/kern/ia64/efi/startup.S: Likewise.
9378 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9379 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9380 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9381 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9382 * grub-core/loader/ia64/efi/linux.c: New file.
9383 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9384 (GRUB_MOD_DEP): Likewise.
9385 (grub_dl) [__ia64__]: New fields got and tramp.
9386 (grub_dl): New field 'base'.
9387 (grub_dl_register_symbol): New argument isfunc. All users updated.
9388 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9389 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9390 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9391 (grub_ia64_dl_get_tramp_got_size): New proto.
9392 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9393 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9394 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9395 * include/grub/efi/api.h: Skip call wrappers on ia64.
9396 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9397 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9398 * include/grub/elf.h (ELF_ST_INFO): New definition.
9399 * include/grub/ia64/efi/kernel.h: New file.
9400 * include/grub/ia64/efi/memory.h: Likewise.
9401 * include/grub/ia64/efi/time.h: Likewise.
9402 * include/grub/ia64/kernel.h: Likewise.
9403 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9404 * include/grub/ia64/time.h: New file.
9405 * include/grub/ia64/types.h: Likewise.
9406 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9407 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9408 New protos.
9409 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9410 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9411 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9412 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9413 All users updated.
9414 (EFI64_HEADER_SIZE): New definition. All users updated.
9415 (image_targets): Add ia64-efi.
9416 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9417 jumpers_addr. All users updated.
9418 Create function descriptors.
9419 (count_funcs): New function.
9420 (unaligned_uint32): New struct.
9421 (MASK20): New definition.
9422 (MASK19): Likewise.
9423 (MASKF21): Likewise.
9424 (add_value_to_slot_20b): New function.
9425 (add_value_to_slot_21_real): Likewise.
9426 (add_value_to_slot_21): Likewise.
9427 (ia64_kernel_trampoline): New struct.
9428 (nopm): New variable.
9429 (jump): Likewise.
9430 (make_trampoline): New function.
9431 (relocate_addresses): Handle ia64.
9432 (make_reloc_section): Likewise.
9433 (load_image): Likewise.
9434
983b414d
VS
94352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9438 warning. Move variables before code while on it.
9439
5d063cdc
VS
94402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 Fuloong support.
9443
9444 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9445 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9446 * grub-core/boot/mips/loongson/fuloong.S: New file.
9447 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9448 Explicitly init CS5536.
9449 [FULOONG]: Don't use serial until CS5536 is available.
9450 Set GPIO based on dumps.
9451 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9452 [FULOONG]: Handle GPIO and memory controller differences.
9453 Parse machine type in $a2.
9454 * grub-core/boot/mips/startup_raw.S: Determine and save the
9455 architecture.
9456 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9457 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9458 init on architecture type.
9459 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9460 SIS315E. Don't init at_keyboard on fuloong.
9461 (grub_halt): Support Fuloong.
9462 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9463 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9464 (loongson_machtypes): New array.
9465 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9466 type.
9467 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9468 config. All users updated. Handle CS5536 serial.
9469 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9470 default port on machine type. Register serial as inactive.
9471 * grub-core/video/sis315pro.c: New file.
9472 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9473 definition.
9474 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9475 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9476 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9477 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9478 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9479 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9480 to ...
9481 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9482 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9483 definition.
9484 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9485 (grub_arch_machine): New extern var.
9486 * include/grub/mips/loongson/serial.h
9487 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9488 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9489 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9490 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9491 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9492 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9493 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9494 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9495 * include/grub/term.h (grub_term_register_input_inactive): New inline
9496 function.
9497 (grub_term_register_output_inactive): Likewise.
9498 * include/grub/video.h (grub_video_driver_id): New value
9499 GRUB_VIDEO_DRIVER_SIS315PRO.
9500 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9501 New field "names". All users updated.
9502 New field value IMAGE_FULOONG_FLASH.
9503 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9504
6ada82d1
JU
95052011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9506
9507 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9508 and add some clarification.
9509
90c571a4
VS
95102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9513 platforms if kernel is compressed.
9514
de04eecf
VS
95152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9518 unused modules since currently referrence counter isn't reliable and
9519 there isn't much memory to recover there anyway.
9520
57688121
VS
95212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9524 rather than resetting it to allow modules to reference themselves
9525 in init.
9526
3d2c7e35
VS
95272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9530 counter on dependencies since grub_dl_unref already handles this.
9531
b25db218
VS
95322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9535 on error if not already done.
9536
25a45338
VS
95372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 Fix few potential memory misusage.
9540
9541 * grub-core/font/font.c (load_font_index): Don't free char_index to
9542 avoid double free.
b25db218
VS
9543 (grub_font_load): Zero-fill font at alloc for safety.
9544 Close file on error.
9545 (free_font): Free bmp_idx.
25a45338 9546
0cac83df
VS
95472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * docs/grub.texi (Installation): Fix several outdated claims.
9550
2217a143
VS
95512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 Handle module_license on windows.
9554
9555 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9556 sections shifted.
9557 (insert_string): Make argument const char * instead of char *.
9558 (write_section_data): Handle long section names.
9559 Handle module_license.
9560
d4de6b01
VS
95612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9564 handle class-free menuentries.
9565 (grub_normal_add_menu_entry): Add a check to be sure.
9566
4c2a3b43
VS
95672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9570 PgUp and PgDown.
9571
85c6210f
VS
95722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * configure.ac: Bump version to 1.99.
9575
36084912
VS
95762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 Give ATA device a bit more time on first try in order to allow disks
9579 to spin up.
9580
9581 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9582 if dev->present is 1. Reset dev->present on failure.
9583 (grub_ata_device_initialize): Set dev->present to 1.
9584 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9585 (grub_ata_device): New member 'present'.
9586
bda0e219
VS
95872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * util/grub-mkimage.c (generate_image): Update hash.
9590
19e1c41b
VS
95912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 Flush caches on DMA memory.
9594
9595 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9596 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9597 (grub_dma_free): Likewise.
9598 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9599
91bbcc0c
VS
96002011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9603 to avoid asm treating ld and sd as macros.
9604
60ddfad3
VS
96052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9608 decompressor.
9609
a298aa04
VS
96102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9613 grub_decompress_core since later would fail if grub_decompress_core
9614 is too far.
9615
9b44feca
VS
96162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9619 R_MIPS_JALR since it's used by newer compiler.
9620
56dbe7b4
VS
96212011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9624
52856af2
VS
96252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9628 file_path to 0 for surety.
9629 (grub_chainloader_boot): Set exit_data to NULL.
9630 Unset the loader once done.
9631 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9632
9c9bfc6d
VS
96332011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9636 unknown key into a dprintf.
9637
dd94a3df
VS
96382011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9641 on first non-existant partition.
9642
fa68d99c
VS
96432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9646 openning fails.
9647 Reported by: Mark Korenberg.
9648
157effb7
VS
96492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9652 overflow.
9653
ea75312f
VS
96542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9657 before closing to ensure that it will be readable by grub-setup.
9658
072b5d31
VS
96592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9662 (devpath_1): Use MAKE_PIWG_PATH.
9663 (devpath_2): Likewise.
9664 (devpath_3): Likewise.
9665 (devpath_4): Likewise.
9666 (devpath_5): Likewise.
9667 (devpath_6): Likewise.
9668
9669 The appleldr.mod was checked that to be binary identical to previous
9670 version.
9671
7fae0051
Z
96722011-05-05 Zach <mikezackles>
9673
9674 Support 2010 Macbooks.
9675
9676 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9677 (devs): Add devpath_6.
9678
7c515bee
VS
96792011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9682 /dev/random. /dev/urandom is good enough for our purposes (salting).
9683
ed660bd8
VS
96842011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9687
ee5614b7
VS
96882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9691 hexadecimal.
9692
664889a6
VS
96932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9696 and not 0 on failure.
9697
bd405bbc
CW
96982011-05-03 Colin Watson <cjwatson@ubuntu.com>
9699
9700 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9701 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9702 disk; otherwise grub_fs_probe will not fall back to the next
9703 filesystem.
9704 (grub_pxefs_open): Likewise, for consistency.
9705 Reported and tested by: Ezekiel Grave.
9706
4ebff753
CW
97072011-05-03 Colin Watson <cjwatson@ubuntu.com>
9708
9709 * tests/partmap_test.in: Don't hardcode path to parted.
9710 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9711
8f942553
CW
97122011-05-01 Colin Watson <cjwatson@ubuntu.com>
9713
9714 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9715 of `ls' to find out which devices are available.
9716
3c62402d
VS
97172011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9720 than source address for efi mmap buffer.
9721
723f63f2
VS
97222011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9725 wrong action on non-detecting the magic.
9726
68797f92
VS
97272011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9730 already supplied by another part of the module (fixes compilation on
9731 FreeBSD).
9732
6be8715d
VS
97332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9736 match the one used by mdadm.
9737
e91dba5b
CW
97382011-04-21 Colin Watson <cjwatson@ubuntu.com>
9739
9740 * po/README: Add instructions for creating po/LINGUAS.
9741
c85140b3
CW
97422011-04-21 Colin Watson <cjwatson@ubuntu.com>
9743
9744 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9745 #551428.
9746
9747 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9748 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9749 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9750 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9751 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9752 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9753 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9754 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9755 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9756 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9757 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9758 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9759 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9760 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9761 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9762 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9763 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9764 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9765 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9766 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9767 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9768 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9769
92051871
CW
97702011-04-21 Colin Watson <cjwatson@ubuntu.com>
9771
9772 * grub-core/kern/emu/getroot.c
9773 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9774 test that was incorrectly reintroduced in r3214.
9775 Reported by: Ian Dall. Fixes Savannah bug #33133.
9776
b13f79a4
CW
97772011-04-21 Colin Watson <cjwatson@ubuntu.com>
9778
9779 Fix stack pointer handling in 16-bit relocator.
9780
9781 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9782 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9783 Fixes Ubuntu bug #683904.
9784
9b710a88
VS
97852011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * configure.ac: Bump version to 1.99~rc2.
9788
d97e7b59
VS
97892011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9792 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9793 * grub-core/lib/x86_64/setjmp.S: Likewise.
9794 * grub-core/lib/mips/setjmp.S: Likewise.
9795 * grub-core/lib/powerpc/setjmp.S: Likewise.
9796 * grub-core/lib/sparc64/setjmp.S: Likewise.
9797
0624551c
VS
97982011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9801 * grub-core/lib/efi/datetime.c: Likewise.
9802
e8f28d4c
VS
98032011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9806 New function.
9807 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9808 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9809 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9810
bba79a15
VS
98112011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9814 bitmap.
9815 (grub_gfxterm_term_init): Likewise.
9816
abc474ef
VS
98172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 Take into account the decorations the computing menu entry width.
9820
9821 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9822 (grub_gfxmenu_create_box): Register get_border_width.
9823 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9824 if available.
9825 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9826 get_border_width.
9827
e74b3947
EP
98282011-04-18 Endres Puschner <code@e7p.de>
9829
9830 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9831 Don't skip first class.
9832
34faa595
VS
98332011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9836 chunks.
9837 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9838
93a777e3
VS
98392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 Complete 64-bit division support.
9842
9843 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9844 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9845 * include/grub/misc.h (grub_divmod64): Rename to ...
9846 (grub_divmod64_full): ... this.
9847 (grub_divmod64): New inline function.
9848
a5102d94
VS
98492011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9852
f3fb7b36
VS
98532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9856 performing the necessary test.
9857
9ac718b0
VS
98582011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9861 (kfreebsd.elf): Likewise.
9862 (pc-chainloader.elf): Likewise.
9863 (ntldr.elf): Likewise.
9864
50d2cc5a
VS
98652011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 Identify RAID by its UUID rather than (guessed) name.
9868
9869 * grub-core/disk/raid.c (ascii2hex): New function.
9870 (grub_raid_open): Accept mduuid/%s specification.
9871 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9872 (get_mdadm_uuid): ... this.
9873 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9874
e03f7bea
VS
98752011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9878 to negative size.
9879
e74c3112
CW
98802011-04-13 Colin Watson <cjwatson@ubuntu.com>
9881
9882 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9883 btrfs subvolume.
9884 * util/grub.d/20_linux_xen.in: Likewise.
9885
78fa584f
CW
98862011-04-13 Colin Watson <cjwatson@ubuntu.com>
9887
9888 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9889 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9890
9891 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9892 Build a list of relevant visible mounts using the mnt_id and
9893 parent_mnt_id fields, and then scan that list at the end.
9894
9d5f8162
CW
98952011-04-12 Colin Watson <cjwatson@ubuntu.com>
9896
9897 * docs/grub.texi (normal): New section.
9898 (normal_exit): New section.
9899 (Embedded configuration): Add reference to normal.
9900 (GRUB only offers a rescue shell): Likewise.
9901 * docs/grub-dev.texi (Error Handling): Fix typo.
9902
09a9d66f
CW
99032011-04-12 Colin Watson <cjwatson@ubuntu.com>
9904
9905 * NEWS: Drop obsolete entry about probe-only btrfs support.
9906
0c676933
CW
99072011-04-12 Colin Watson <cjwatson@ubuntu.com>
9908
9909 * util/import_gcry.py: Fix typo.
9910
ec9f5e0d
VS
99112011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * NEWS: Add btrfs support.
9914
fe6b2cba
VS
99152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
99162011-04-11 Colin Watson <cjwatson@ubuntu.com>
9917
9918 BtrFS support. Written by me (Vladimir) with important bugfixes and
9919 even more important testing by Colin.
9920
9921 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9922 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9923 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9924 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9925 mem_input_off and mem_input. All users updated to accept in-RAM input.
9926 (gzio_seek): New function.
9927 (test_zlib_header): Likewise.
9928 (grub_gzio_read): Likewise.
9929 (grub_zlib_decompress): Likewise.
9930 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9931 Accept partial and non-virtual mounts.
9932 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9933 avoid receiving /dev/dm-X as device.
9934 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9935 Handle bind and partial mounts.
9936 * grub-core/lib/crc.c: New file.
9937 * include/grub/deflate.h: Likewise.
9938 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9939 proto.
9940 * include/grub/lib/crc.h: New file.
9941
e745cf0c
VS
99422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 Implement automatic module license checking according to new GNU
9945 guidelines.
9946
9947 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9948 (grub_dl_load_core): Use grub_dl_check_license.
9949 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9950 (GRUB_MOD_LICENSE): Likewise.
9951 (GRUB_MOD_DUAL_LICENSE): Likewise.
9952 All modules updated.
9953
2a9bc016
CW
99542011-04-11 Colin Watson <cjwatson@ubuntu.com>
9955
9956 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9957 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9958 loaders.
9959 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9960
8a3bc88e
VS
99612011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9964
af869a4a
VS
99652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9968 failed.
9969
9ee8d94f
VS
99702011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9973 parenthesis in the middle of the filename.
9974
b01abe3e
VS
99752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9978 rather than trying to put initrd way too high.
9979 Reported by: Ryan Lortie <desrt@desrt.ca>
9980
335bda1e
VS
99812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9984 improperly removed string.
9985
5ca1a64d
VS
99862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9989 is_disk.
9990 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9991 (open_device) Likewise.
9992 (grub_util_biosdisk_close): Likewise.
d8ce9995 9993 Reported by: Mark Korenberg.
5ca1a64d 9994
cbac5b1e
AK
99952011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9996
9997 * util/grub-mkconfig_lib.in: Add missing quotes.
9998
088cdb65
CW
99992011-04-10 Colin Watson <cjwatson@ubuntu.com>
10000
10001 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10002 is NULL.
10003
8b8a81fa
VS
100042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 Dynamically count the number of lines for the lower banner.
10007
10008 * grub-core/normal/menu_entry.c (per_term_screen): New member
10009 num_entries.
10010 (print_down): Use num_entries.
10011 (update_screen): Likewise.
10012 (grub_menu_entry_run): Set num_entries.
10013 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10014 num_entries.
10015 (grub_print_message_indented): Move real part to ...
10016 (grub_print_message_indented_real): ... here. Additional argument
10017 dry_run.
10018 (draw_border): Additional argument num_entries.
10019 (print_message): Additional argument dry_run.
10020 (print_entries): Receive menu viewer data.
10021 (grub_menu_init_page): New argment num_entries.
10022 (menu_text_set_chosen_entry): Use num_entries.
10023 (grub_menu_try_text): Likewise.
10024 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10025 All users updated.
10026 (grub_ucs4_count_lines): New function.
10027 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10028 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10029 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10030 (grub_term_border_height): Likewise.
10031 (grub_term_num_entries): Likewise.
10032
277f955b
VS
100332011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10034
10035 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10036 Remove now unused string.
10037
536ce85a
CW
100382011-04-09 Colin Watson <cjwatson@ubuntu.com>
10039
10040 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10041 build system.
10042 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10043
10044 (Comment): Fix typo.
10045 (Getting started): General copy-editing.
10046 (Typical Development Experience): Likewise.
10047 (Error Handling): Likewise.
10048 (Video API): Likewise.
10049
2cf09e32
CW
100502011-04-09 Colin Watson <cjwatson@ubuntu.com>
10051
10052 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10053 throughout.
10054
1ec652f4
VS
100552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10058 directory.
10059
2c583728
CW
100602011-04-08 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10063 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10064 "development".
10065
d7a565e9
VS
100662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10069 grub_strcpy since the lines aren't necessarily 0-terminated.
10070
7c2e4909
VS
100712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10074 root on legacy.
10075
34c09785
VS
100762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10079 (GRUB_MOD_INIT): DEVICE isn't optional.
10080
6a6f8058
VS
100812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10084 word on new line if it's too long anyway. Fixes a hang.
10085
2e335e90
VS
100862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10089 const.
10090 * util/grub-setup.c (main): Reuse md device name if available.
10091 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10092 not GRUB name as argument.
10093 Based on patch by: Florian Wagner <fwagner>.
10094
10a7a867
VS
100952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10098 Place mbi on low memory for better compatibility.
10099
7a3d6cd9
VS
101002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10103
18dd6b47
VS
101042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
101052011-04-08 Colin Watson <cjwatson@ubuntu.com>
10106
10107 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10108 * conf/Makefile.common: Likewise.
18dd6b47 10109
3c0e3f14
VS
101102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10111
f7148863
VS
10112 * grub-core/normal/menu.c: Add missing include.
10113
101142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10117
6d1fa41f
MZ
101182011-04-08 Martin Zuther <mzuther@mzuther.de>
10119
10120 * util/grub-mkconfig.in: Ignore emacsen backup.
10121
478182a8
VS
101222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10125 on open.
10126 (grub_util_biosdisk_close): Likewise.
10127
72a89a54
VS
101282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10131 const attribute and use grub_isdigit.
10132
b5ebecfa
A
101332011-04-06 Andrey <dev_null@ukr.net>
10134
10135 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10136 gcc warning.
10137
7755f66e
VS
101382011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10141 useful grub_dprintf's.
10142
461121ff
VS
101432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10146
2a961775
VS
101472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10150
adf594cc
VS
101512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Output errors if theme loading failed.
10154
10155 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10156 grub_gfxterm_fullscreen on error paths to ...
10157 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10158 theme loading error.
10159
665900a3
VS
101602011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10163 space for older compilers.
10164 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10165
a562b479
VS
101662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10169 and report them as not RAID members since they are useless for GRUB.
10170 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10171
850e9373
VS
101722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 Increase LVM implementation robustness in order not to crash on
10175 configurations like pvmove. Previously code assumed that in some places
10176 only lvs or only pvs are used whereas it seems that they are used
10177 interchangeably.
10178
10179 * grub-core/disk/lvm.c (read_node): New function.
10180 (read_lv): Use read_node.
10181 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10182 Match volumes only at the end when all lvs are found. Take both
10183 pvs (first) and lvs (second) into account.
10184 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10185 mirror_* into node_*. All users updated.
10186 (grub_lvm_stripe): Merge this ...
10187 (grub_lvm_mirror): ... and this ...
10188 (grub_lvm_node): ... into this. All users updated.
10189
6f332153
VS
101902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10193 of function to allow further scanning for LVMs.
10194
829ea451
VS
101952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10198 on failed seek as it breaks open fd reusage.
10199
09ceb9a5
VS
102002011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * util/grub-install.in: Add a recommendation to use --recheck before
10203 reporting bugs.
10204
67e11623
VS
102052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10208 are obtained.
10209
caee5efd
VS
102102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 GRUB developper manual based on existing Internals section and
10213 contributions by the various authors with active copyright assignment.
10214
10215 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10216 * docs/font_char_metrics.png: New file.
10217 * docs/font_char_metrics.txt: Likewise.
10218 * docs/grub-dev.texi: Likewise.
10219 * docs/grub.texi (Internals): Move from here ...
10220 * docs/grub-dev.texi: ... here.
10221
2cccc747
CW
102222011-04-01 Colin Watson <cjwatson@ubuntu.com>
10223
10224 Store the loopback device as data on loopback grub_disk structures,
10225 rather than the file it points to. This fixes use of freed memory
10226 if an existing loopback device is replaced.
10227
10228 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10229 disk->data, not dev->file.
10230 (grub_loopback_read): Adjust file assignment to match.
10231 Fixes Ubuntu bug #742967.
10232
186ae367
CW
102332011-04-01 Colin Watson <cjwatson@ubuntu.com>
10234
10235 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10236 when replacing an existing device.
10237
cfed2ad0
VS
102382011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10241 memory corruptions.
10242
10243 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10244 unsigned.
10245 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10246 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10247 (grub_jfs_read_inode): Likewise.
10248 (grub_jfs_opendir): Likewise. Remove now useless casts.
10249 (grub_jfs_getent): Likewise.
10250 Make ino a grub_uint32_t rather than int.
10251 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10252 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10253 division and module with bit operations.
10254 (grub_jfs_find_file): Make ino a grub_uint32_t.
10255 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10256
05d2ed32
CW
102572011-04-01 Colin Watson <cjwatson@ubuntu.com>
10258
10259 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10260 warning. (This was in fact always initialised before use, but GCC
10261 wasn't smart enough to prove that.)
10262 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10263
91dc6073
VS
102642011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10267 stack alignment.
10268 (efi_wrap_1): Likewise.
10269 (efi_wrap_2): Likewise.
10270 (efi_wrap_3): Likewise.
10271 (efi_wrap_4): Likewise.
10272 (efi_wrap_5): Likewise.
10273 (efi_wrap_6): Likewise.
10274 (efi_wrap_10): Likewise.
10275 Based on information by: Red Hat/Peter Jones.
10276
a8afc1d1
CW
102772011-03-31 Colin Watson <cjwatson@ubuntu.com>
10278
10279 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10280 set-but-not-used variable.
10281
a826cc7d
CW
102822011-03-31 Colin Watson <cjwatson@ubuntu.com>
10283
10284 * docs/grub.texi (Simple configuration): Be more explicit about
10285 GRUB_DEFAULT, and add an example.
10286 Reported by: Leslie Rhorer.
10287
875b67ba
CW
102882011-03-30 Colin Watson <cjwatson@ubuntu.com>
10289
10290 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10291 shell".
10292
fd7cd914
AS
102932011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10294
10295 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10296 * util/grub.d/20_linux_xen.in: Likewise.
10297
090b1b6a
VS
102982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * util/grub.d/10_linux.in: Try alternative config filenames where
10301 we parse config file.
10302 * util/grub.d/20_linux_xen.in: Likewise.
10303
baad885c
AS
103042011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10305
10306 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10307 * util/grub.d/20_linux_xen.in: Likewise.
10308
241e41f5
VS
103092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/disk/raid.c (insert_array): Add few potentially
10312 useful grub_util_info.
10313 (grub_raid_register): Likewise.
10314
56445fb2
VS
103152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10318 Preserve partition number in mdadm code path.
10319
c871b1c6
VS
103202011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10323 few potentially useful grub_util_info.
10324
5e631b4f
CW
103252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10328
2d5d0333
CW
103292011-03-30 Colin Watson <cjwatson@ubuntu.com>
10330
10331 * docs/grub.texi (default): Use @example rather than nested
10332 itemized lists to avoid breaking gendocs.
10333
3d7ed04e
CW
103342011-03-30 Colin Watson <cjwatson@ubuntu.com>
10335
10336 * docs/grub.texi (Future): Update.
10337
abf04200 103382011-03-30 Colin Watson <cjwatson@ubuntu.com>
10339
10340 * docs/grub.texi (Environment): New chapter.
10341 (Changes from GRUB Legacy): Link to "Environment block" section for
10342 details of limitations.
10343 (Simple configuration): Likewise. Link to documentation of gfxmode
10344 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10345 respectively.
10346 (Shell-like scripting): Note that normal variables are stored in the
10347 environment.
10348 (gettext): Link to documentation of lang and locale_dir.
10349 (list_env): New section.
10350 (load_env): New section.
10351 (save_env): New section.
10352
10353 (Reporting bugs): Fix typo.
10354
e1ad0edd
VS
103552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10358 the example.
10359
5d803174
VS
103602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/term/at_keyboard.c (set_scancodes)
10363 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10364
2a2da1d0
CW
103652011-03-30 Colin Watson <cjwatson@ubuntu.com>
10366
10367 * docs/grub.texi (Menu-specific commands): Remove some semantics
10368 that were true in GRUB Legacy but not in GRUB 2.
10369 (submenu): New section.
10370 (false): New section.
10371 (read): New section.
10372 (true): New section.
10373
a7527639
CW
103742011-03-30 Colin Watson <cjwatson@ubuntu.com>
10375
10376 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10377
103782011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10379
10380 * docs/grub.texi (Simple configuration): Explain some of the
10381 current limitations of grub-mkconfig.
8a748df2 10382 Reported by: Leslie Rhorer.
e30af029 10383
fc858482
VS
103842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Old macs search for boot.efi rather than for bootia32.efi.
10387
10388 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10389 * util/grub-mkrescue.in: Likewise.
10390 Suggested by: Peter Jones.
10391
e1eb511d
VS
103922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10395
70e75364
VS
103962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10399 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10400 (grub_lvm_mirror): New struct.
10401 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10402 (grub_lvm_iterate): Iterate only visible volumes.
10403 (grub_lvm_read): Factor out to ..
10404 (read_lv): ... this. Support mirrors.
10405 (grub_lvm_read): New wrapper function.
10406 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10407 stripped or mirrored.
10408
fc18f6a3
VS
104092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10412
5c650f4c
CW
104132011-03-29 Colin Watson <cjwatson@ubuntu.com>
10414
10415 * docs/grub.texi (loopback): New section.
10416
61d7156b
CW
104172011-03-29 Colin Watson <cjwatson@ubuntu.com>
10418
10419 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10420 removed -p option.
10421
994b8264
CW
104222011-03-29 Colin Watson <cjwatson@ubuntu.com>
10423
10424 * docs/grub.texi (BIOS installation): New section, partly based on
10425 previous text in other sections.
10426 (Installing GRUB using grub-install): Replace BIOS discussion with a
10427 cross-reference.
10428 (Images): Likewise.
10429
9e4d19e0
VS
104302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10433 [HAVE_DIOCGDINFO]: Add safety checks.
10434
a307c0b2
VS
104352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10438 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10439
b4db4f39
CW
104402011-03-29 Colin Watson <cjwatson@ubuntu.com>
10441
10442 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10443 real_sb->size is zero (e.g. RAID-0), get the disk size from
10444 real_sb->data_size instead.
10445 Fixes Ubuntu bug #743136.
10446
35e5f84c
VS
104472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10450 printf clauses for printing size and start.
10451
d2e29d81
VS
104522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10455 Reported and tested by: Timothy Nikkel.
10456
ed5587af
VS
104572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10460 (dirty_region_add_real): ... this.
10461 (dirty_region_add): Don't discard margin refresh when performing
10462 scheduled repaint.
10463
a1dc717c
VS
104642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 * grub-core/lib/relocator.c (allocate_regstart)
10467 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10468 terminals are capabple of malloc-free operation.
10469 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10470 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10471
9f3677d3
VS
104722011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10473
10474 * util/grub-setup.c: Copy the partition table zone if floppy support
10475 is disabled, even if no partition table is found.
10476
10477 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10478 during POST if an invalid partition table is contained in the PBR
10479 of the active partition when GRUB is installed to a partition.
10480
24148725
CW
104812011-03-28 Colin Watson <cjwatson@debian.org>
10482
10483 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10484 comment.
10485
f329eda7
CW
104862011-03-28 Colin Watson <cjwatson@debian.org>
10487
10488 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10489 to be specific about what kind of RAID device we're scanning for.
10490
c482ad98
SG
104912011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10492
10493 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10494 return freed string.
10495
5ee04984
VS
104962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10499
f4727da9
VS
105002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 Use libgeom on FreeBSD to detect partitions.
10503
10504 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10505 (grub-mkrelpath): Likewise.
10506 (grub-script-check): Likewise.
10507 (grub-editenv): Likewise.
10508 (grub-mkpasswd-pbkdf2): Likewise.
10509 (grub-fstest): Likewise.
10510 (grub-mkfont): Likewise.
10511 (grub-mkdevicemap): Likewise.
10512 (grub-probe): Likewise.
10513 (grub-setup): Likewise.
10514 (grub-ofpathname): Likewise.
10515 (grub-mklayout): Likewise.
10516 (example_unit_test): Likewise.
10517 (grub-menulst2cfg): Likewise.
10518 * grub-core/Makefile.core.def (grub-emu): Likewise.
10519 (grub-emu-lite): Likewise.
10520 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10521 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10522 define HAVE_DIOCGDINFO.
10523 (follow_geom_up) [FreeBSD]: New function.
10524 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10525 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10526 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10527 unconditionally of HAVE_DIOCGDINFO.
10528
82fe6c75
VS
105292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Fix FreeBSD compilation problem.
10532
10533 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10534 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10535
4c6c9431
CW
105362011-03-24 Colin Watson <cjwatson@ubuntu.com>
10537
10538 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10539 Switch back to page zero before loading a kernel, since some kernel
10540 drivers expect that.
10541 Thanks to: Felix Kuehling.
10542
c7064d94
VS
105432011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10546 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10547 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10548
3f71cded
VS
105492011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10552 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10553
ef6de21a
VS
105542011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10557 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10558 malloc is disabled.
10559
8bc66a2c
VS
105602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10563 for modules headers when counting the needed allocation size.
10564
5657722c
VS
105652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10568 if no ASCII character is found to prevent crash.
10569
41a85f55
AK
105702011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10571
10572 * grub-core/video/bitmap.c (match_extension): Ignore case.
10573
59e1e5f1
VS
105742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10577
bd4d051a
VS
105782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * grub-core/script/parser.y: Declare "time" as valid argument.
10581
bae7fcc1
PJ
105822011-03-23 Peter Jones <pjones@redhat.com>
10583
10584 Fix incorrect assert failure reporting.
10585
10586 * grub-core/tests/example_functional_test.c (example_test): Add
10587 a failure comment.
10588 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10589 (failure_start): ...this. Check that malloc succeeded.
10590 Don't call xvasprintf. Return failure struct.
10591 (failure_append_vtext): New function.
10592 (failure_append_text): Likewise.
10593 (add_failure): Likewise.
10594 (grub_test_assert_helper): Likewise.
10595 * include/grub/test.h (grub_test_assert_helper): New declaration.
10596 (grub_test_assert): Macro rewritten.
10597
537dc9be
VS
105982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10601
fa3e01bf
VS
106022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10605
b1d28404
VS
106062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10609 into GRUB-style one.
10610
2e3e2e09
VS
106112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10614 error and not grub_errno.
10615 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10616
ed57e557
VS
106172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10620 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10621
d1611f01
VS
106222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 * grub-core/efiemu/i386/pc/cfgtables.c
10625 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10626 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10627 (grub_xnu_unlock): Likewise.
10628 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10629
7d4e39d6
VS
106302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10631
10632 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10633 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10634 * grub-core/commands/hashsum.c (aliases): Likewise.
10635 * grub-core/commands/setpci.c (pci_registers): Likewise.
10636 * grub-core/disk/usbms.c (attach_hook): Likewise.
10637 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10638 (zio_checksum_table): Likewise.
10639 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10640 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10641 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10642 * grub-core/lib/relocator.c (leftovers): Likewise.
10643 (extra_blocks): Likewise.
10644 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10645 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10646 (modules_last): Likewise.
10647 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10648 (devices): Likewise.
10649 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10650 (modules_last): Likewise.
10651 * grub-core/normal/auth.c (users): Likewise.
10652 * grub-core/normal/context.c (initial_menu): Likewise.
10653 (current_menu): Likewise.
10654 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10655 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10656 (grub_serial_terminfo_input_template): Likewise.
10657 (grub_serial_terminfo_output_template): Likewise.
10658 (grub_serial_terminfo_input): Likewise.
10659 (grub_serial_terminfo_output): Likewise.
10660 (registered): Likewise.
10661 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10662
40fc4659
VS
106632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10666 grub_video_mode_type_t.
10667 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10668 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10669 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10670
2da48d28
VS
106712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * util/grub-install.in: Correct the x86-64 name as x86_64.
10674
9b43bf39
CW
106752011-03-11 Colin Watson <cjwatson@ubuntu.com>
10676
10677 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10678 initial chunk read from the kernel always includes GRUB's multiboot
10679 header, which is now outside the first sector.
10680
be1a7ce0
CW
106812011-03-09 Colin Watson <cjwatson@ubuntu.com>
10682
10683 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10684 cached mmap_size, so that this works correctly when called multiple
10685 times.
10686 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10687
83a3c48d
CW
106882011-03-09 Colin Watson <cjwatson@ubuntu.com>
10689
10690 * docs/grub.texi (Simple configuration): Tidy up formatting.
10691
57d75699
SJ
106922011-03-07 Szymon Janc <szymon@janc.net.pl>
10693
10694 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10695 Set-but-not-used variable removed.
10696
028501a0
VS
106972011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10698
10699 Workaround yet another IEEE1275 bug.
10700
10701 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10702 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10703 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10704 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10705 is set.
10706 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10707 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10708
d998657d
VS
107092011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10712 error.
10713
fee7cdd4
CW
107142011-02-11 Colin Watson <cjwatson@ubuntu.com>
10715
10716 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10717 empty, since in that case we can only generate either nothing or a
10718 syntactically invalid configuration file.
10719 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10720
97286eb5
CW
107212011-02-09 Colin Watson <cjwatson@ubuntu.com>
10722
10723 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10724 (Making a GRUB bootable CD-ROM): Likewise.
10725 (Invoking grub-mkrescue): New section.
10726 Reported by: Yann Dirson. Fixes Debian bug #612585.
10727
22b28eb3
CW
107282011-02-09 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * util/grub-install.in: Remove unnecessary brackets from tr
10731 arguments.
10732 * util/grub.d/10_hurd.in: Likewise.
10733 * util/grub.d/10_kfreebsd.in: Likewise.
10734 * util/grub.d/10_linux.in: Likewise.
10735 * util/grub.d/20_linux_xen.in: Likewise.
10736 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10737
7e735e43
CW
107382011-02-08 Colin Watson <cjwatson@ubuntu.com>
10739
10740 * include/grub/file.h (not_easly_seekable): Rename to ...
10741 (not_easily_seekable): ... this. Update all users.
10742
800f1881
CW
107432011-01-28 Colin Watson <cjwatson@ubuntu.com>
10744
10745 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10746 grub-mkrescue.
10747
3281d3d6
VS
107482011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * util/grub-mkimage.c (generate_image): Refuse to create the images
10751 bigger than the actual flash (512K) in Loongson machines. 512K is also
10752 the biggest chip supported by them.
10753
3533413c
VS
107542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10757
73ae4f4f
VS
107582011-01-22 Anthony DeRobertis <anthony@derobert.net>
10759
10760 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10761 super_offset field.
10762
37f4f608
VS
107632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * util/grub-install.in: Ignore install device on platforms
10766 where it doesn't make sense. Always use UUIDs except on pc, efi and
10767 sparc64.
10768 Reported by: Daniel Kahn Gillmor.
10769
03a4ccb5
VS
107702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10773
ffc8f4d8
VS
107742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10777 (iterate_real): Don't rely on partition being non-NULL.
10778
80f23be7
VS
107792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10782 supported platforms. Put a compile time assert for this rather than
10783 generate a warning with 32-bit shift.
10784
5d4f4dd5
VS
107852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10788 logical expression more readable.
10789
e489601a
VS
107902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10793 even if some elements have a name.
10794 Reported by: Alexander GQ Gerasiov.
10795
96e0a6ea
CW
107962011-01-22 Colin Watson <cjwatson@ubuntu.com>
10797
10798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10799 path unreadable if `grub-probe -t abstraction' fails, for example if
10800 memberlist fails on an LVM volume group.
10801 Reported by: Darius Jahandarie.
10802
81431e2b
CW
108032011-01-22 Colin Watson <cjwatson@ubuntu.com>
10804
10805 * docs/grub.texi (Simple configuration): Document
10806 GRUB_PRELOAD_MODULES.
10807
5e79d66a
CW
108082011-01-17 Colin Watson <cjwatson@ubuntu.com>
10809
10810 * .bzrignore: Remove nonexistent grub-pbkdf2.
10811
646ada34
VS
108122011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * configure.ac: Bump version to 1.99~rc1.
10815
04360337
VS
108162011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10819 for safety.
10820
46c9db88
VS
108212011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10824 module.
10825
108262011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10827
10828 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10829
4fbf1852
VS
108302011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10833 diskdevid.
10834
f1632d4d
VS
108352011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 Fix compilation on cygwin.
10838
10839 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10840 -R .drectve on cygwin.
10841 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10842 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10843 (COND_CYGWIN): New condition.
10844 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10845 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10846 not @TARGET_OBJ2ELF@.
10847 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10848 type to determine whether aux is to be used.
10849
0b5e127b
VS
108502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10853 realpath'ed device string.
10854 Handle floppy (somewhat).
10855 Issue error in unknown case rather than garbage.
10856 Reported by: Axel Beckert.
10857
173b71e9
VS
108582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * util/grub.d/00_header.in (load_video): Handle the case when no video
10861 drivers available.
10862 Thanks to: Axel Beckert.
10863
f8f479db
VS
108642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10867 variable. Fixes problem on big endian platforms.
10868
8fc0a245
VS
108692011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10872 It doesn't work well there.
10873
b8494fbe
VS
108742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10877 warning.
10878 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10879 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10880 counter.
10881
b44a558c
VS
108822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 Use alias->path rather than buggy "canon".
10885
10886 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10887 (ofdisk_hash_add): New argument curcan. All users updated.
10888
51fa856c
CW
108892011-01-11 Colin Watson <cjwatson@ubuntu.com>
10890
10891 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10892
9da068a5
VS
108932011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10896 loadmask before doing any calculations. Use correct type for offset.
10897 (grub_linux_load64): Likewise.
10898
86205c94
CW
108992011-01-11 Colin Watson <cjwatson@ubuntu.com>
10900
10901 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10902 with NULL.
10903 (console_grub_equivalences_unshift): Likewise.
10904 Reported by: Daniel Dehennin.
10905
4531a206
VS
109062011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10909 (set_env_limn_ro): Likewise.
10910 (GRUB_MOD_INIT): Likewise.
10911 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10912 ARRAY_SIZE while on it.
10913 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10914 * grub-core/normal/context.c (grub_env_export): Move from here ...
10915 * grub-core/kern/env.c (grub_env_export): ... here.
10916 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10917 prefix.
10918 * grub-core/kern/main.c (grub_main): Export root and prefix.
10919 * include/grub/env.h (grub_env_export): Export.
10920 Reported by: Seth Goldberg.
10921
45146057
VS
109222011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10925 Take into account space used by ELF sections and multiboot palette.
10926 Reported by: Grégoire Sutre.
10927
f093110b
VS
109282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * BUGS: New file.
10931
3395fe52
VS
109322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10933
10934 Pass more appropriate video id to Linux.
10935
10936 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10937 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10938 fill have_vga.
10939 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10940 shift params->lfb_size.
10941 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10942
c2fa6cbb
VS
109432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10946
b3ff6ff0
VS
109472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10950 separator and pass bootpath/devid even if only one of them is available.
10951 Reported by: Seth Goldberg.
10952
ae67942e
VS
109532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10956 implementations bug on them.
10957
10958 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10959 memory.
10960 (filter_memory_map): Likewise.
10961
d570097a
VS
109622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10963
10964 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10965 Reported by: nebuchadnezzar.
10966
a508e776
VS
109672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10970 Reported by: nebuchadnezzar.
10971
dcb883b1
VS
109722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 Submenu default support.
10975
10976 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10977 auto_boot. All users updated.
10978 Declared static.
10979 Handle chosen and default with submenus.
10980 (grub_menu_execute_with_fallback): Declared static.
10981 Don't notify failure if autobooted. Upper level does it.
10982 (menuentry_eq): New function.
10983 (get_entry_number): Use menuentry_eq.
10984 (show_menu): New parameter "autobooted". All users updated.
10985 (grub_show_menu): Likewise.
10986 * include/grub/normal.h (grub_show_menu): Likewise.
10987 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10988 (grub_menu_execute_with_fallback): Likewise.
10989
6fef99b4
VS
109902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * util/grub-mklayout.c (usage): Update help text.
10993
47a77af5
VS
109942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10997
ce6bb3ee
VS
109982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * util/grub-menulst2cfg.c (main): Trim the line.
11001
db87be2a
VS
110022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11005 (grub_machine_init): Don't check amount of low memory as reportedly
11006 INT 12h can be broken and if low memory is too low we wouldn't have
11007 gotten into grub_machine_init anyway.
11008
c49849cc
VS
110092011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11012 (grub_machine_mmap_iterate): Take low memory into account
11013
b1969b30
VS
110142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11017 badfs.
11018 Reported by: TiCPU.
11019
cf0eaf13
VS
110202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11021
11022 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11023 members errors.
11024
1f060f39
GS
110252011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11026
11027 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11028 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11029
a21e5672
GS
110302011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11031
11032 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11033 openbsd and netbsd types being in part_bsd module.
11034
c88172fa
VS
110352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11038 (_FILE_OFFSET_BITS): Likewise.
11039 Reported by: Seth Goldberg.
11040
53798c4b
GS
110412011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11042
11043 * configure.ac: Check for libdevmapper header.
11044
e7121b69
VS
110452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11048 avoid aliasing.
11049 (fzap_lookup): Likewise.
11050 (dnode_get): Likewise.
11051 (make_mdn): Likewise.
11052 (zfs_mount): Likewise.
11053 (fzap_iterate): Use temporary pointer to avoid aliasing.
11054 (grub_zfs_read): Likewise.
11055 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11056 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11057 pointers to avoid aliasing.
11058 (grub_cmd_xnu_kernel64): Likewise.
11059 (grub_xnu_load_driver): Likewise.
11060
fc836af9
VS
110612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11064 aliasing warning.
11065 (grub_cmd_terminal_output): Likewise.
11066 Reported and tested by: Grégoire Sutre.
11067
f9f37648
VS
110682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11071 warning.
11072 Reported and tested by: Grégoire Sutre.
11073
ec1dfd63
VS
110742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * configure.ac: Do CPU substitution even if it's specified explicitly.
11077 Reported and tested by: Alain Greppin.
11078
9462775a
VS
110792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11082 Reported and tested by: Alain Greppin.
11083
0fd48e35
VS
110842011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 Satisfy some bison versions need for inttypes.h.
11087
11088 * grub-core/lib/posix_wrap/inttypes.h: New file.
11089 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11090 (int16_t): Likewise.
11091 (int32_t): Likewise.
11092 (int64_t): Likewise.
11093 Reported and tested by: Alain Greppin.
11094
43f1bc83
VS
110952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11098 Silence spurious warning.
11099 Reported and tested by: Alain Greppin.
11100
64d1f041
SJ
111012011-01-07 Szymon Janc <szymon@janc.net.pl>
11102
11103 * docs/grub.texi (Support automatic decompression): Update with xz
11104 decompression support.
11105
25953e10
SJ
111062011-01-07 Szymon Janc <szymon@janc.net.pl>
11107
11108 Improve loaders' kernel command line handling.
11109
11110 * grub-core/lib/cmdline.c: New file.
11111 * include/grub/lib/cmdline.h: Likewise.
11112 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11113 grub_create_loader_cmdline to create kernel command line.
11114 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11115 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11116 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11117 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11118 (linux): Add lib/cmdline.c on common.
11119
e72d259f
VS
111202011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11123 inopos might be unaligned.
11124
c0cf26da
VS
111252011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11128 endian transformations.
11129 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11130 Based on report by: Doug Nazar.
11131
0ca09e6c
DN
111322011-01-07 Doug Nazar <nazard.michi@gmail.com>
11133
11134 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11135 array->members[i].start_sector.
11136 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11137
014b6806
VS
111382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11141 Reported and tested by: Grégoire Sutre.
11142
415502c2
CW
111432011-01-06 Colin Watson <cjwatson@ubuntu.com>
11144
11145 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11146 avoid causing test failures by clearing the screen.
11147
71b6a2b7
CW
111482011-01-06 Colin Watson <cjwatson@ubuntu.com>
11149
11150 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11151 Fix prefix check to handle the case where dir ends with a slash
11152 (most significantly, "/" itself).
11153 Reported by: Michael Vogt.
11154
b3f8d28a
VS
111552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 Run terminfo_cls on initing terminfo output to clear the screen and
11158 move the cursor to (0,0).
11159
11160 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11161 Call grub_terminfo_output_init.
11162 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11163 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11164 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11165
4c3e4f37
VS
111662011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11169 only when needed.
11170
488f71f1
VS
111712011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11174 CTRL.
11175
18a38098
VS
111762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11177
11178 The E820 type 5 is BADRAM, not EXEC_CODE.
11179
11180 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11181 (GRUB_E820_BADRAM): New define.
11182 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11183 into reserved. Propagate BADRAM.
11184 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11185 (GRUB_E820_BADRAM): New define.
11186
9eae2084
VS
111872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11190 Ignore the memory post-4G.
11191 (grub_relocator_firmware_alloc_region): Additional debug statement.
11192
ebc71d28
VS
111932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11196 names.
11197 Reported by: David Pravec.
11198
446fa400
VS
111992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11202 BIOSes.
11203
a0159f37
VS
112042011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11207 Prevent overflow.
11208 (grub_reed_solomon_recover): Likewise.
11209
e5146ca1
VS
112102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11213
112142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11215
11216 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11217 variable.
11218
5b1bdf12
CW
112192011-01-04 Colin Watson <cjwatson@ubuntu.com>
11220
11221 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11222 descriptions of extract_legacy_entries_source and
11223 extract_legacy_entries_configfile.
11224 Reported by: Seung Soo, Ha.
11225
99d925aa
CW
112262011-01-03 Colin Watson <cjwatson@ubuntu.com>
11227
11228 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11229 on devices that do not implement function 0.
11230
4af0504b
DV
112312011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11232
11233 * grub-core/fs/hfsplus.c: Make parent unsigned.
11234 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11235 overflows.
11236 (grub_hfsplus_cmp_extkey): Likewise
11237
469ee10a
VS
112382011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * util/grub-install.in: Correctly use bootloader_id and not
11241 GRUB_DISTRIBUTOR on efibootmgr line.
11242
323a8e9c
VS
112432011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11246
1b394975
IC
112472010-12-31 Ian Campbell <ijc@hellion.org.uk>
11248
11249 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11250 Xen and reorder menu item wording to make it clearer that this entry
11251 will launch Xen. Print separate messages when loading Xen and
11252 Linux.
11253
275bff5f
VS
112542010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11255
11256 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11257 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11258 loop in case of incorrect amiga partmap.
11259
307806cb
VS
112602010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11263 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11264 Reported by:EHeM.
11265
b12b923e
VS
112662010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11269 spurious warning.
11270 Reported by: crocket
11271
14b48a19
VS
112722010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11275 Preload EFIemu.
11276 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11277
693db2df
VS
112782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11281 is loaded
11282 (grub_cmd_xnu_kextdir): Likewise.
11283 (grub_cmd_xnu_splash): Likewise.
11284
c7638645
VS
112852010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 Avoid using Reed-Solomon with 0 redundancy.
11288
11289 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11290 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11291 or 0 redundancy.
11292 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11293 (grub_reed_solomon_recover): Likewise.
11294
25dd4780
VS
112952010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 Don't use disk subsystem in freebsd_boot.
11298
11299 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11300 (freebsd_biosdev): Likewise.
11301 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11302 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11303
0b2db943
VS
113042010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Handling of files of unknown size is currently limited. They can't be
11307 used e.g. for initrd or modules. Moreover gzip handling of not
11308 easily seekable files is buggy. Disable unknown file size for now. May
11309 be inefficient but works.
11310
11311 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11312 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11313
5c408d0f
MP
113142010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11315
11316 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11317 floppy probe.
11318
190a011a
JD
113192010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11320
11321 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11322
022d01b8
SL
113232010-12-25 Shea Levy <shlevy>
11324
11325 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11326
c4855fdc
VS
113272010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11330 Windows Server 2008.
11331 Reported by: Devin Giddings.
11332
0354b867
VS
113332010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11336 writing an error message because of async power management.
11337 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11338 (grub_reboot): Likewise.
11339
ab66c69f
JU
113402010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11341
11342 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11343 keep unit tests from failing when they shouldn't.
11344
1426ef35
CW
113452010-12-21 Colin Watson <cjwatson@ubuntu.com>
11346
11347 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11348 previous patch increased the size of the RS code by 20 bytes (at
11349 least with gcc-4.4), so increase this by 20 bytes to match.
11350 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11351
20641b6b
CW
113522010-12-21 Colin Watson <cjwatson@ubuntu.com>
11353
11354 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11355 scratch area. Make sure to initialise chosen in standalone mode as
11356 well as non-standalone.
11357 Reported by: Robert Hooker and Andy Whitcroft.
11358 Tested by: Andy Whitcroft.
11359
d060ad60
CW
113602010-12-21 Colin Watson <cjwatson@ubuntu.com>
11361
11362 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11363 constructing a new unescaped string and passing it to grub_xputs in
11364 one go, rather than passing characters to grub_printf one at a time.
11365
b889cfad
CW
113662010-12-21 Colin Watson <cjwatson@ubuntu.com>
11367
11368 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11369 initialising utf16.
11370
4e01b6c8
CW
113712010-12-21 Colin Watson <cjwatson@ubuntu.com>
11372
11373 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11374 comment. Add an extra layer of quotation, requiring the output of
11375 this function to be used in a printf format string.
11376 (gettext_printf): New function.
11377 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11378 Extract translatable strings from here-documents and use a temporary
11379 variable instead, so that xgettext can find them.
11380 * util/grub.d/10_kfreebsd.in: Likewise.
11381 * util/grub.d/10_linux.in: Likewise.
11382 * util/grub.d/20_linux_xen.in: Likewise.
11383
11384 * po/grub.d.sed: New file.
11385 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11386 arguments. Set c-format flags on all strings extracted from
11387 util/grub.d/ (xgettext refuses to include these itself for strings
11388 it extracted from a shell file, but these really are c-format).
11389
5318fe98
VS
113902010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11393 Avoid next pointing to nowhere.
11394
6c85b743
VS
113952010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11398 rather than assuming than rootblock is exactly in the middle.
11399 (grub_affs_label): Likewise.
11400
a2a08a35
VS
114012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11404 reserved_first_sector to 0.
11405 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11406 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11407 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11408
7059d1ec
VS
114092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 Fix handling of UTF-16 UDF labels.
11412
11413 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11414 (read_string): .. here.
11415 (grub_udf_label): Use read_string.
11416
30aff4cb
BC
114172010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11418
11419 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11420 editor under argument scope.
11421 Reported by: Jordan Uggla
11422
5cf86f4b
VS
114232010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11426
32570200
CW
114272010-12-18 Colin Watson <cjwatson@ubuntu.com>
11428
11429 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11430 line, and other keys scroll an entire page (previous handling was
11431 for \r and \n to scroll a page and other keys to scroll two lines).
11432
e1dffcf2
VS
114332010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11436 Set ptrdest to correct get_physical_target_address rather than
11437 incorrect get_virtual_current_address.
11438
b04298cf 114392010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11440
11441 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11442 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11443
5367ecd3
CW
114442010-12-10 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * .bzrignore: Ignore grub-core/rs_decoder.S.
11447
1fb430f8
CW
114482010-12-10 Colin Watson <cjwatson@ubuntu.com>
11449
11450 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11451 .mo/.mo.gz opening sequence to ...
11452 (grub_mofile_open_lang): ... here.
11453 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11454 * util/grub.d/00_header.in (grub_lang): Include country part of
11455 locale.
11456 Reported by: Mario Limonciello.
11457
a94a6671
RM
114582010-12-09 Robert Millan <rmh@gnu.org>
11459
11460 * NEWS: Document addition of ZFS support.
11461
24b7938b
CW
114622010-12-04 Colin Watson <cjwatson@ubuntu.com>
11463
11464 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11465 rather than `/ 2', as the latter requires -Wa,--divide which would
11466 require bumping our minimum binutils version.
11467
bddc3ef6
BC
114682010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11469
11470 * util/grub-script-check.c (main): Print script line number on
11471 error.
11472
bf78d5b2
RM
114732010-12-01 Robert Millan <rmh@gnu.org>
11474
11475 * grub-core/fs/zfs/zfs.c: New file.
11476 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11477 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11478 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11479 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11480
11481 * include/grub/zfs/dmu.h: Likewise.
11482 * include/grub/zfs/dmu_objset.h: Likewise.
11483 * include/grub/zfs/dnode.h: Likewise.
11484 * include/grub/zfs/dsl_dataset.h: Likewise.
11485 * include/grub/zfs/dsl_dir.h: Likewise.
11486 * include/grub/zfs/sa_impl.h: Likewise.
11487 * include/grub/zfs/spa.h: Likewise.
11488 * include/grub/zfs/uberblock_impl.h: Likewise.
11489 * include/grub/zfs/vdev_impl.h: Likewise.
11490 * include/grub/zfs/zap_impl.h: Likewise.
11491 * include/grub/zfs/zap_leaf.h: Likewise.
11492 * include/grub/zfs/zfs.h: Likewise.
11493 * include/grub/zfs/zfs_acl.h: Likewise.
11494 * include/grub/zfs/zfs_znode.h: Likewise.
11495 * include/grub/zfs/zil.h: Likewise.
11496 * include/grub/zfs/zio.h: Likewise.
11497 * include/grub/zfs/zio_checksum.h: Likewise.
11498
11499 * Makefile.util.def: Build ZFS into libgrubmods.
11500 * grub-core/Makefile.core.def: Build zfs.mod.
11501
3f0f3831
SJ
115022010-11-30 Szymon Janc <szymon@janc.net.pl>
11503
11504 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11505 variable.
11506 * grub-core/commands/wildcard.c (match_files): Likewise.
11507
3a4253b2
RM
115082010-11-30 Robert Millan <rmh@gnu.org>
11509
11510 * grub-core/loader/i386/bsd.c
11511 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11512 whether kernel is loaded using grub_loader_is_loaded(), rather
11513 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11514 certain error conditions.
11515
8c317b27
RM
115162010-11-30 Robert Millan <rmh@gnu.org>
11517
c5c9cd3e
RM
11518 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11519 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11520
49d3ab46
VS
115212010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 Avoid using tricks for initialising endian variables.
11524
11525 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11526 Make const.
11527 (GRUB_MOD_INIT): Don't byte-swap.
11528 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11529 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11530 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11531 (grub_swap_bytes32_compile_time): Likewise.
11532 (grub_cpu_to_le32_compile_time): Likewise.
11533 (grub_cpu_to_le16_compile_time): Likewise.
11534
f420a804
VS
115352010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * util/grub-setup.c (setup): Stop recommending --force. People who
11538 understand the dangers of blocklists are able to find this option
11539 anyway and the ones who don't shouldn't use it anyway.
11540
4e7db17b
RM
115412010-11-26 Robert Millan <rmh@gnu.org>
11542
11543 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11544 Update all users.
11545
9be57a0d
CW
115462010-11-26 Colin Watson <cjwatson@ubuntu.com>
11547
11548 Fix LVM-on-RAID probing.
11549
11550 * util/grub-probe.c (probe): Remember which disk was detected as
11551 RAID (perhaps an LVM physical volume). Use that disk's raidname
11552 rather than that of the top-level disk.
11553
2c7859b3 115542010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11555
d7647bb6
BC
11556 Fix cmdline argument quotes for setparams command of menuentry
11557 definitions.
7e623b0d
BC
11558
11559 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11560 quotes for arguments.
f866fe80 11561 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11562 grub_strchrsub function instead.
f866fe80 11563
7955bea0 11564 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11565
74f72a64
CW
115662010-11-24 Colin Watson <cjwatson@ubuntu.com>
11567
11568 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11569 effort by skipping "." and ".." entries up-front.
11570 Suggested by: Michael Lazarev.
11571
5a407278
CW
115722010-11-24 Colin Watson <cjwatson@ubuntu.com>
11573
11574 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11575 ldflags to ldadd, to fix link line ordering.
11576 (none_decompress): Likewise.
11577
3030d8ec
CW
115782010-11-24 Colin Watson <cjwatson@ubuntu.com>
11579
11580 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11581 platforms.
11582 (grub-emu-lite): Remove kern/emu/cache.S.
11583
b7fbac12
CW
115842010-11-23 Colin Watson <cjwatson@ubuntu.com>
11585
11586 * util/deviceiter.c (compare_devices): If the by-id link for a
11587 device couldn't be resolved, fall back to sorting by the by-id link
11588 rather than segfaulting.
11589 Reported and tested by: Daniel Mierswa.
11590
5225f328
CW
115912010-11-23 Colin Watson <cjwatson@ubuntu.com>
11592
11593 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11594 ldflags, to fix link line ordering.
11595
038b3ce8
CW
115962010-11-23 Colin Watson <cjwatson@ubuntu.com>
11597
11598 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11599 linkers are picky about this.
11600
bf16e98e
CW
116012010-11-23 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * grub-core/Makefile.am (command.lst): Adjust sed expression
11604 ordering so that extended and priority commands aren't treated as
11605 ordinary commands.
11606
7242bab6
CW
116072010-11-23 Colin Watson <cjwatson@ubuntu.com>
11608
11609 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11610 Remove byte-swapping function calls, which are not valid in
11611 structure initialisers.
11612 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11613 non-const.
11614 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11615 grub_gpt_partition_type_bios_boot.
11616
14e8b279
CW
116172010-11-22 Colin Watson <cjwatson@ubuntu.com>
11618
11619 Fix test program build on GNU/kFreeBSD.
11620
11621 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11622 $(LIBNVPAIR)' library dependencies.
11623
e6f63338 116242010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11625
11626 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11627
cf8ffc38
CW
116282010-11-22 Colin Watson <cjwatson@ubuntu.com>
11629
11630 * util/grub-install.in: Remove excessive quoting that broke
11631 installations to RAID devices.
11632
7f8b0fd7
VS
116332010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11636 bootloader version instead of 0.
11637
dfd240b1
VS
116382010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11641 warning.
11642
7b61e609
VS
116432010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11644
11645 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11646 retrieve the metadat sector if size isn't known.
11647 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11648
9dfe92d0
RM
116492010-11-18 Robert Millan <rmh@gnu.org>
11650
11651 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11652 with grub_memcmp().
11653
41cc919e
VS
116542010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11657 arrow.
11658 Reported by: Jordan Uggla.
11659
1afcc914
VS
116602010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 Make better UTF compliant.
11663
11664 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11665 sequences as incorrect.
11666 (grub_is_valid_utf8): Likewise.
11667 (grub_utf8_to_ucs4): Likewise.
11668 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11669 (grub_ucs4_to_utf8_alloc): Likewise.
11670 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11671
f1808884
VS
116722010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Make legacy_source behave like source.
11675
11676 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11677 grub_show_menu.
11678 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11679
24ec575b
CW
116802010-11-16 Colin Watson <cjwatson@debian.org>
11681
11682 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11683 (-Wunused implies -Wunused-parameter, but not vice versa).
11684
72b7c7aa
CW
116852010-11-16 Colin Watson <cjwatson@ubuntu.com>
11686
11687 * configure.ac: Make error messages less confusing by testing for
11688 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11689 accepted, but produces a diagnostic if something else is wrong).
11690
e98937aa
VS
116912010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11694 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11695 (now unused).
11696 (grub_keyboard_controller_init)
11697 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11698 read the initial state since controller isn't inited yet.
11699
f6bbabc3
VS
117002010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11703 allocate_regbeg may need to create new chunk header.
11704
22e7dbb2
VS
117052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Fix quoting in legacy parser.
11708
11709 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11710 single quotes.
11711 (grub_legacy_parse): Likewise.
11712 Reported by: Jordan Uggla.
11713 Tested by: Jordan Uggla.
11714
03f80960
VS
117152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 Don't add -lgcc on i386 and x86_64.
11718
11719 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11720 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11721 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11722
779dc15b
VS
117232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * configure.ac: Add -Wno-trampolines when supported.
11726
d20a3b37
MV
117272010-11-14 Modestas Vainius <modax@debian.org>
11728
11729 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11730 fakeraid.
11731
e5360933
GC
117322010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11733
11734 Add generic logical block size support for UDF.
11735
11736 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11737 (GRUB_UDF_BLKSZ): Removed.
11738 (struct grub_udf_data): New field "lbshift" to hold the logical block
11739 size of the file system in log2 format. All users updated.
11740 (sblocklist): Change type to unsigned.
11741 (grub_udf_mount): Change type of "sblklist" to unsigned.
11742 Move AVDP search before VRS recognition, because the latter requires
11743 knowledge of the logical block size, which is detected during the
11744 former.
11745 Detect and validate logical block size during AVDP search, adding
11746 support for block sizes 512, 1024 and 4096.
11747 Make VRS recognition independent of block size.
11748
cb0229c5
GC
117492010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11750
11751 Properly handle deleted files on UDF.
11752
11753 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11754 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11755 set.
11756
406858a8
GC
117572010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11758
11759 Support reading files larger than 2 GiB.
11760
11761 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11762 "offset" to grub_off_t.
11763 (grub_udf_read_file): Likewise for parameter "pos".
11764
130da6a7
VS
117652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11768 unavailable.
11769 (Simple configuration): Refer to Changes from GRUB Legacy about
11770 save_env availability.
11771
65e93f6b
VS
117722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * util/grub-install.in: Ignore empty partition table detection
11775 instead of trying to include part_ module.
11776
1fd08bf1
VS
117772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11780 LVM on RAID support.
11781
de1a024f
VS
117822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 Properly define WORDS_BIGENDIAN in wrapped environments.
11785
11786 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11787 definition.
11788 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11789
11790 Reported by: Manoel Rebelo Abranches.
11791 Tested by: Manoel Rebelo Abranches.
11792
bc5dd0b9
VS
117932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * util/grub-mkconfig.in: Fix quoting.
11796
58c184be
VS
117972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 Support big ext2 files.
11800
11801 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11802 (grub_ext2_read_block): Support triple indirect blocks.
11803 (grub_ext2_read_file): Use 64-bit types and read size_high.
11804 (grub_ext2_open): Read size_high.
11805 Reported by: Ximin Luo.
11806 Tested by: Manoel Rebelo Abranches.
11807
5f0c02b3
VS
118082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * util/grub-install.in: Handle filenames containing spaces.
11811 Reported by: Jordan Uggla.
11812 Tested by: Jordan Uggla.
11813
4417aae6
VS
118142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * util/grub-mkconfig.in (grub_script_check): New variable.
11817 Use grub_script_check instead of grub-script-check.
11818 Reported by: Barry Jackson.
11819
7625a68e
VS
118202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11821
11822 * docs/grub.texi (menu): Correct the order.
11823 Reported by: D. Hugh Redelmeier.
11824
10001ac5
VS
118252010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11828 jump.
11829
9c4cf53b
MRA
118302010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11831
10001ac5
VS
11832 * include/grub/elfload.h (grub_elf32_size): New parameter.
11833 All users updated.
9c4cf53b
MRA
11834 Return maximum segments alignment.
11835 (grub_elf64_size): Likewise.
11836 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11837 Return maximum segments alignment.
11838 (grub_elf64_size): Likewise.
11839 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11840 (grub_linux_claimmap_iterate): New function. Uses the
11841 "available" property in the "memory" node for memory allocation
11842 for kernel in the PowerPC loader.
9c4cf53b
MRA
11843 (grub_linux_load32): Correctly find linux entry point offset.
11844 (grub_linux_load64): Likewise.
11845
d2bf06bf
RM
118462010-11-07 Robert Millan <rmh@gnu.org>
11847
11848 On mips-yeeloong, build with -march=loongson2f when this flag is
11849 available (GCC >= 4.4).
11850 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11851 `-march=mips3'.
11852 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11853 or otherwise add -march=mips3.
11854
898c99a2
BC
118552010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11856
87220a68
BC
11857 Suppress shell expansion on echo '*' and echo "*" like cases.
11858 Reported by: Jordan Uggla.
898c99a2
BC
11859
11860 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11861 string arguments before shell expansion.
11862 * tests/grub_cmd_echo.in: New testcases.
11863
4f9b406a
RM
118642010-11-07 Robert Millan <rmh@gnu.org>
11865
11866 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11867 transition.
11868
80c6d25e
VS
118692010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/kern/emu/hostdisk.c
11872 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11873
4a1a0153
VS
118742010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11877 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11878 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11879
34706ddc
VS
118802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11883
6972dea9
VS
118842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * util/grub-install.in: Replace useless recomendation to pass
11887 --modules with a recomendation to report a bug.
11888
9c693bd6
VS
118892010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 Properly register serial terminfo.
11892 Reported by: Jordan Uggla
11893
11894 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11895 const.
11896 (grub_serial_terminfo_output_template): Likewise.
11897 (grub_cmd_serial): Register "serial" with terminfo.
11898 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11899 grub_serial_terminfo_output.
11900
6c9e4c0c
RM
119012010-11-05 Robert Millan <rmh@gnu.org>
11902
11903 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11904 needed).
11905
b9b3839f
RM
119062010-11-05 Robert Millan <rmh@gnu.org>
11907
11908 On Yeeloong, pass machine type information to Linux.
11909
11910 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11911 (LOONGSON_MACHTYPE): New macro, set to
11912 "machtype=lemote-yeeloong-2f-8.9inches".
11913 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11914 additional argument to Linux.
11915
1a3aaff4
RM
119162010-11-04 Robert Millan <rmh@gnu.org>
11917
11918 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11919 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11920 (its SATA disks are detected as slaveless IDE master drives on
11921 kFreeBSD).
11922 Reported by Carsten Aulbert.
11923
a75f4f62
CW
119242010-11-02 Colin Watson <cjwatson@ubuntu.com>
11925
11926 * util/bin2h.c (main): Fix spelling error in generated output.
11927
33b4b0c6
GS
119282010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11929
11930 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11931
2b36fbf4
VS
119322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11935 vga= option is supplied.
11936
74aaf558
VS
119372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11940 * util/grub.d/10_kfreebsd.in: Likewise.
11941 * util/grub.d/10_linux.in: Likewise.
11942 * util/grub.d/20_linux_xen.in: Likewise.
11943
6428dec3
VS
119442010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11947 argument as an argument to no-argument option.
11948
f8729d98
VS
119492010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * util/grub.d/10_linux.in: Add missing load_video with explicit
11952 GRUB_GFXPAYLOAD_LINUX.
11953
89d68fa6
VS
119542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11957
3a1197cd
VS
119582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11961 elements with invlid index.
11962 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11963 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11964 members.
11965 * include/grub/raid.h (grub_raid_member): New struct.
11966 (grub_raid_array): Transform devices and start_sector into usage of
11967 grub_raid_member. All users updated
11968 (allocated_devs): New member.
11969
71574288
VS
119702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11973 is modified
11974
8d40ec65
BC
119752010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11976
11977 NetBSD build fix for getline function conflict from gnulib.
11978
11979 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11980 components that depend on gnulib headers.
11981 (libgrubmods.a): Renamed from earlier libgrub.a.
11982 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11983
95b9257e
VS
119842010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11987 install rather than creating a broken install.
11988
26c53dc6
VS
119892010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * util/grub-setup.c (argp): Remove misleading example of installing to
11992 a partition.
11993
4171b3c5
VS
119942010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * util/grub-setup.c (setup): Clarify the error message.
11997
18568d18
VS
119982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12001
4f6a2e21
VS
120022010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/kern/emu/misc.c
12005 (grub_make_system_path_relative_to_its_root)
12006 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12007
120082010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12009
12010 * grub-core/kern/emu/misc.c
12011 (grub_make_system_path_relative_to_its_root): Revert r2882.
12012
e138c458
VS
120132010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12016 useless field head. All users updated.
12017 (free_subchunk): Correct handling of IN_REGION subchunk.
12018
0cbcdf0e
CW
120192010-10-22 Colin Watson <cjwatson@ubuntu.com>
12020
12021 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12022 (Supported kernels): Likewise.
12023
b65ea155
GS
120242010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12025
12026 Make mktemp invocations portable.
12027
12028 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12029 exit if mktemp fails.
12030 * tests/grub_script_blockarg.in: Likewise.
12031 * tests/partmap_test.in: Likewise.
12032 * tests/util/grub-shell-tester.in: Likewise.
12033 * tests/util/grub-shell.in: Likewise.
12034 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12035 * Makefile.am: Likewise, and chain shell commands with `&&'
12036 instead of ';'.
12037 * util/grub-mkrescue.in: Use the same explicit template as above, and
12038 exit if mktemp fails.
12039
05f43cdd
BC
120402010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12041
12042 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12043 Linux kernel, reported by Dennis Schridde.
12044
800e6a9b
SJ
120452010-10-17 Szymon Janc <szymon@janc.net.pl>
12046
12047 * grub-core/normal/auth.c (grub_auth_check_authentication):
12048 Set-but-not-used variable removed.
12049
d82df574
VS
120502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12053 32-bit linux protocol.
12054
7bced458
VS
120552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12058 cursor shape for sanity.
12059
5b027690
VS
120602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * docs/grub.texi (Installation): Document buggy BIOS install.
12063
ba5f65cf
VS
120642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * docs/grub.texi (Installation): Indent.
12067
fdf2ec9c
VS
120682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * util/grub-setup.c (setup): New parameter allow_floppy.
12071 (arguments): New member allow_floppy.
12072 (argp_parser): Handle --allow-floppy.
12073 (main): Pass allow_floppy.
12074 * util/grub-install.in: New option --allow-floppy passed though to
12075 grub-setup.
12076
861dfd4c
VS
120772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12078
12079 * util/grub-install.in: Handle partitionless disks.
12080
f77a8c24
VS
120812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * util/grub-setup.c (setup): Don't clean blocklists before readability
12084 verfification.
12085
27d9ee32
VS
120862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12087
12088 * docs/grub.texi (Installation): Document embedding zone. Remove
12089 obsolete grub-install example.
12090
6bdda8f8
SJ
120912010-10-16 Szymon Janc <szymon@janc.net.pl>
12092
12093 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12094 Set-but-not-used variable ifdef'ed.
12095 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12096 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12097 variable removed.
12098 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12099 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12100 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12101 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12102 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12103 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12104 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12105 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12106 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12107 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12108 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12109 Likewise.
12110
e19b016b
VS
121112010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12114 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12115 enum value.
12116
6c8d3002
VS
121172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12120 synonym to _S5_. Needed for some DSDTs.
12121
c32b51c9
VS
121222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 Userspace ACPI parser debugging.
12125
12126 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12127 headers and add relevant defines. Don't include standard headers.
12128 (main) [GRUB_DSDT_TEST]: New function.
12129 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12130 Don't declare functions.
12131
fbfbeb39
VS
121322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12133
12134 Remove dead grub_efi_mm_fini.
12135
12136 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12137 (ALLOCATED_PAGES_SIZE): Likewise.
12138 (MAX_ALLOCATED_PAGES): Likewise.
12139 (allocated_pages): Likewise.
12140 (grub_efi_allocate_pages): Don't record allocated pages.
12141 (grub_efi_free_pages): Likewise.
12142 (grub_efi_mm_init): Likewise.
12143 (grub_efi_mm_fini): Removed.
12144
65f7ed7c
VS
121452010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12148 (grub_efi_mm_init): Take into account the memory map size increase.
12149
24977b44
VS
121502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12153 (serial_hw_put): Wait based on real time rather than port reads. Don't
12154 roken ports.
12155 * include/grub/serial.h (grub_serial_port): New field broken.
12156
1eb01cd2
RM
121572010-10-16 Robert Millan <rmh@gnu.org>
12158
12159 * grub-core/kern/emu/misc.c
12160 (grub_make_system_path_relative_to_its_root): Fix premature return
12161 when processing non-root ZFS filesystems.
5f8b440b 12162 Reported by Sergio Talens-Oliag.
1eb01cd2 12163
2d5fed60
RM
121642010-10-15 Robert Millan <rmh@gnu.org>
12165
12166 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12167 guarantee compressed ones are processed first.
12168
d0f4c1ea
VS
121692010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12172 grub_efiemu_autocore.
12173
d87c681f
VS
121742010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12177 rather than 0x1b.
12178 (grub_console_getkey): Use correct jae opcode rather than ja.
12179
219b3564
RM
121802010-10-12 Robert Millan <rmh@gnu.org>
12181
12182 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12183 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12184 variable. All references updated.
12185
12186 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12187
20c6bb7e
VS
121882010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 Correctly distinguish mdraid flavours.
12191
12192 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12193 (insert_array): New argument raid.
12194 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12195 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12196 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12197
74baff84
VS
121982010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12201 handling of special keys.
12202
3ef068df 122032010-10-02 Aleš Nesrsta <starous@volny.cz>
12204
c7980ad9
VS
12205 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12206 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12207
a9455194 122082010-10-02 Aleš Nesrsta <starous@volny.cz>
12209
c7980ad9
VS
12210 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12211 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12212 users updated.
a9455194 12213 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12214 Use right endpoint when querying descriptor.
a9455194 12215
441cfe65
VS
122162010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 Clear out 0x80 color bit on EFI.
12219 Tested by: decoder
12220 Reported by: decoder and meta tech.
12221
12222 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12223 (grub_console_setcolorstate): Clear out 0x80 bit.
12224 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12225 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12226 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12227
bf26bcc4
VS
122282010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12231 Set to "auto".
12232
6e3c515d
VS
122332010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12236 mo_file after freeing.
12237
e6d983ba
VS
122382010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12241
74ccb5b5
VS
122422010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12245 flags.
12246
17821956
VS
122472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12250 usage.
12251
ee74fa48
VS
122522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12255
12256 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12257 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12258 and terminfo.h when needed.
12259 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12260 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12261 (terminfo): Enable only on terminfokernel.
12262 (extcmd): Likewise.
12263 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12264 * include/grub/lib/arg.h: Likewise.
12265 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12266 incorrect usage of ->.
12267
aa438e68
VS
122682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12271 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12272
57994012
VS
122732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 Fix coreboot compilation.
12276
12277 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12278 Take VBE info into account even if only text is supported.
12279 (fill_vbe_info): Take into account the case when only VGA text
12280 is supported.
12281 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12282 on coreboot, multiboot and qemu.
12283
2a406611
VS
122842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12287 debug messages.
12288 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12289
d33613fc
VS
122902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12293 parameters.
12294
44a1b432
VS
122952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12298 if they were BSD-style.
12299
edde54e6
VS
123002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * grub-core/boot/i386/pc/lnxboot.S: Replace
12303 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12304 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12305
b65830fa
VS
123062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 Write embedding zone using Reed-Solomon.
12309
12310 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12311 * grub-core/Makefile.am (rs_decoder.S): New target.
12312 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12313 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12314 (multiboot): Move to RS part.
12315 (post_reed_solomon): New label.
12316 (grub_boot_drive): Move to non-RS part since it's modified in memory
12317 on boot.
12318 Include rs_decoder.S.
12319 * grub-core/lib/reed_solomon.c: New file.
12320 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12321 New definition.
12322 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12323 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12324 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12325 * include/grub/partition.h (grub_partition_map): Change prototype of
12326 embed to allow returning additional sectors.
12327 * include/grub/reed_solomon.h: New file.
12328 * util/grub-setup.c (setup): Handle Reed-Solomon.
12329
0b4b227f
CW
123302010-09-28 Colin Watson <cjwatson@ubuntu.com>
12331
12332 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12333 i386 and x86-64 definedness tests.
12334
f772623b
YB
123352010-09-27 Yves Blusseau <blusseau@zetam.org>
12336
12337 Fix generation of kernel_syms.lst
12338
12339 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12340 ASM_PREFIX
12341
8e57a6ca
RM
123422010-09-26 Robert Millan <rmh@gnu.org>
12343
12344 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12345
12346 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12347 the pool is an array of devices, iterate through it and return the
12348 first device that passes a stat() test (instead of blindly returning
12349 the first one).
12350
f9130836
RM
123512010-09-26 Robert Millan <rmh@gnu.org>
12352
12353 Build fixes for GNU/kFreeBSD.
12354
12355 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12356 to programs that require ZFS conversion.
12357 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12358 kernels that don't have FLOPPY_MAJOR.
12359
96510faf
BC
123602010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12361
12362 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12363
449333eb
BC
123642010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12365
12366 Fix grub-emu build.
12367
12368 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12369 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12370 mdraid09 and mdraid1x.
12371
e1fd1939
CW
123722010-09-24 Colin Watson <cjwatson@ubuntu.com>
12373
12374 Re-enable grub-extras.
12375
12376 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12377 avoid confusing Automake. Run autogen only twice, once for the top
12378 level and once for grub-core. Add Makefile.util.def and
12379 Makefile.core.def from extra modules to the appropriate autogen
12380 invocations. If Makefile.common exists in an extra module, include
12381 it in both Makefile.util.am and grub-core/Makefile.core.am;
12382 similarly, include any Makefile.util.common file in Makefile.util.am
12383 and any Makefile.core.common file in grub-core/Makefile.core.am.
12384 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12385 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12386 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12387 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12388
12389 * gentpl.py (gvar_add): Turn GVARS into a set.
12390 (global_variable_initializers): Sort global variables on output.
12391 (vars_init): New function.
12392 (first_time): Likewise.
12393 (library): Ensure that non-global variable initialisations are
12394 emitted before the first time we emit code for a library block.
12395 Append to variables rather than setting them. Only emit
12396 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12397 each conditional path.
12398 (program): installdir() emits an Autogen macro, so must be passed to
12399 var_add rather than gvar_add.
12400 (data): Likewise.
12401 (script): Likewise.
12402 (rules): New function, centralising handling for different target
12403 types. Set up Guile association lists for first_time and vars_init,
12404 and send most output to a diversion so that variable initialisations
12405 can be emitted first.
12406 (module_rules): Use new rules function.
12407 (kernel_rules): Likewise.
12408 (image_rules): Likewise.
12409 (library_rules): Likewise.
12410 (program_rules): Likewise.
12411 (script_rules): Likewise.
12412 (data_rules): Likewise.
12413
12414 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12415
12416 * .bzrignore: Add contrib and grub-core/contrib. Remove
12417 grub-core/Makefile.gcry.am.
12418
1d12cf29
YB
124192010-09-24 Yves Blusseau <blusseau@zetam.org>
12420
12421 * grub-core/lib/LzFind.c: Add missing include.
12422 * grub-core/lib/LzmaEnc.c: Likewise.
12423 * grub-core/script/lexer.c: Likewise.
12424 * grub-core/script/yylex.l: Likewise.
12425 * util/grub-macho2img.c: Likewise.
12426 * util/grub-menulst2cfg.c: Likewise.
12427 * util/grub-mklayout.c: Likewise.
12428 * util/grub-mkpasswd-pbkdf2.c
12429 * util/grub-mkrelpath.c: Likewise.
12430 * util/resolve.c: Likewise.
12431
dd363028
BC
124322010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12433
12434 * Makefile.util.def (example_unit_test): Add
12435 grub-core/gnulib/libgnu.a.
12436
f5a109e2
GS
124372010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12438
12439 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12440
6d0fa83c
VS
124412010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12442
12443 Support xz compression on yeeloong.
12444
12445 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12446 * configure.ac: Check for LZMA.
12447 * grub-core/Makefile.core.def (xz_decompress): New target.
12448 (none_decompress): Likewise.
12449 * grub-core/boot/decompressor/minilib.c: New file.
12450 * grub-core/boot/decompressor/none.c: Likewise.
12451 * grub-core/boot/decompressor/xz.c: Likewise.
12452 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12453 * grub-core/kern/mips/cache_flush.S: Likewise.
12454 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12455 * grub-core/kern/mips/startup.S: Move first stage to ...
12456 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12457 nomacro.
12458 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12459 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12460 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12461 Allocate statically.
12462 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12463 Allocate statically or use scratch. Don't check CRC32.
12464 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12465 Allocate statically. Don't check CRC32.
12466 * include/grub/decompressor.h: New file.
12467 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12468 Removed.
12469 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12470 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12471 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12472 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12473 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12474 * util/grub-mkimage.c (grub_compression_t): New type.
12475 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12476 (image_target_desc): New field default_compression.
12477 (image_targets): Adjust yeeloong targets.
12478 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12479 (compress_kernel): New parameter comp.
12480 (generate_image): Likewise. Handle new compression case.
12481 (options): New option --compression
12482 (help): Likewise.
12483 (main): Handle new option.
12484
1b655af6
GS
124852010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12486
12487 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12488
8f03f0b5
CW
124892010-09-22 Colin Watson <cjwatson@ubuntu.com>
12490
12491 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12492 typo in __i386__ conditional.
12493
7835dfd3
VS
124942010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12497 include.
12498
e255597e
VS
124992010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12500
6d0fa83c 12501 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12502
12503 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12504 new tags as supported.
12505 (acpiv2_size): New function.
12506 (grub_multiboot_get_mbi_size): Take new tags into account.
12507 (grub_multiboot_make_mbi): Add new tags.
12508 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12509
6cc14051 125102010-09-21 Aleš Nesrsta <starous@volny.cz>
12511
12512 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12513 Added missing configuration of USB device.
12514
df7769d8
CW
125152010-09-21 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * grub-core/normal/menu_entry.c (run): Make sure we always return
12518 a value.
12519
b031012d
CW
125202010-09-21 Colin Watson <cjwatson@ubuntu.com>
12521
12522 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12523 NumberOfPages is UINT64 according to the UEFI specification, not
12524 UINTN. Fix printf format.
12525
174de8f3
CW
125262010-09-21 Colin Watson <cjwatson@ubuntu.com>
12527
12528 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12529 `err' to grub_usb_err_t.
12530 Reported and tested by: KESHAV P.R.
12531
d7dbe923
CW
125322010-09-21 Colin Watson <cjwatson@ubuntu.com>
12533
12534 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12535 tpart non-const, so that we can assign to it. (Since this is a
12536 typedef, the constness refers to the pointer rather than what it
12537 points to.)
12538
8d5e2af3
CW
125392010-09-21 Colin Watson <cjwatson@ubuntu.com>
12540
12541 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12542 $(top_srcdir)/grub-core/gnulib as well as
12543 $(top_builddir)/grub-core/gnulib.
12544 Reported by: KESHAV P.R.
12545
5c527783
CW
125462010-09-21 Colin Watson <cjwatson@ubuntu.com>
12547
12548 * util/grub-install.in: Fix the bootloader ID option to be
12549 consistently --bootloader-id, not --bootloader_id.
12550 Reported by: KESHAV P.R.
12551
d309a16e
CW
125522010-09-21 Colin Watson <cjwatson@ubuntu.com>
12553
12554 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12555 check hash checksum." consistently translatable.
12556
b830cd16
YB
125572010-09-21 Yves Blusseau <blusseau@zetam.org>
12558
12559 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12560 $(top_builddir).
12561
c4fe27a8
CW
125622010-09-21 Colin Watson <cjwatson@ubuntu.com>
12563
12564 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12565 (GRUB_MOD_INIT): Register sha1sum command.
12566 (GRUB_MOD_FINI): Unregister sha1sum command.
12567
a4c1d277
YB
125682010-09-21 Yves Blusseau <blusseau@zetam.org>
12569
12570 Keep boot and grub directory names in sync with utils scripts
12571
12572 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12573 * config.h.in: Add previous macros.
12574 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12575 * util/grub-install.in: Use $bootdir and $grubdir variables.
12576
4eff79d2
CW
125772010-09-21 Colin Watson <cjwatson@ubuntu.com>
12578
12579 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12580 convert partition names to disk names if the new `convert' parameter
12581 is set.
12582 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12583 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12584 disk in its own right. This can happen with Xen disk images.
12585
934d7e44
YB
125862010-09-21 Yves Blusseau <blusseau@zetam.org>
12587
12588 * util/grub-editenv.c: Update strings to avoid warnings when generating
12589 grub.pot file.
12590 * util/grub-setup.c: Likewise.
934d7e44 12591
df3367cc
VS
125922010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * configure.ac: Change version to 1.99~beta0.
12595
77a94e98
VS
125962010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12599 Add BADRAM.
12600 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12601 Likewise.
12602 * include/multiboot.h: Resynced with specification.
12603 * include/multiboot2.h: Likewise.
12604
269004c1
CW
126052010-09-21 Colin Watson <cjwatson@ubuntu.com>
12606
12607 Fix po directory handling.
12608
12609 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12610 * grub-core/gnulib/Makefile.am: Import gettext module.
12611 * m4/gnulib-cache.m4: Likewise.
12612 * m4/gnulib-comp.m4: Likewise.
12613 * m4/gettext.m4: New file, from gnulib.
12614 * m4/glibc2.m4: Likewise.
12615 * m4/iconv.m4: Likewise.
12616 * m4/intdiv0.m4: Likewise.
12617 * m4/intl.m4: Likewise.
12618 * m4/intldir.m4: Likewise.
12619 * m4/intlmacosx.m4: Likewise.
12620 * m4/intmax.m4: Likewise.
12621 * m4/inttypes-pri.m4: Likewise.
12622 * m4/lcmessage.m4: Likewise.
12623 * m4/lib-ld.m4: Likewise.
12624 * m4/lib-link.m4: Likewise.
12625 * m4/lib-prefix.m4: Likewise.
12626 * m4/lock.m4: Likewise.
12627 * m4/nls.m4: Likewise.
12628 * m4/po.m4: Likewise.
12629 * m4/printf-posix.m4: Likewise.
12630 * m4/progtest.m4: Likewise.
12631 * m4/threadlib.m4: Likewise.
12632 * m4/uintmax_t.m4: Likewise.
12633 * m4/visibility.m4: Likewise.
12634 * po/Makefile.am: Remove.
12635 * po/Makefile.in.in: New file, from gettext.
12636 ($(DOMAIN).pot-update): Support POTFILES-shell.
12637 * po/Makevars: New file.
12638 * po/POTFILES-shell: Rename to ...
12639 * po/POTFILES-shell.in: ... this. Update.
12640 * po/POTFILES: Rename to ...
12641 * po/POTFILES.in: ... this. Update.
12642 * po/Rules-quot: New file, from gettext.
12643 * po/boldquot.sed: Likewise.
12644 * po/en@boldquot.header: Likewise.
12645 * po/en@quot.header: Likewise.
12646 * po/insert-header.sin: Likewise.
12647 * po/quot.sed: Likewise.
12648 * po/remove-potcdate.sin: Likewise.
12649
3e0fa5d0
VS
126502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12653
ade9bd66
VS
126542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * util/grub.d/20_linux_xen.in: Use submenus.
12657
fc55cc4c
VS
126582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 Support submenus.
12661
12662 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12663 parameter submenu. All users updated.
12664 * grub-core/normal/main.c (free_menu): Rename to ...
12665 (grub_normal_free_menu): ... this. Made global.
12666 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12667 if requested.
12668 * grub-core/normal/menu_entry.c (screen): New field submenu.
12669 (make_screen): Set submenu.
12670 (run): Open new context if requested.
12671 * include/grub/menu.h (grub_menu_entry): New field submenu.
12672 * include/grub/normal.h (grub_normal_free_menu): New proto.
12673
600cedf7
VS
126742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 Menu entries extractor.
12677
12678 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12679 variants.
12680 (GRUB_MOD_INIT): Register new variants.
12681 (GRUB_MOD_FINI): Unregister new variants.
12682 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12683 into grub_cmd_legacy_source.
12684 (grub_cmd_legacy_source): Implement extractor variants.
12685 (GRUB_MOD_INIT): Register new variants.
12686 (GRUB_MOD_FINI): Unregister new variants.
12687 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12688 as an extractor.
12689 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12690 search as an extractor.
12691 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12692 test as an extractor.
12693 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12694 as an extractor.
12695 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12696 (grub_env_new_context): New function.
12697 (grub_env_context_open): Likewise.
12698 (grub_env_extractor_open): Likewise.
12699 (grub_env_extractor_close): Likewise.
12700 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12701 grub_extractor_level.
12702 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12703 * include/grub/env.h (grub_env_extractor_open): New proto.
12704 (grub_env_extractor_close): Likewise.
12705 * include/grub/normal.h (grub_extractor_level): New external variable.
12706
7bda3a87
VS
127072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 Make cutmem accept a region specification.
12710 Suggested by: Samuel Thibault
12711
12712 * grub-core/mmap/mmap.c (parsemem): New function.
12713 (grub_cmd_cutmem): Handle new arguments.
12714
2ea57f88
VS
127152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 New command cutmem.
12718
12719 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12720 (GRUB_MOD_INIT): Register new command.
12721 (GRUB_MOD_FINI): Unregister new command.
12722
74342e31
VS
127232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 Support some annoying BSD and Minix subpartitions.
12726
12727 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12728 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12729 Properly handle concatenation.
12730 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12731 * grub-core/normal/completion.c (iterate_partition): Likewise.
12732 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12733 contain partition. All users updated.
12734 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12735 struct.
12736 (grub_openbsdlabel_partition_map): Likewise.
12737 (bsdlabel_partition_map_iterate): Rename to ..
12738 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12739 (bsdlabel_partition_map_iterate): New function.
12740 (netopenbsdlabel_partition_map_iterate): Likewise.
12741 (netbsdlabel_partition_map_iterate): Likewise.
12742 (openbsdlabel_partition_map_iterate): Likewise.
12743 (GRUB_MOD_INIT): Register new partmaps.
12744 (GRUB_MOD_FINI): Unregister new partmaps.
12745 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12746 (grub_partition_msdos_iterate): ... this. All users updated.
12747 Don't support embedding other than in a minix partition.
12748 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12749 proto.
12750 * include/grub/partition.h (grub_partition): New field msdostype.
12751 * util/grub-install.in: Handle openbsd and netbsd types being in
12752 part_bsd module.
12753
1e8d555b
VS
127542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12757
12758 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12759 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12760 (mdraid09): ... this.
12761 (mdraid1x): New module.
12762 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12763 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12764
899d8af4
VS
127652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12768 vsprintf.
12769
40901acd
CW
127702010-09-20 Colin Watson <cjwatson@ubuntu.com>
12771
12772 * grub-core/commands/efi/lsefimmap.c: Correct header.
12773 * NEWS: Update.
12774
dfe3b247
CW
127752010-09-20 Colin Watson <cjwatson@ubuntu.com>
12776
12777 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12778 as printf format strings; the translations might contain '%' which
12779 could cause a crash.
12780 (main): Likewise.
12781 * util/grub-fstest.c (argp_parser): Likewise.
12782 * util/grub-setup.c (argp_parser): Likewise.
12783 (main): Likewise.
12784
3286a4b4
VS
127852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Use argp in grub-fstest.
12788
12789 * util/grub-fstest.c: Don't include getopt.h.
12790 Include argp.h.
12791 (root): New variable.
12792 (args_count): Likewise.
12793 (nparm): Likewise.
12794 (num_disks): Likewise.
12795 (images): Likewise.
12796 (cmd): Likewise.
12797 (debug_str): Likewise.
12798 (args): Likewise.
12799 (options): Transformed to argp.
12800 (usage): Removed.
12801 (main): Split argument parsing into ...
12802 (argp_parser): ... this. Changed to argp format.
12803 (argp): New variable.
12804 (main): Use argp_parse.
12805
3dccbe4b
TG
128062010-09-20 Tristan Gingold <gingold@free.fr>
128072010-09-20 Robert Millan <rmh.grub@aybabtu.com>
128082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/commands/efi/lsefimmap.c: New file.
12811 * grub-core/Makefile.core.def (lsefimmap): New module.
12812 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12813
38c259a7
VS
128142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 Pause the execution (10s max) if any errors are displayed so the user
12817 has a chance to see them.
12818
12819 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12820 (grub_print_error): Increment grub_err_printed_errors.
12821 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12822 execution if any errors were displayed.
12823 (show_menu): Remove old code for pause.
12824 * grub-core/normal/menu_entry.c (run): Likewise.
12825 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12826 users updated.
12827 (grub_normal_get_char_counter): Likewise.
12828 * include/grub/err.h (grub_err_printed_errors): New external variable.
12829 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12830
f218b09c
VS
128312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 Support multiboot VBE info.
12834
12835 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12836 Take VBE info into account.
12837 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12838 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12839 Call fill_vbe_info when appropriate.
12840 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12841 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12842 as supported.
12843 (grub_multiboot_get_mbi_size): Take new tags into account.
12844 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12845 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12846 Call fill_vbe_tag when appropriate.
12847 (grub_multiboot_make_mbi): Properly align tags.
12848 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12849 function.
12850 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12851 proto.
12852 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12853
a9cc5438
VS
128542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 Suport manual terminal geometry specification.
12857
12858 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12859 Save state in grub_ofconsole_terminfo_output.
12860 (grub_ofconsole_term): Use grub_terminfo_getwh.
12861 (grub_ofconsole_getwh): Removed.
12862 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12863 (grub_serial_term): Use grub_terminfo_getwh.
12864 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12865 (options): New struct.
12866 (OPTION_*): New enum.
12867 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12868 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12869 width and height.
12870 (grub_terminfo_getwh): New proto.
12871 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12872
1a8fed20
VS
128732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12874
12875 Handle legacy "terminal" command.
12876
12877 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12878 and FLAG_TERMINAL.
12879 (legacy_commands): Add terminal and title.
12880 (grub_legacy_parse): Handle terminal. Simplify title handling.
12881
41e9c57d
VS
128822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12885 parameters overflow.
12886
61c874c5
CW
128872010-09-20 Colin Watson <cjwatson@ubuntu.com>
12888
12889 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12890 widthspec.h.
12891
12892 * docs/grub.texi (Shell-like scripting): Document `!'.
12893 (Network): Simplify using new i386-pc-pxe format. Mention
12894 grub-mknetdir.
12895
12896 * NEWS: Update.
12897
943682b4
CW
128982010-09-20 Colin Watson <cjwatson@ubuntu.com>
12899
12900 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12901 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12902 when needed.
12903
6d3d698d
CW
129042010-09-20 Colin Watson <cjwatson@ubuntu.com>
12905
12906 * grub-core/commands/efi/lsefisystab.c: Correct header.
12907 * grub-core/commands/efi/lssal.c: Likewise.
12908 * grub-core/commands/testload.c: Likewise.
12909
c982589f
CW
129102010-09-20 Colin Watson <cjwatson@ubuntu.com>
12911
12912 * util/grub-mkrescue.in: Add explicit root argument to --set to
12913 prevent the UUID being interpreted as an argument to --set (matches
12914 previous change to prepare_grub_to_access_device).
12915
a63c31b6
CW
129162010-09-20 Colin Watson <cjwatson@ubuntu.com>
12917
12918 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12919 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12920 the verbosity of later #ifs.
12921 (find_partition_start): Define this function on FreeBSD too.
12922 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12923 function.
12924 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12925 on FreeBSD.
12926
6439b8ee
YB
129272010-09-20 Yves Blusseau <blusseau@zetam.org>
12928
12929 * util/grub-editenv.c: Use argp instead of getopt.
12930
c5930ec8
YB
129312010-09-20 Yves Blusseau <blusseau@zetam.org>
12932
12933 * util/grub-setup.c: Use argp instead of getopt.
12934
15c69261
YB
129352010-09-20 Yves Blusseau <blusseau@zetam.org>
12936
12937 Use gnulib-tool to create gnulib source files.
12938
12939 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12940 grub-core/gnulib directories
12941 * .bzignore: Add **/.deps and autogenerated gnulib files
12942 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12943 of gnulib macros, add grub-core/gnulib/Makefile
12944 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12945 include m4 directory to aclocal.
12946 * Makefile.util.def: Remove direct compilation of gnulib source files
12947 and use the new grub-core/gnulib/libgnu.a.
12948 * build-aux/config.rpath: move config.rpath from top directory to
12949 build-aux
12950 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12951 in gnulib headers
12952 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12953 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12954 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12955 header.
12956 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12957 string.
12958
e511c9f5
YB
129592010-09-20 Yves Blusseau <blusseau@zetam.org>
12960
12961 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12962 grub-core/genmod.sh and grub-core/gensyminfo.sh
12963
c2dede05
BC
129642010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12965
12966 Add a test for echo command options.
12967
12968 * tests/grub_cmd_echo.in: New test.
12969 * Makefile.util.def: Rules for new test.
12970
c55f5018
SJ
129712010-09-20 Szymon Janc <szymon@janc.net.pl>
12972
12973 Remove crc.mod and move crc command to hashsum.mod.
12974 Remove lib/crc.c - users updated to use gcrypt implementation.
12975
12976 * grub-core/commands/crc.c: Removed.
12977 * grub-core/Makefile.core.def (crc): Module removed.
12978 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12979 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12980 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12981 * grub-core/lib/crc.c: Removed.
12982 * include/grub/lib/crc.h: Removed.
12983 * Makefile.util.def (crc): Remove lib/crc.c
12984 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12985 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12986 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12987 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12988 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12989 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12990
e0337366
VS
129912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12994
742f9232
VS
129952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 Split config.h for util and core.
12998
12999 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13000 (ADDR32): Likewise.
13001 (DATA32): Likewise.
13002 (BSS_START_SYMBOL): Likewise.
13003 (END_SYMBOL): Likewise.
13004 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13005 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13006 * config.h.in: New file.
13007 * configure.ac: Use config-util.h as config define file.
13008 Rename MACHINE into GRUB_MACHINE. All users updated.
13009 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13010 updated.
13011 (NESTED_FUNC_ATTR): Likewise.
13012 Substitue new variables.
13013 (COND_HAVE_ASM_USCORE): New conditional.
13014 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13015 (kernel_syms.lst): Use ASM_PREFIX.
13016 * grub-core/kern/emu/console.c: Include config-util.h.
13017 * grub-core/kern/emu/misc.c: Likewise.
13018 * grub-core/kern/emu/mm.c: Likewise.
13019 * include/grub/emu/misc.h: Likewise.
13020 * include/grub/libgcc.h: Likewise.
13021
39feb0e8
VS
130222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13025 constants usage.
13026 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13027 Fix GRUB_TERM_KEY_* constants usage.
13028 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13029
9af6dac3
VS
130302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13033 print pointer.
13034 * grub-core/bus/usb/uhci.c: Remove empty define.
13035 (grub_uhci_check_transfer): Add missing cast.
13036 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13037 print pointer.
13038 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13039 PRIuGRUB_SIZE.
13040 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13041
d6d94820
VS
130422010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/Makefile.core.def (legacycfg): Add
13045 lib/i386/pc/vesa_modes_table.c on emu.
13046
3572f2b6
BC
130472010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13048
13049 Reduce number of temporary files generated by build system.
13050
13051 * grub-core/gencmdlist.sh: Removed.
13052 * grub-core/genfslist.sh: Removed.
13053 * grub-core/genhandlerlist.sh: Removed.
13054 * grub-core/genmodsrc.sh: Removed.
13055 * grub-core/genpartmaplist.sh: Removed.
13056 * grub-core/genparttoollist.sh: Removed.
13057 * grub-core/gentermiinallist.sh: Removed.
13058 * grub-core/genvideolist.sh: Removed.
13059
13060 * grub-core/genmod.sh.in: New file.
13061 * grub-core/gensyminfo.sh.in: New file.
13062
13063 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13064 * conf/Makefile.extra-dist: Update with new files.
13065 * gentpl.py: Remove rules related to unnecessary temporary files.
13066 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13067 and und-* files.
13068 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13069 genmod.sh scripts.
13070 * grub-core/bus/usb/uhci.c: Remove empty #define.
13071 * grub-core/genmoddep.awk: Updated with new syminfo format.
13072 * util/bash-completion.d/Makefile.am: Add config.log to
13073 CLEANFILES.
13074
c836b030
YB
130752010-09-19 Yves Blusseau <blusseau@zetam.org>
13076
13077 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13078
2f4e8053
BC
130792010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13080
13081 * util/grub-mkconfig.in: Check the config script for syntax errors
13082 before saving.
13083
75831c34
CW
130842010-09-19 Colin Watson <cjwatson@ubuntu.com>
130852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13088 platforms.
13089 * util/grub-install.in: Add EFI and IEEE1275 support.
13090 * util/i386/efi/grub-install.in: Removed.
13091 * util/ieee1275/grub-install.in: Likewise.
13092
eaf41b25
VS
130932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13096 (grub_cmd_cmosclean): Likewise.
13097 (GRUB_MOD_INIT): Register command cmosclean.
13098 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13099 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13100
1a9130dd
CPE
131012010-09-18 Carles Pina i Estany <carles@pina.cat>
131022010-09-18 Aleš Nesrsta <starous@volny.cz>
131032010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 Add keyboard layouts support.
13106
13107 * Makefile.util.def (grub-mklayout): New file.
13108 (grub-kbdcomp): New script.
13109 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13110 Add keyboard_layouts.h.
13111 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13112 commands/boot.c on yeeloong.
13113 (keylayouts): New module.
13114 * grub-core/bus/usb/ohci.c
13115 * grub-core/bus/usb/uhci.c
13116 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13117 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13118 (attach_root_port): Likewise.
13119 (poll_nonroot_hub): Likewise.
13120 (grub_usb_poll_devices): Likewise.
13121 (detach_device): Close transfer.
13122 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13123 function.
13124 (grub_usb_bulk_setup_readwrite): Likewise.
13125 (grub_usb_bulk_finish_readwrite): Likewise.
13126 * grub-core/commands/keylayouts.c: New file.
13127 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13128 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13129 aliases.
13130 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13131 support scancode 2.
13132 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13133 * include/grub/keyboard_layouts.h: New file.
13134 * util/grub-mklayout.c: New file.
13135 * util/grub-kbdcomp.in: Likewise.
13136
a1d84a5e
VS
131372010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Unify memory types.
13140
13141 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13142 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13143 types.
13144 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13145 (grub_upper_mem): Likewise.
13146 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13147 * include/grub/memory.h (grub_memory_type_t): New enum.
13148 All users updated.
13149
9696382e
VS
131502010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/Makefile.core.def (lsapm): New module.
13153 * grub-core/commands/i386/pc/lsapm.c: New file.
13154 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13155 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13156 Likewise.
13157 * include/grub/i386/pc/apm.h: New file.
13158 * include/multiboot.h (multiboot_apm_info): New struct.
13159
131602010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 GRUB-legacy configuration file support.
13163
13164 * Makefile.util.def (grub-menulst2cfg): New util.
13165 * docs/man/grub-menulst2cfg.h2m: New file.
13166 * grub-core/Makefile.core.def (legacycfg): New module.
13167 * grub-core/commands/legacycfg.c: New file.
13168 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13169 (grub_normal_add_menu_entry): ... this.
13170 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13171 (grub_normal_set_password): ...this.
13172 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13173 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13174 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13175 * grub-core/lib/legacy_parse.c: New file.
13176 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13177 * include/grub/i386/pc/vesa_modes_table.h: New file.
13178 * include/grub/legacy_parse.h: Likewise.
13179 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13180 * util/grub-menulst2cfg.c: New file.
13181
bf8d1338
CW
131822010-09-17 Colin Watson <cjwatson@ubuntu.com>
13183
13184 * grub-core/kern/emu/hostdisk.c
13185 (convert_system_partition_to_system_disk): Initialise node.
13186
9c0bad2e
CW
131872010-09-17 Colin Watson <cjwatson@ubuntu.com>
13188
13189 * grub-core/kern/emu/hostdisk.c
13190 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13191 leak.
13192 Reported and based on patch by: Modestas Vainius.
13193
a939d135
CW
131942010-09-17 Colin Watson <cjwatson@ubuntu.com>
13195
13196 Fix DM-RAID probing with recent versions of device-mapper udev
13197 rules.
13198
13199 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13200 canonicalise device paths under /dev/mapper/.
13201 (convert_system_partition_to_system_disk): Compare the
13202 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13203 path, since device nodes under /dev/mapper/ are often symlinks.
13204
0f7ee3c9
YB
132052010-09-17 Yves Blusseau <blusseau@zetam.org>
13206
13207 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13208
10854d0d
YB
132092010-09-16 Yves Blusseau <blusseau@zetam.org>
13210
13211 * configure.ac: Avoid some annoying error messages if freetype-config
13212 program is not found.
13213
108538d8
CW
132142010-09-16 Colin Watson <cjwatson@ubuntu.com>
13215
13216 Support RAID on virtio devices, and others.
13217
13218 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13219 Rename to ...
13220 [__MINGW32__] (grub_find_device): ... this.
13221 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13222 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13223 reasonable default if dir is NULL.
13224 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13225 ...
13226 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13227 (grub_guess_root_device): Update callers.
13228 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13229
13230 * util/raid.c (grub_util_getdiskname): Remove.
13231 (grub_util_raid_getmembers): Use grub_find_device rather than
13232 grub_util_getdiskname.
13233
e5bfc130
CW
132342010-09-16 Colin Watson <cjwatson@ubuntu.com>
13235
13236 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13237 needing to be compiled with serial support.
13238 (ls): Indicate that multiple files are accepted.
13239 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13240 indicate that multiple files are accepted.
13241
be458ae2
CW
132422010-09-16 Colin Watson <cjwatson@ubuntu.com>
13243
13244 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13245 libgrub_a_init.c, and util/bash-completion.d/grub.
13246
cb731b5e
VS
132472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * util/grub-setup.c (setup): Fix incorrect container semantics.
13250
35139e8a
VS
132512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13254 misusage.
13255 Reported by: J. Nick Terry
13256
e50fca4a
VS
132572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 Move embedding routines to partmap sources files.
13260
13261 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13262 [GRUB_UTIL]: New variable.
13263 (gpt_partition_map_iterate): Set part.parent.
13264 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13265 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13266 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13267 New function.
13268 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13269 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13270 (grub_partition_map) [GRUB_UTIL]: New field embed.
13271 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13272 (setup): Use ->embed.
13273
f00478b7
VS
132742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13277 function.
13278 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13279 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13280
2b94e3ff
YB
132812010-09-15 Yves Blusseau <blusseau@zetam.org>
13282
13283 Add function to get completions from usage.
13284
13285 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13286 completions from usage. Use LC_ALL=C to get options properly.
13287
2e04a006
VS
132882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * grub-core/gnulib/basename-lgpl.c: Imported.
13291 * grub-core/gnulib/basename.c: Likewise.
13292 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13293 * grub-core/gnulib/dirname.c: Likewise.
13294 * grub-core/gnulib/dirname.h: Likewise.
13295 * grub-core/gnulib/stripslash.c: Likewise.
13296
5dcdf93a
VS
132972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * grub-core/gnulib/error.c: Resynced.
13300 * grub-core/gnulib/getopt.c: Likewise.
13301 * grub-core/gnulib/getopt_int.h: Likewise.
13302 * grub-core/gnulib/regex.h: Likewise.
13303 * grub-core/gnulib/regex_internal.c: Likewise.
13304 * grub-core/gnulib/regex_internal.h: Likewise.
13305
014f47b7
SJ
133062010-09-15 Szymon Janc <szymon@janc.net.pl>
13307
13308 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13309 CRC calculations and validity checks.
13310 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13311 calculations.
13312
dd521a4a
SJ
133132010-09-15 Szymon Janc <szymon@janc.net.pl>
13314
13315 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13316
79c4eeb9
VS
133172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 Fix incorrect echo options handling.
13320 Reported by: Yves Blusseau.
13321
13322 * include/grub/command.h (grub_command_flags_t): New flags
13323 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13324 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13325 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13326
ed80f7d5
VS
133272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13328
13329 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13330 users updated.
13331 (GRUB_COMMAND_FLAG_MENU): Likewise.
13332 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13333 (GRUB_COMMAND_FLAG_TITLE): Removed.
13334 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13335 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13336 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13337 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13338 (grub_command_flags_t): New enum. All users updated.
13339
5fe7620a
SG
133402010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13341
13342 Fix solaris compilation.
13343
13344 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13345 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13346 (grub-emu-list): Likewise.
13347
545b752f
VS
133482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Remove deprecated root command.
13351
13352 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13353 updated.
13354
6c1a338c
VS
133552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * util/i386/pc/grub-setup.c: Merge this ...
13358 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13359 * util/grub-setup.c: ... into this.
13360 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13361 New struct.
13362
133632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13366 possible.
13367
d2ea4551
VS
133682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13371 allocate p.
13372
3c3b5040
VS
133732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13376 explicit root argument to set to prevent UUID to be interpreted as
13377 argument to set.
13378
b71c3fae
VS
133792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13382
275433e6
VS
133832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Don't export grub_gate_a20.
13386
13387 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13388 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13389 to ...
13390 (grub_gate_a20): ... this. All users updated.
13391 * include/grub/i386/pc/init.h: Removed. All users updated.
13392
a5dbb1f1
VS
133932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 Create euro.pf2 which supports most European languages.
13396
13397 * Makefile.am (grubdata_DATA): Add euro.pf2.
13398 (euro.pf2): New target.
13399 (CLEANFILES): Add euro.pf2.
13400
62a747cb
VS
134012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * configure.ac: Disable emu-usb by default to prevent inadvertent
13404 device takeover.
13405
608e43b1
VS
134062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 Disable usbserial on grub-emu since our libusb code isn't good enough
13409 yet.
13410
13411 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13412 (usbserial_pl2303): Likewise.
13413 (usbserial_ftdi): Likewise.
13414
94564f81
VS
134152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * include/grub/disk.h (grub_disk): Remove has_partitions.
13418 All users updated.
13419 * disk/loopback.c (grub_loopback): Remove has_partitions.
13420 All users updated.
13421 (options): Remove partitions. All users updated.
13422 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13423 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13424 actual partition table is found.
13425
3352800b
VS
134262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 Remove readability checks (too many false negatives).
13429
13430 * util/grub-install.in: Remove readability checks.
13431 * util/grub-mkconfig.in: Likewise.
13432 * util/grub.d/10_hurd.in: Likewise.
13433 * util/grub.d/10_kfreebsd.in: Likewise.
13434 * util/grub.d/10_linux.in: Likewise.
13435 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13436 way.
13437
2419f17a
VS
134382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13439
13440 Enable acpi shutdown on all ACPI platforms.
13441
13442 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13443 on coreboo, multiboot and EFI.
13444 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13445 (grub_acpi_halt): Likewise.
13446 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13447 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13448 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13449 * grub-core/lib/i386/halt.c (grub_halt)
13450 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13451
0575c7c3
VS
134522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13455 context.
13456
54ac3cd1
VS
134572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13460 * grub-core/video/efi_uga.c: Likewise.
13461
b2a30ac5
VS
134622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 Filter devaliases and never open same device twice.
13465
13466 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13467 (last_ihandle): Likewise.
13468 (ofdisk_hash_ent): New member shortest.
13469 (ofdisk_hash_add): Add canonical path too.
13470 (scan): New function.
13471 (grub_ofdisk_iterate): Iterate over hashed entries.
13472 (compute_dev_path): Don't add :0.
13473 (grub_ofdisk_open): Don't really open the disk.
13474 (grub_ofdisk_close): Avoid closing unrelated disk.
13475 (grub_ofdisk_read): Implement reopen logic.
13476 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13477 New function.
13478 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13479 New proto.
13480
fb53b340
VS
134812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 Fix sparc64.
13484
13485 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13486 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13487 right address. Add sparc64_ieee1275_ldflags.
13488 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13489 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13490 to grub_host_to_target_addr
13491 (load_image): Likewise.
13492
f452b040
VS
134932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/normal/completion.c (complete_file): Handle device
13496 containing slash.
13497 Fix based on patch by Doug Nazar.
13498
9b5b2541
VS
134992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 grub-mknetdir script.
13502
13503 * Makefile.util.def (grub-mknetdir): New module.
13504 * tests/util/grub-shell.in: Support boot=net
13505 * util/grub-mknetdir.in: New file.
13506
9d2be652
VS
135072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 videoinfo on non-vbe.
13510
13511 * grub-core/Makefile.core.def (vbeinfo): Removed.
13512 (vbetest): Removed.
13513 (videoinfo): New module.
13514 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13515 * grub-core/commands/i386/pc/vbetest.c: Removed.
13516 * grub-core/commands/videoinfo.c: New file.
13517 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13518 specification.
13519 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13520 as vbetest.
13521 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13522 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13523 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13524 mode_number. New parameter mode. All users updated.
13525 (grub_video_gop_iterate): New function.
13526 (grub_video_efi_gop): New member iterate.
13527 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13528 (grub_vbe_set_video_mode): Remove setting useless fields.
13529 (vbe2videoinfo): New function.
13530 (grub_video_vbe_iterate): Likewise.
13531 (grub_video_vbe_setup): Use vbe2videoinfo.
13532 (grub_video_vbe_print_adapter_specific_info): New function.
13533 (grub_video_vbe_adapter): New fields iterate and
13534 print_adapter_specific_info.
13535 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13536 All users updated.
13537 (grub_video_mode_info): New field mode_number.
13538 (grub_video_adapter): New fields iterate and
13539 print_adapter_specific_info.
13540
179503f5
TG
135412010-09-13 Tristan Gingold <gingold@free.fr>
135422010-09-13 Robert Millan <rmh.grub@aybabtu.com>
135432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/commands/efi/lsefisystab.c: New file.
13546 * grub-core/commands/efi/lssal.c: Likewise.
13547 * grub-core/Makefile.core.def (lsacpi): New module.
13548 (lsefisystab): Likewise.
13549 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13550 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13551 (grub_efi_sal_system_table): New struct.
13552 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13553 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13554 (grub_efi_sal_system_table_platform_features): Likewise.
13555 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13556 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13557 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13558 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13559
cf9827de
VS
135602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13561
13562 Support explicit user claim that a device is BIOS-visible.
13563
13564 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13565 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13566 * grub-core/kern/emu/hostdisk.c
13567 (convert_system_partition_to_system_disk): Support mdX.
13568 (find_system_device): New parameter add. All users updated.
13569 (grub_util_biosdisk_is_present): New function.
13570 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13571 proto.
13572
53f0eb1f
VS
135732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 Search hints support.
13576
13577 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13578 All users updated.
13579
b23ffd70
YB
135802010-09-13 Yves Blusseau <blusseau@zetam.org>
13581
13582 Bash completion script for util commands
13583
13584 * Makefile.am: Add util/bash-completion.d directory
13585 * configure.ac: Likewise.
13586 * util/bash-completion.d/Makefile.am: New file.
13587 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13588
d547dc28
VS
135892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13592 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13593 Reported by: Yves Blusseau.
13594
2fc8ccb9
VS
135952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13596
13597 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13598 partition size and offset.
13599
d8a84076
VS
136002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13603
84fb3b3d
VS
136042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13607
768ec2e2
VS
136082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13611 (grub_xvasprintf): Likewise.
13612
4870900f
VS
136132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13616
faca6bec
VS
136172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13620 args ending with NULL.
13621
136222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13623
13624 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13625 pointer.
13626
3c70f225
SJ
136272010-09-11 Szymon Janc <szymon@janc.net.pl>
13628
13629 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13630
4df7996d
VS
136312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 Shutdown using ACPI.
13634
13635 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13636 * grub-core/commands/acpihalt.c: New file.
13637 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13638 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13639 (grub_acpi_halt): New proto.
13640 (GRUB_ACPI_SLP_EN): New const.
13641 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13642 (GRUB_ACPI_OPCODE_*): New enum.
13643 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13644
126b4c32
TG
136452010-09-11 Tristan Gingold <gingold@free.fr>
136462010-09-11 Robert Millan <rmh.grub@aybabtu.com>
136472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 * commands/lsacpi.c: New file.
13650 * grub-core/Makefile.core.def (lsacpi): New module.
13651 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13652 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13653 (grub_acpi_madt_entry_header): New struct.
13654 (grub_acpi_madt): Likewise.
13655 (grub_acpi_madt_entry_interrupt_override): Likewise.
13656 (grub_acpi_madt_entry_sapic): Likewise.
13657 (grub_acpi_madt_entry_lsapic): Likewise.
13658 (grub_acpi_madt_entry_platform_int_source): Likewise.
13659 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13660 (PRIuGRUB_UINT32_T): Likewise.
13661 (PRIxGRUB_UINT64_T): Likewise.
13662
1aa4fe88
VS
136632010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 Implement loading palette on ieee1275_fb.
13666
13667 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13668 (have_setcolors): Likewise.
13669 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13670 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13671 (grub_video_ieee1275_set_palette): Implement.
13672
25761e13
VS
136732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
136742010-09-11 Colin Watson <cjwatson@ubuntu.com>
13675
13676 * util/grub-install.in (grub_partition): New variable.
13677 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13678 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13679 Fixes a bug reported by Yves Blusseau.
13680
050abaea
VS
136812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 Fix emu on mipsel.
13684
13685 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13686 =grub_cpu_flush_cache on all mips and not only yeeloong.
13687 * configure.ac (COND_mips): New conditional.
13688 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13689 platforms.
13690 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13691 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13692 [GRUB_LINKER_HAVE_INIT]: New function.
13693 (grub_emu_post_init): Likewise.
13694 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13695 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13696 * include/grub/cache.h (_mips): Include mips/cache.h.
13697 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13698 LVM and RAID prototypes.
13699 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13700 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13701 function.
13702
5ed7d816
CW
137032010-09-10 Colin Watson <cjwatson@ubuntu.com>
13704
13705 * util/grub-install.in: Don't try to verify core.img until after
13706 running grub-mkimage to create it.
13707
90367e04
RM
137082010-09-10 Robert Millan <rmh@gnu.org>
13709
13710 * util/grub.d/10_hurd.in: Add misc readability checks.
13711 * util/grub.d/10_kfreebsd.in: Likewise.
13712 * util/grub.d/10_linux.in: Likewise.
13713
c452fa66
CW
137142010-09-10 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * util/grub-install.in: ${imgext} won't be defined here until the
13717 install branch is merged. For the meantime, only verify core.img on
13718 i386-pc and sparc64-ieee1275 platforms.
13719
c38fe9f4
RM
137202010-09-10 Robert Millan <rmh@gnu.org>
13721
13722 Solaris support in grub_find_zpool_from_dir(). Thanks
13723 Seth Goldberg for referring to getextmntent() facility.
13724
13725 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13726 `sys/mkdev.h'.
13727 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13728 `<sys/mnttab.h>'.
13729 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13730 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13731 method for finding zpool name.
13732
905f7773
CW
137332010-09-10 Colin Watson <cjwatson@ubuntu.com>
13734
13735 grub-fstest needs the host and hostfs modules while other utilities
13736 actively require those modules to be absent, so grub-fstest needs
13737 its own initialisation and finalisation code.
13738
13739 * Makefile.am (grub_fstest.pp): New target.
13740 (grub_fstest_init.lst): Likewise.
13741 (grub_fstest_init.c): Likewise.
13742 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13743
fb90b546
RM
137442010-09-10 Robert Millan <rmh@gnu.org>
13745
13746 * configure.ac: Check for `struct statfs.f_fstypename' and
13747 `struct statfs.f_mntfromname'.
13748
13749 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13750 kFreeBSD-specific code.
13751
66d4bea5
RM
137522010-09-10 Robert Millan <rmh@gnu.org>
13753
13754 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13755 on ZFS. Now non-main filesystems are supported as / too.
13756
b6a690ee
CW
137572010-09-09 Colin Watson <cjwatson@ubuntu.com>
13758
13759 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13760 and grub-core/disk/host.c to ...
13761 (grub-fstest): ... here. Having the host disk implementation
13762 present confuses grub-probe and other utility programs.
13763
13764 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13765 when writing to a file, not when writing to stdout.
13766
8901b00c 137672010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13768
13769 * tests/partmap_test.in: New test for partitions.
13770 * Makefile.util.def: Rules for new test.
13771
7bf45fdd
RM
137722010-09-09 Robert Millan <rmh@gnu.org>
13773
13774 * util/grub-probe.c (probe): Fix a pair of unhandled error
13775 conditions.
13776
4dfbc574
RM
137772010-09-09 Robert Millan <rmh@gnu.org>
13778
13779 Basic Btrfs support (detection and UUID).
13780
13781 * grub-core/fs/btrfs.c: New file.
13782 * Makefile.util.def (library): Register btrfs.c.
13783 * grub-core/Makefile.core.def: Likewise.
13784
6b8e78ae
RM
137852010-09-08 Robert Millan <rmh@gnu.org>
13786
13787 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13788 with (optional) parameters to specify device and relative path.
13789 * util/grub-install.in: Use is_path_readable_by_grub() to
13790 verify readability of a few critical files.
13791 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13792 verify readability of grub.cfg.new.
13793
27f21a8b
VS
137942010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 Split minix.mod into minix.mod and minix2.mod.
13797
13798 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13799 * grub-core/Makefile.core.def (minix2): New module.
13800 * grub-core/fs/minix.c: Use definitions instead of runtime version
13801 checking.
13802 * grub-core/fs/minix2.c: New file.
13803
c0e53ea5
YB
138042010-09-08 Yves Blusseau <blusseau@zetam.org>
13805
13806 Add new --boot-directory option to replace --root-directory
13807
13808 * util/grub-install.in: Add new --boot-directory option
13809 * util/grub-reboot.in: Likewise.
13810 * util/grub-set-default.in: Likewise.
13811
b9fe6ea2
YB
138122010-09-08 Yves Blusseau <blusseau@zetam.org>
13813
13814 * util/grub-mkconfig.in: Use new variable.
13815
d87aedff
YB
138162010-09-08 Yves Blusseau <blusseau@zetam.org>
13817
13818 * configure.ac: Define some useful variables.
13819
e55e8495
VS
138202010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13823 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13824 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13825 Use terminfo and don't use cursor-on/cursor-off unless it's known
13826 to work.
13827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13828 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13829
6fa6d675
CW
138302010-09-08 Colin Watson <cjwatson@ubuntu.com>
13831
13832 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13833 starts with "(,", fill the drive containing the loaded image in
13834 between those two characters, but expect that a full partition
13835 specification including partition map names will follow.
13836
92f2aef0
RM
138372010-09-08 Robert Millan <rmh@gnu.org>
13838
13839 * configure.ac: Remove `--enable-grub-fstest' option.
13840 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13841
13842 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13843 `grub-fstest' instead of `grub-probe' for readability verification.
13844 * util/grub-probe.c (probe): Remove readability verification kludge.
13845
99fd620d
RM
138462010-09-08 Robert Millan <rmh@gnu.org>
13847
13848 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13849 initializing `GRUB_FS'.
13850
058e30ac 138512010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13852
13853 Not command (!) support to GRUB script.
13854
13855 * tests/grub_script_not.in: New test.
13856 * Makefile.util.def: Rules for new test.
13857
13858 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13859 ! command as a special case.
13860 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13861
b61d05ed 138622010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13863
058e30ac 13864 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13865 grub_free.
b61d05ed 13866
4d69c786 138672010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13868
13869 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13870
aa3119c4 138712010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13872
13873 * docs/grub.texi (Shell-like scripting): Documentation for break,
13874 continue, shift and return commands.
13875
db0f7e3d
VS
138762010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 Rename CD-ROM to cd on BIOS.
13879
13880 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13881 "cd".
13882 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13883
88b87c93
VS
138842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13887 * util/grub-probe.c (main): Likewise.
13888 * util/i386/pc/grub-setup.c (main): Likewise.
13889 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13890 Reported and debugged by: alexxy
13891
294f324d
VS
138922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13895 diagnostic info.
13896
d7ee3441
JS
138972010-09-05 Jo Shields <directhex@apebox.org>
13898
13899 * util/grub.d/30_os-prober.in: Add missing classes.
13900
d7e06c1f
VS
139012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 * docs/grub.texi (Theme file format): Document new position format.
13904
fc157e53
VS
139052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13908 a table. Use @code instead of @verbatim.
13909
506e9a1c
CB
139102010-09-05 Colin D Bennett <colin@gibibit.com>
13911
13912 Gfxmenu documentation.
13913
13914 * docs/grub.texi (Theme file format): New chapter.
13915
f0aff67c
SJ
139162010-09-05 Szymon Janc <szymon@janc.net.pl>
13917
13918 * grub-core/Makefile.core.def (xzio): New module.
13919 * grub-core/io/xzio.c: New file.
13920 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13921 * grub-core/lib/xzembed/xz_config.h: Likewise.
13922 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13923 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13924 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13925 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13926 * grub-core/lib/xzembed/xz_private.h: Likewise.
13927 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13928 * include/grub/file.h (grub_file_filter_id): New compression filter
13929 GRUB_FILE_FILTER_XZIO.
13930
82a85062
VS
139312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13934 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13935 size.
13936
3579415d
VS
139372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13940 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13941
5124ae6d
VS
139422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 Uncompressed checksum support.
13945
13946 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13947 (check_list): New parameter uncompress.
13948 (grub_cmd_hashsum): Handle --uncompress.
13949
9aadb3d1
VS
139502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 Reintroduce testload.
13953
13954 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13955 from here ...
13956 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13957 (GRUB_MOD_INIT): New function.
13958 (GRUB_MOD_FINI): Likewise.
13959 * grub-core/Makefile.core.def (testload): New module.
13960
a17792c3
SJ
139612010-09-05 Szymon Janc <szymon@janc.net.pl>
13962
13963 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13964 (uint8_t): New type.
13965 (uint16_t): Likewise.
13966 (uint32_t): Likewise.
13967 (uint64_t): Likewise.
13968
b81e40a3
SJ
139692010-09-05 Szymon Janc <szymon@janc.net.pl>
13970
13971 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13972
fc2ef117
VS
139732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13976 Made static.
13977 (grub_gzfile_open): Removed. All users updated.
13978 (GRUB_MOD_INIT): New function.
13979 (GRUB_MOD_FINI): Likewise.
13980 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13981 (grub_file_filters_enabled): Likewise.
13982 (grub_file_open): Handle filters.
13983 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13984 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13985 * include/grub/file.h (grub_file_filter_id_t): New type.
13986 (grub_file_filter_t): Likewise.
13987 (grub_file_filters_all): New extern variable.
13988 (grub_file_filters_enabled): Likewise.
13989 (grub_file_filter_register): New inline function.
13990 (grub_file_filter_unregister): Likewise.
13991 (grub_file_filter_disable): Likewise.
13992 (grub_file_filter_disable_compression): Likewise.
13993 * include/grub/gzio.h: Removed.
13994
35ee15e0
BC
139952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13996
13997 Filename expansion support for wildcards in GRUB script.
13998
13999 * tests/grub_script_expansion.in: New test.
14000 * Makefile.util.def: Rule for new test.
14001
14002 * grub-core/commands/wildcard.c: New file, implements filename
14003 expansion support for GRUB script.
14004 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14005 * grub-core/script/argv.c: Cosmetic changes.
14006 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14007 Refactored to perform wildcard expansion on arguments.
14008 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14009 struct.
14010
14011 * tests/util/grub-shell.in: Fix quoting for read input.
14012
5f0c4aca
BC
140132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14014
14015 Support for updating environment variables with matched substrings
14016 of regexp.
14017
14018 * tests/grub_cmd_regexp.in: New test.
14019 * Makefile.util.def: Rule for new test.
14020
14021 * grub-core/commands/regexp.c: New option -s to update environment
14022 variables with regexp matches.
14023
3759a35f
SJ
140242010-09-04 Szymon Janc <szymon@janc.net.pl>
14025
14026 * include/grub/file.h (grub_file): New member not_easly_seekable.
14027 (grub_file_seekable): New inline function.
14028 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14029 easily seekable.
14030 (grub_gzio_open): Set not_easly_seekable.
14031 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14032 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14033
ed8c6dec
BC
140342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14035
14036 Support for options to appear multiple times on cmdline.
14037
14038 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14039 * grub-core/commands/extcmd.c: Support for repeatable option.
14040 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14041 repeatable option support.
14042
14043 Refactor menuentry into a regular command.
14044
14045 * grub-core/commands/menuentry.c: New file, menuentry command
14046 implementation.
14047 * grub-core/Makefile.core.def: Rule update for normal.mod.
14048 * grub-core/normal/main.c: Moved menuentry creation to
14049 grub-core/commands/menuentry.c.
14050 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14051 (grub_menu_execute_entry_real): Removed.
14052 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14053 function.
14054 (grub_script_execute_menuentry): Removed.
14055 * grub-core/script/parser.y (menuentry): Removed.
14056 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14057 * grub-core/script/yylex.l (menuentry): Removed.
14058 * include/grub/menu.h (grub_menu_init): New prototype.
14059 (grub_menu_fini): New prototype.
14060 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14061 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14062 (grub_script_execute_sourcecode): New prototype.
14063
dacd0cf0
BC
140642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14065
14066 "return" command for GRUB script functions.
14067
14068 * tests/grub_script_return.in: New test.
14069 * Makefile.util.def: Rules for new test.
14070
14071 * grub-core/script/execute.c (grub_script_return): New function.
14072 * grub-core/script/main.c: Register/unregister return commaond.
14073 * include/grub/script_sh.h (grub_script_return): New prototype.
14074
52e72f9d
BC
140752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14076
14077 "setparams" command to update positional parameters.
14078
14079 * tests/grub_script_setparams.in: New test.
14080 * Makefile.util.def: Rules for new test.
14081
14082 * grub-core/script/argv.c (grub_script_argv_make): New function.
14083 * grub-core/script/execute.c (replace_scope): New function.
14084 (grub_script_setparams): New function.
14085 * grub-core/script/lexer.c: Remove unused variables.
14086 * grub-core/script/main.c: Register/unregister setparams command.
14087 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14088 (grub_script_setparams): New prototype.
14089
25b60c91
BC
140902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14091
14092 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14093 grub_free order.
14094
37e7bf68
BC
140952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14096
14097 Support for passing block of commands as an argument to extcmds.
14098
14099 * Makefile.util.def: Rules for new test.
14100 * tests/grub_script_blockarg.in: New test.
14101 * grub-core/tests/test_blockarg.c: New file, block argument
14102 command used in the test.
14103
14104 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14105 (grub_register_extcmd_prio): New function prototype.
14106 (grub_extcmd_dispatcher): New function prototype.
14107 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14108 type.
14109 * include/grub/script_sh.h (struct grub_script): New members
14110 `children', `next_siblings' and `refcnt' for block arguments and
14111 reference counting.
14112 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14113 (grub_script_arg): New member `script' for block argument.
14114 (grub_script_argv): New member `script' for block argument.
14115 (grub_parser_param): New member `scripts' for block argument.
14116 (grub_script_mem_free): New extern function prototype.
14117 (grub_script_ref): New function prototype.
14118 (grub_script_unref): New function prototype.
14119
14120 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14121 extcmd form to support block arguments.
14122 * grub-core/script/argv.c: Block arguments support.
14123 * grub-core/script/execute.c: Likewise.
14124 * grub-core/script/lexer.c: Likewise.
14125 * grub-core/script/main.c: Likewise.
14126 * grub-core/script/script.c: Likewise.
14127 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14128 non-terminals.
14129
14130 * grub-core/commands/acpi.c: Update extcmd implementations with
14131 grub_extcmd_context_t.
14132 * grub-core/commands/cat.c: Likewise.
14133 * grub-core/commands/echo.c: Likewise.
14134 * grub-core/commands/extcmd.c: Likewise.
14135 * grub-core/commands/hashsum.c: Likewise.
14136 * grub-core/commands/hdparm.c: Likewise.
14137 * grub-core/commands/help.c: Likewise.
14138 * grub-core/commands/hexdump.c: Likewise.
14139 * grub-core/commands/i386/cpuid.c: Likewise.
14140 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14141 * grub-core/commands/i386/pc/halt.c: Likewise.
14142 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14143 * grub-core/commands/iorw.c: Likewise.
14144 * grub-core/commands/keystatus.c: Likewise.
14145 * grub-core/commands/loadenv.c: Likewise.
14146 * grub-core/commands/ls.c: Likewise.
14147 * grub-core/commands/lspci.c: Likewise.
14148 * grub-core/commands/memrw.c: Likewise.
14149 * grub-core/commands/probe.c: Likewise.
14150 * grub-core/commands/search_wrap.c: Likewise.
14151 * grub-core/commands/setpci.c: Likewise.
14152 * grub-core/commands/sleep.c: Likewise.
14153 * grub-core/disk/loopback.c: Likewise.
14154 * grub-core/hello/hello.c: Likewise.
14155 * grub-core/loader/i386/bsd.c: Likewise.
14156 * grub-core/loader/xnu.c: Likewise.
14157 * grub-core/term/gfxterm.c: Likewise.
14158 * grub-core/term/serial.c: Likewise.
14159 * grub-core/tests/lib/functional_test.c: Likewise.
14160
888d1500
BC
141612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14162
14163 Multi-line quoted strings support.
14164
14165 * grub-core/script/lexer.c (append_newline): Removed.
14166 (grub_script_lexer_yywrap): Refactored.
14167 (grub_script_lexer_init): Refactored.
14168 * grub-core/script/yylex.l (yywrap): New function.
14169 (grub_lexer_resplit): New function.
14170 (grub_lexer_unput): New function.
14171 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14172 and resplit.
14173 * tests/grub_script_echo1.in: Added few more testcases.
14174
dda060dd
VS
141752010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * grub-core/kern/misc.c: Don't add abort alias in utils.
14178 Reported by: echoline.
14179
6556eba9
BC
141802010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14181
14182 Add missing files into "make dist" tarball for other platforms.
14183
14184 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14185 * conf/Makefile.common (dist_noinst_DATA): New variable.
14186 * conf/Makefile.extra-dist: Added missing make dist files.
14187 * grub-core/Makefile.core.def: Likewise.
14188
c8e7bf5f
VS
141892010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 Compress grub_prefix.
14192
14193 * grub-core/boot/i386/pc/lnxboot.S: Use
14194 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14195 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14196 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14197 GRUB_MACHINE_PREFIX_END. All users updated.
14198 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14199 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14200 + 0x40.
14201 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14202 * util/grub-mkimage.c (image_target_desc): Change data_end to
14203 prefix_end. All users updated.
14204
a7c00cdb
VS
142052010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14208 value.
14209 (grub_openbsd_boot): Likewise.
14210 (grub_netbsd_boot): Likewise.
14211 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14212 (grub_xnu_boot): Likewise.
14213
9f915872
VS
142142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * configure.ac: Clean LIBS variable after tests.
14217
efa1bee7
CW
142182010-09-02 Colin Watson <cjwatson@ubuntu.com>
14219
14220 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14221
61d720e5
VS
142222010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14225 echo if libdevmapper will be used.
14226
ef8e0ec8
IT
142272010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14228
14229 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14230 constant for the same file.
14231
03e261d8
VS
142322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14235
c2a4eba6
CW
142362010-09-02 Colin Watson <cjwatson@ubuntu.com>
14237
14238 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14239 grub-core/*.pp.
14240
9056cbf3
CW
142412010-09-02 Colin Watson <cjwatson@ubuntu.com>
14242
14243 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14244 required by the boot protocol.
14245
14246 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14247 ebp and edi members.
14248 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14249 state.ebp and state.edi.
14250 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14251 %ebp and %edi according to grub_relocator32_ebp and
14252 grub_relocator32_edi respectively.
14253 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14254 and state.edi.
14255
529cc99a
VS
142562010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Add i386-pc-pxe image target.
14259
14260 * util/grub-mkimage.c (image_target_desc): New enum value
14261 IMAGE_I386_PC_PXE.
14262 (image_targets): New target i386-pc-pxe.
14263 (generate_image): Handle i386-pc-pxe image.
14264
9a093920
VS
142652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Fix grub_pxe_scan.
14268
14269 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14270 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14271 All users updated.
14272 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14273 (grub_pxe_pxenv): Correct type.
14274
f9cefc4e
CW
142752010-09-01 Colin Watson <cjwatson@ubuntu.com>
14276
14277 * NEWS: Document most of the important changes since 1.98.
14278
4066f57f
CW
142792010-09-01 Colin Watson <cjwatson@ubuntu.com>
14280
14281 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14282 generated manual page) a little.
14283
da2891f9
CW
142842010-09-01 Colin Watson <cjwatson@ubuntu.com>
14285
14286 * docs/grub.texi: Add myself as an author.
14287
ad717fae
VS
142882010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * Makefile.util.def (libgrub.a): Add missing sunpc.
14291 Reported by: Seth Goldberg.
14292
eefe8abd
VS
142932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 Interrupt wrapping and code simplifications.
14296
9494ef9a
VS
14297 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14298 x86_noieee1275 which are functionaly equivalent in this case.
14299 (grub-install): Make source on each platform explicit. Enable on
14300 all noemu.
14301 * gentpl.py (x86_efi_pc): Removed group.
14302 (x86_noefi): Likewise.
14303 (i386_noefi): Likewise.
14304 (x86_noieee1275): Likewise.
14305 (i386_noieee1275): Likewise.
14306 (i386_noefi_noieee1275): Likewise.
14307 (i386_pc_qemu_coreboot): Likewise.
14308 (i386_coreboot_multiboot): Likewise.
14309 (i386_pc_coreboot_multiboot_qemu): Likewise.
14310 (x86_noefi_mips): Likewise.
14311 (noieee1275): Likewise.
14312 (ieee1275_mips): Likewise.
14313 (noemu_noieee1275): Likewise.
14314 (cmos): New group.
14315 (usb): Likewise.
14316 (videoinkernel): Likewise.
14317 (videomodules): Likewise.
eefe8abd 14318 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14319 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14320 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14321 include/grub/loader.h, include/grub/msdos_partition.h,
14322 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14323 include/grub/machine/console.h, include/grub/machine/vga.h,
14324 include/grub/machine/vbe.h, include/grub/machine/init.h,
14325 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14326 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14327 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14328 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14329 * grub-core/Makefile.core.def (kernel): Explicit the source for
14330 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14331 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14332 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14333 Use videoinkernel tag.
14334 (usb): Enable on all usb.
14335 (usbserial_common): Likewise.
14336 (usbserial_pl2303): Likewise.
14337 (usbserial_ftdi): Likewise.
14338 (uhci): Enable on all x86.
14339 (ohci): Enable on all pci.
14340 (cmostest): Enable on all CMOS.
14341 (acpi): Include commands/acpi.c on all platforms.
14342 (halt): Add relevant lib/*/halt.c.
14343 (hdparm): Enable on all pci.
14344 (lspci): Likewise.
14345 (usbtest): Enable on all usb.
14346 (ata): Enable on all pci.
14347 (ata_pthru): Likewise.
14348 (usbms): Enable on all usb.
14349 (usb_keyboard): Likewise.
14350 (font): Use tag videomodules.
14351 (bufio): Likewise.
14352 (datetime): Use tag cmos. Enable on all noemu.
14353 (mmap): Use tags common and x86.
14354 (gfxterm): Use tag videomodules.
14355 (bitmap): Likewise.
14356 (bitmap_scale): Likewise.
14357 (video_fb): Likewise.
14358 (video): Likewise.
14359 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14360 adjust padding accordingly. All users updated.
14361 (grub_ohci_transaction): Fix bad format specification.
14362 (GRUB_MOD_INIT): Add asserts for struct size.
14363 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14364 (grub_alloc_td): Likewise.
14365 (grub_free_queue): Likewise.
14366 (grub_uhci_transfer): Likewise.
14367 (grub_uhci_transaction): Fix bad format specification.
14368 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14369 (grub_usb_bulk_readwrite): Likewise.
14370 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14371 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14372 Made static.
14373 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14374 Made static.
14375 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14376 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14377 Transformed into C.
14378 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14379 Moved from here ...
14380 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14381 ... here. Transformed into C. Made static.
14382 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14383 Moved from here ...
14384 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14385 ... here. Transformed into C. Made static.
14386 * grub-core/kern/i386/pc/startup.S
14387 (grub_biosdisk_check_int13_extensions): Moved from here ...
14388 * grub-core/disk/i386/pc/biosdisk.c
14389 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14390 Made static.
14391 * grub-core/kern/i386/pc/startup.S
14392 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14393 * grub-core/disk/i386/pc/biosdisk.c
14394 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14395 Transformed into C. Made static.
14396 * grub-core/kern/i386/pc/startup.S
14397 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14398 * grub-core/disk/i386/pc/biosdisk.c
14399 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14400 Transformed into C. Made static.
14401 * grub-core/kern/i386/pc/startup.S
14402 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14403 * grub-core/disk/i386/pc/biosdisk.c
14404 (grub_biosdisk_get_diskinfo_standard): ... here.
14405 Transformed into C. Made static.
14406 * grub-core/kern/i386/pc/startup.S
14407 (grub_biosdisk_get_num_floppies): Moved from here ...
14408 * grub-core/disk/i386/pc/biosdisk.c
14409 (grub_biosdisk_get_num_floppies): ... here.
14410 Transformed into C. Made static.
14411 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14412 New function.
14413 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14414 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14415 Transformed into C. Made static.
14416 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14417 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14418 Transformed into C. Made static.
14419 * grub-core/kern/i386/ieee1275/init.c: Removed.
14420 * grub-core/kern/i386/misc.S: Likewise.
14421 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14422 Splitted from here ...
14423 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14424 Transformed into C. Made static. All users updated.
14425 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14426 Transformed into C. Made static. All users updated.
14427 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14428 Moved from here...
14429 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14430 Transformed into C. Made static. All users updated.
14431 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14432 Moved from here...
14433 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14434 Transformed into C. Made static. All users updated.
14435 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14436 Removed (replaced by C version).
14437 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14438 Moved from here...
14439 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14440 Transformed into C. Made static.
14441 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14442 Moved from here...
14443 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14444 ... here. Transformed into C.
14445 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14446 Moved from here...
14447 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14448 ... here. Transformed into C.
14449 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14450 Moved from here...
14451 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14452 ... here. Transformed into C. Made static.
14453 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14454 Moved from here...
14455 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14456 ... here. Transformed into C.
21ed554b
VS
14457 * grub-core/kern/i386/pc/startup.S
14458 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14459 * grub-core/video/i386/pc/vbe.c
14460 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14461 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14462 Moved from here...
14463 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14464 ... here. Transformed into C.
14465 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14466 Moved from here...
14467 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14468 ... here. Transformed into C.
14469 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14470 Moved from here...
14471 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14472 ... here. Transformed into C.
14473 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14474 Moved from here...
14475 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14476 ... here. Transformed into C.
14477 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14478 Moved from here...
14479 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14480 ... here. Transformed into C. Made static.
14481 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14482 Moved from here...
14483 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14484 ... here. Transformed into C. Made static.
14485 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14486 Moved from here...
14487 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14488 ... here. Transformed into C. Made static.
14489 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14490 pxe_rm_entry as third argument.
14491 (grub_bios_interrupt): New function.
14492 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14493 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14494 of calling grub_stop.
14495 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14496 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14497 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14498 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14499 * grub-core/lib/i386/halt.c: Moved from here ...
14500 * grub-core/lib/i386/halt.c: ... here.
14501 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14502 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14503 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14504 grub_stop_floppy.
14505 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14506 * include/grub/i386/coreboot/init.h: Removed.
14507 * include/grub/i386/multiboot/init.h: Likewise.
14508 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14509 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14510 * include/grub/i386/pc/int.h: New file.
14511 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14512 (grub_pxe_scan): Removed.
14513 (grub_pxe_call): Update prototype.
14514 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14515 prototypes.
14516 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14517 * include/grub/i386/qemu/init.h: Removed.
14518 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14519 noreturn.
14520 (grub_halt): Likewise.
14521 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14522 (grub_reboot): Likewise.
14523 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14524 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14525 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14526
215dd471
RM
145272010-08-30 Robert Millan <rmh@gnu.org>
14528
14529 * NEWS: Document addition of ZFS support in `grub-install' and
14530 `grub-mkconfig'.
14531
ebd65b82
BC
145322010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14533
14534 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14535 dprintf output.
14536
11721d19
VS
145372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Remove leftover embedding of font objects.
14540
14541 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14542 * util/grub-install.in (font): Removed.
14543 * util/grub-mkimage.c (generate_image): Remove font support. All users
14544 updated.
14545
37837d4e
VS
145462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 Remove leftover embedding of font objects.
14549
14550 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14551 * util/grub-install.in (font): Removed.
14552 * util/grub-mkimage.c (generate_image): Remove font support. All users
14553 updated.
14554
b4c1aae0
VS
145552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14558 Reported by: Ian Turner
b4c1aae0 14559
8920a08d
VS
145602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14563 timeout to avoid indefinite boot stalling.
14564
f21db033
VS
145652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14568 (grub_env_write_color_highlight): Likewise.
14569
9a9de209
VS
145702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/normal/term.c (print_more): Return to normal and not
14573 to standard state after printing "---MORE---".
14574
3dca01d7
VS
145752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14578 Mask out the bit 0x80 since it has other meaning that specifiing color.
14579
0b986c40
VS
145802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 New relocator. Allows for more kernel support and more straightforward
14583 loader writing.
14584
14585 * Makefile.am (BOOTTARGET): New variable.
14586 (QEMU32): Likewise.
14587 (linux.init.x86_64): New target.
14588 (linux.init.i386): Likewise.
14589 (multiboot.elf): Likewise.
14590 (kfreebsd.elf): Likewise.
14591 (kfreebsd.aout): Likewise.
14592 (pc-chainloader.elf): Likewise.
14593 (pc-chainloader.bin): Likewise.
14594 (ntldr.elf): Likewise.
14595 (ntldr.bin): Likewise.
14596 (multiboot2.elf): Likewise.
14597 (kfreebsd.init.x86_64): Likewise.
14598 (kfreebsd.init.i386): Likewise.
14599 (knetbsd.init.i386): Likewise.
14600 (kopenbsd.init.i386): Likewise.
14601 (knetbsd.init.x86_64): Likewise.
14602 (kopenbsd.init.x86_64): Likewise.
14603 (linux-initramfs.i386): Likewise.
14604 (linux-initramfs.x86_64): Likewise.
14605 (kfreebsd-mfsroot.i386.img): Likewise.
14606 (knetbsd.image.i386): Likewise.
14607 (kopenbsd.image.i386): Likewise.
14608 (kopenbsd.image.x86_64): Likewise.
14609 (knetbsd.miniroot-image.i386.img): Likewise.
14610 (kfreebsd-mfsroot.x86_64.img): Likewise.
14611 (knetbsd.image.x86_64): Likewise.
14612 (knetbsd.miniroot-image.x86_64.img): Likewise.
14613 (kfreebsd-mfsroot.i386.gz): Likewise.
14614 (bootcheck-kfreebsd-i386): Likewise.
14615 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14616 (bootcheck-kfreebsd-x86_64): Likewise.
14617 (knetbsd.miniroot-image.i386.gz): Likewise.
14618 (bootcheck-knetbsd-i386): Likewise.
14619 (bootcheck-kopenbsd-i386): Likewise.
14620 (bootcheck-kopenbsd-x86_64): Likewise.
14621 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14622 (bootcheck-knetbsd-x86_64): Likewise.
14623 (bootcheck-linux-i386): Likewise.
14624 (bootcheck-linux-x86_64): Likewise.
14625 (bootcheck-linux16-i386): Likewise.
14626 (bootcheck-linux16-x86_64): Likewise.
14627 (bootcheck-multiboot): Likewise.
14628 (bootcheck-multiboot2): Likewise.
14629 (bootcheck-kfreebsd-aout): Likewise.
14630 (bootcheck-pc-chainloader): Likewise.
14631 (bootcheck-ntldr): Likewise.
14632 (CLEANFILES): Add new targets.
14633 (BOOTCHECKS): New variable.
14634 (.PHONY): Add bootchecks.
14635 (SUCCESSFUL_BOOT_STRING): New variable.
14636 (BOOTCHECK_TIMEOUT): Likewise.
14637 (bootcheck): New target
14638 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14639 * configure.ac: Correct efiemu excuse.
14640 * docs/grub.texi (Supported kernels): New chapter.
14641 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14642 include/grub/mm_private.h. Simplify inclusion of
14643 include/grub/boot.h, include/grub/loader.h
14644 and include/grub/msdos_partition.h
14645 (KERNEL_HEADER_FILES) [i386_coreboot]:
14646 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14647 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14648 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14649 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14650 include/grub/machine/loader.h.
14651 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14652 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14653 extra_dist.
14654 (pci.mod): Enable on i386-multiboot.
14655 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14656 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14657 i386-qemu.
14658 (relocator.mod): Rewritten.
14659 (aout.mod): Enable on all x86.
14660 (bsd.mod): Likewise.
14661 (ntldr.mod): New module.
14662 (linux.mod): Use loader/i386/linux.c on all x86.
14663 (xnu.mod): Enable on all x86.
14664 (vga_text.mod): disable on EFI and QEMU.
14665 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14666 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14667 * grub-core/efiemu/loadcore.c: Likewise.
14668 * grub-core/efiemu/main.c: Likewise.
14669 (grub_efiemu_exit_boot_services): Removed.
14670 (grub_efiemu_finish_boot_services): Likewise.
14671 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14672 function.
14673 * grub-core/efiemu/i386/nocfgtables.c: New file.
14674 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14675 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14676 (grub_efi_finish_boot_services): Moved from here ...
14677 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14678 Fille finish memory map and related data.
14679 (finish_mmap_buf): New variable.
14680 (grub_efi_uintn_t finish_mmap_size): Likewise.
14681 (grub_efi_uintn_t finish_key): Likewise.
14682 (grub_efi_uintn_t finish_desc_size): Likewise.
14683 (grub_efi_uint32_t finish_desc_version): Likewise.
14684 (grub_efi_is_finished): Likewise.
14685 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14686 finished.
14687 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14688 (grub_elf64_phdr_iterate): Likewise.
14689 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14690 (grub_os_area_size): Likewise.
14691 (grub_machine_init): Don't reserve os area.
14692 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14693 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14694 * grub-core/kern/i386/loader.S: Removed.
14695 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14696 (grub_os_area_size): Likewise.
14697 (grub_machine_init): Don't reserve os area.
14698 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14699 Don't call grub_dl_unload_all.
14700 Don't include loader.S.
14701 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14702 Declare the memory after _end as available.
14703 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14704 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14705 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14706 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14707 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14708 * include/grub/mm_private.h (grub_mm_header): ... here.
14709 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14710 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14711 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14712 (grub_mm_region): ..here. Removed addr. Added pre_size.
14713 All users updated.
14714 * grub-core/kern/mm.c (base): Renamed to ...
14715 (grub_mm_base): ... this. Made global.
14716 (grub_real_malloc): Alloc from end of region.
14717 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14718 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14719 * grub-core/kern/powerpc/cache_flush.S: ... here.
14720 * grub-core/lib/efi/relocator.c: New file.
14721 * grub-core/lib/i386/relocator.c: Rewritten.
14722 * grub-core/lib/i386/relocator16.S: New file.
14723 * grub-core/lib/i386/relocator32.S: Likewise.
14724 * grub-core/lib/i386/relocator64.S: Likewise.
14725 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14726 * grub-core/lib/i386/relocator_common.S: New file.
14727 * grub-core/lib/ieee1275/relocator.c: Likewise.
14728 * grub-core/lib/mips/relocator.c: Rewritten.
14729 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14730 stylistic adjustments.
14731 * grub-core/lib/powerpc/relocator.c: New file.
14732 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14733 * grub-core/lib/relocator.c: Rewritten.
14734 * grub-core/lib/x86_64/relocator_asm.S: New file.
14735 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14736 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14737 (bsd_tag): New struct.
14738 (tags): New variable.
14739 (tags_last): Likewise.
14740 (netbsd_module): New struct.
14741 (netbsd_mods): New variable.
14742 (netbsd_mods_last): Likewise.
14743 (openbsd_opts): New parameter "serial".
14744 (OPENBSD_SERIAL_ARG): New definition.
14745 (netbsd_opts): New parameter "serial".
14746 (NETBSD_SERIAL_ARG): New definition.
14747 (grub_freebsd_add_meta): Reorganised into ...
14748 (grub_bsd_add_meta): ...this. All users updated.
14749 (grub_freebsd_add_mmap): Reorganised into ...
14750 (generate_e820_mmap): ...this...
14751 (grub_bsd_add_mmap): ...and this. All users updated.
14752 (grub_freebsd_list_modules): Use tags.
14753 (grub_netbsd_add_meta_module): New function.
14754 (grub_netbsd_list_modules): Likewise.
14755 (grub_freebsd_boot): Use relocator and finish EFI.
14756 (grub_openbsd_boot): Likewise.
14757 (grub_netbsd_setup_video): New function.
14758 (grub_netbsd_add_modules): Likewise.
14759 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14760 and finish EFI.
14761 (grub_bsd_unload): Unload tags.
14762 (grub_bsd_load_aout): Use relocator.
14763 (grub_bsd_elf32_size_hook): New function.
14764 (grub_bsd_elf32_hook): Use relocator.
14765 (grub_bsd_elf64_size_hook): New function.
14766 (grub_bsd_elf64_hook): Use relocator.
14767 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14768 (grub_bsd_load): Zero-out openbsd_ramdisk.
14769 (grub_bsd_load): Use relocator.
14770 (grub_cmd_openbsd): Support serial.
14771 (grub_cmd_netbsd): Support modules.
14772 (grub_cmd_freebsd_module): Use relocator.
14773 (grub_netbsd_module_load): New function.
14774 (grub_cmd_netbsd_module): Likewise.
14775 (grub_cmd_openbsd_ramdisk): Likewise.
14776 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14777 kopenbsd_ramdisk.
14778 (GRUB_MOD_FINI): Unregister new commands.
14779 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14780 (grub_freebsd_load_elfmodule_obj): Use relocator.
14781 (grub_freebsd_load_elfmodule): Likewise.
14782 (grub_freebsd_load_elf_meta): Likewise.
14783 (grub_netbsd_load_elf_meta): New function.
14784 (grub_openbsd_find_ramdisk): Likewise.
14785 * grub-core/loader/i386/bsd_helper.S: Removed.
14786 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14787 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14788 * grub-core/loader/i386/efi/linux.c: Likewise.
14789 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14790 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14791 (DEFAULT_VIDEO_MODE): Likewise.
14792 (real_mode_target): New variable.
14793 (prot_mode_target): Likewise.
14794 (initrd_mem_target): Likewise.
14795 (relocator): Likewise.
14796 (efi_mmap_buf): Likewise.
14797 (efi_mmap_size): Likewise.
14798 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14799 (free_pages): Use relocator.
14800 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14801 (grub_linux_setup_video): Return error.
14802 (grub_linux_trampoline_start): Removed.
14803 (grub_linux_trampoline_end): Likewise.
14804 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14805 andd video parameters depending on firmware.
14806 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14807 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14808 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14809 (grub_cmd_initrd): Use relocator.
14810 * grub-core/loader/i386/linux_trampoline.S: Removed.
14811 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14812 (elf_sec_entsize): Likewise.
14813 (elf_sec_shstrndx): Likewise.
14814 (elf_sections): Likewise.
14815 (grub_multiboot_load): Use relocator.
14816 (grub_multiboot_get_mbi_size): Account for sections.
14817 (grub_multiboot_make_mbi): Use relocator and support sections.
14818 (grub_multiboot_add_elfsyms): New function.
14819 (grub_multiboot_free_mbi): Free sections.
14820 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14821 (grub_linux_real_target): Likewise.
14822 (grub_linux_real_chunk): Likewise.
14823 (grub_linux16_prot_size): Likewise.
14824 (grub_linux16_boot): Use relocator.
14825 (grub_linux_unload): Unload relocator.
14826 (grub_cmd_linux): Use relocator.
14827 (grub_cmd_initrd): Likewise.
14828 * grub-core/loader/i386/pc/ntldr.c: New file.
14829 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14830 Don't try to guess CPU frequency.
14831 (grub_xnu_set_video): Stretch bitmap.
14832 (grub_xnu_boot): Use relocator.
14833 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14834 (grub_linux_unload): Free relocator.
14835 (grub_linux_load32): Use relocator.
14836 (grub_linux_load64): Likewise.
14837 (grub_cmd_initrd): Likewise.
14838 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14839 (grub_multiboot_unload): Unload relocator.
14840 (grub_cmd_multiboot): Use relocator.
14841 (grub_cmd_module): Likewise.
14842 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14843 Use relocator and support sections.
14844 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14845 (elf_sec_entsize): Likewise.
14846 (elf_sec_shstrndx): Likewise.
14847 (elf_sections): Likewise.
14848 (grub_multiboot_load): Use relocator.
14849 (grub_multiboot_get_mbi_size): Account for sections.
14850 (grub_multiboot_make_mbi): Use relocator and support sections.
14851 (grub_multiboot_add_elfsyms): New function.
14852 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14853 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14854 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14855 Prototype changed. All users updated.
14856 (grub_xnu_align_heap): Simplified.
14857 (grub_xnu_writetree_toheap): Likewise.
14858 (grub_xnu_unload): Unload relocator.
14859 (grub_cmd_xnu_kernel): Use relocator.
14860 (grub_cmd_xnu_kernel64): Likewise.
14861 (grub_xnu_register_memory): Simplified.
14862 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14863 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14864 EFI is finished.
14865 (grub_console_checkkey): Likewise.
14866 (grub_console_getkey): Likewise.
14867 (grub_console_getwh): Likewise.
14868 (grub_console_getxy): Likewise.
14869 (grub_console_gotoxy): Likewise.
14870 (grub_console_cls): Likewise.
14871 (grub_console_setcolorstate): Likewise.
14872 (grub_console_setcursor): Likewise.
14873 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14874 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14875 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14876 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14877 * grub-core/tests/boot/kernel-8086.S: Likewise.
14878 * grub-core/tests/boot/kernel-i386.S: Likewise.
14879 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14880 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14881 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14882 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14883 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14884 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14885 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14886 * grub-core/tests/boot/linux.cfg: Likewise.
14887 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14888 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14889 * grub-core/tests/boot/linux16.cfg: Likewise.
14890 * grub-core/tests/boot/multiboot.cfg: Likewise.
14891 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14892 * grub-core/tests/boot/ntldr.cfg: Likewise.
14893 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14894 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14895 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14896 New definition.
14897 * include/grub/dl.h (grub_dl_unload_all): Removed.
14898 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14899 (grub_efi_finish_boot_services): Change prototype.
14900 (grub_efi_is_finished): New variable.
14901 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14902 Changed prototype.
14903 (grub_efiemu_finish_boot_services): Removed.
14904 (grub_machine_efiemu_init_tables): New prototype.
14905 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14906 (grub_elf64_phdr_iterate): Likewise.
14907 * include/grub/i386/bsd.h: Include relocator.h.
14908 (freebsd_tag_header): New struct.
14909 (grub_openbsd_bios_mmap): Removed.
14910 (grub_unix_real_boot): Removed.
14911 (grub_freebsd_load_elfmodule32): Changed prototype.
14912 (grub_freebsd_load_elfmodule_obj64): Likewise.
14913 (grub_freebsd_load_elf_meta32): Likewise.
14914 (grub_freebsd_load_elf_meta64): Likewise.
14915 (grub_freebsd_add_meta): Removed.
14916 (grub_netbsd_load_elf_meta32): New prototype.
14917 (grub_netbsd_load_elf_meta64): Likewise.
14918 (grub_bsd_add_meta): Likewise.
14919 (grub_openbsd_ramdisk_descriptor): New struct.
14920 (grub_openbsd_find_ramdisk32): New prototype.
14921 (grub_openbsd_find_ramdisk64): Likewise.
14922 * include/grub/i386/coreboot/loader.h: Removed.
14923 * include/grub/i386/efi/loader.h: Likewise.
14924 * include/grub/i386/ieee1275/loader.h: Likewise.
14925 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14926 to grub_uint32_t.
14927 * include/grub/i386/loader.h: Removed.
14928 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14929 value.
14930 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14931 (grub_phys_addr_t): New type.
14932 (grub_vtop): New inline function.
14933 (grub_map_memory): Likewise.
14934 (grub_unmap_memory): Likewise.
14935 * include/grub/i386/multiboot/loader.h: Removed.
14936 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14937 (NETBSD_BTINFO_CONSOLE): New definition.
14938 (NETBSD_BTINFO_SYMTAB): Likewise.
14939 (NETBSD_BTINFO_MODULES): Likewise.
14940 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14941 (grub_netbsd_bootinfo): New struct.
14942 (grub_netbsd_btinfo_common): Use explicit bitsize.
14943 (grub_netbsd_btinfo_mmap_entry): Removed.
14944 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14945 (grub_netbsd_btinfo_bootdisk): New struct.
14946 (grub_netbsd_btinfo_symtab): Likewise.
14947 (grub_netbsd_btinfo_serial): Likewise.
14948 (grub_netbsd_btinfo_modules): Likewise.
14949 (grub_netbsd_btinfo_framebuf): Likewise.
14950 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14951 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14952 Likewise.
14953 (grub_openbsd_bootargs): Use explicit bitsize.
14954 (grub_openbsd_bootarg_console): New struct.
14955 (GRUB_OPENBSD_COM_MAJOR): New definition.
14956 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14957 * include/grub/i386/pc/efiemu.h: Removed.
14958 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14959 * include/grub/i386/qemu/loader.h: Removed.
14960 * include/grub/i386/relocator.h: Rewritten.
14961 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14962 * include/grub/mips/memory.h: New file.
14963 * include/grub/mips/multiboot.h: Rewritten.
14964 * include/grub/mips/relocator.h: Rewritten.
14965 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14966 (grub_vtop): New function.
14967 (grub_map_memory): Likewise.
14968 (grub_unmap_memory): Likewise.
14969 * include/grub/misc.h (ALIGN_DOWN): New definition.
14970 * include/grub/mm.h (grub_mm_check_real): New proto.
14971 (GRUB_MM_CHECK): New definition.
14972 * include/grub/mm_private.h: New file.
14973 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14974 (grub_multiboot_get_mbi_size): Removed.
14975 (grub_multiboot_make_mbi): Change prottype.
14976 (grub_multiboot_set_accepts_video): New proto.
14977 (grub_multiboot_add_elfsyms): Likewise.
14978 (grub_multiboot_payload_eip): New variable.
14979 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14980 New prototype.
14981 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14982 New definition.
14983 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14984 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14985 * include/grub/powerpc/ieee1275/loader.h: Removed.
14986 * include/grub/powerpc/memory.h: New file.
14987 * include/grub/powerpc/relocator.h: Likewise.
14988 * include/grub/relocator.h: Likewise.
14989 * include/grub/relocator_private.h: Likewise.
14990 * include/grub/sparc64/ieee1275/loader.h: Removed.
14991 * include/grub/x86_64/memory.h: New file.
14992 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14993 (grub_xnu_heap_malloc): Likewise.
14994 (grub_xnu_heap_real_start): Removed.
14995 (grub_xnu_heap_start): Likewise.
14996 (grub_xnu_relocator): New variable.
14997 (grub_xnu_heap_target_start): Likewise.
14998 * tests/util/grub-shell.in: Support non-pc.
14999 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15000
5303b85d
VS
150012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15004 on malloc error.
15005 (grub_bidi_logical_to_visual): Check that malloc succeded.
15006 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15007 puts.
15008 (grub_xputs_normal): Likewise.
15009
d768d159
VS
150102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15013 extra_dist.
15014
150152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15018
5bf84df4
VS
150192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15022
3626810e
VS
150232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15026 dprintf.
15027
a7363f53
BC
150282010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15029
15030 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15031
902f75f6
VS
150322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * grub-core/normal/term.c (print_more): Fix a memory leak.
15035 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15036 (grub_xputs_normal): Likewise.
15037
3c707967
VS
150382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15041 the begining of the string
15042
2053cc07
VS
150432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15044
15045 * grub-core/script/script.c (grub_script_parse): Free parsed on
15046 failure.
15047
46422ebf
VS
150482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15051 on failure.
15052
9e0fa3f6
VS
150532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15054
15055 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15056 return.
15057
3393cf16
VS
150582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15061 (scroll_up): Fix a memory leak.
15062
b17540cb
VS
150632010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15066 errors.
15067
67140446
VS
150682010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 Handle USB pendrives exposed as floppies.
15071
15072 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15073 floppy.
15074 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15075 Check for partitions on all devices.
15076
e35e46fc
VS
150772010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15080 (readkey): Likewise.
15081
d24c6190
BC
150822010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15083
15084 Multiple variable names support to "export" command.
15085
15086 * normal/context.c (grub_cmd_export): "export" command supports
15087 multiple variable names.
15088
04ddcc6a
ST
150892010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15090
15091 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15092 --target=drive output to Mach device name.
15093
0c8b61d8
BC
150942010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15095
15096 New Automake based build system for GRUB.
15097
15098 * ABOUT-NLS: New file.
15099 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15100 in Makefile.util.def file.
15101 * Makefile.util.def: New file. Autogen build definitions file for
15102 GRUB host utils.
15103 * conf/Makefile.common: New file. Common variables for GRUB host
15104 utils and target modules.
15105 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15106 * docs/Makefile.am: New file. Automake file for docs.
15107 * gentpl.py: New file. Python script to generate Autogen
15108 template.
15109 * grub-core/Makefile.am: New file. GRUB target modules' rules
15110 that doesn't fit in Makefile.core.def file.
15111 * grub-core/Makefile.core.def: New file. Autogen build
15112 definitions file for GRUB target modules.
15113 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15114 specific setjmp.S file.
15115 * po/Makefile.am: New file.
15116
15117 * .bzrignore: New ignores.
15118 * INSTALL: New requirements, without Ruby.
15119 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15120 * autogen.sh: Updated to invoke autogen as necessary.
15121 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15122 and defines for Automake conditionals.
15123 * geninit.sh: Refactoring.
15124
15125 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15126 necessary.
15127 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15128 New prototype.
15129
15130 * include/grub/test.h: Fix functional test modules' naming.
15131 * grub-core/tests/example_functional_test.c: Fix test module name.
15132
15133 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15134 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15135 * util/grub-editenv.c: Likewise.
15136 * util/grub-fstest.c: Likewise.
15137 * util/grub-mkdevicemap.c: Likewise.
15138 * util/grub-mkfont.c: Likewise.
15139 * util/grub-mkimage.c: Likewise.
15140 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15141 * util/grub-probe.c: Likewise.
15142 * util/grub-script-check.c: Likewise.
15143 * util/i386/pc/grub-setup.c: Likewise.
15144 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15145
15146 * tests/util/grub-shell.in: Fix override directory path.
15147 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15148 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15149
15150 * util/lvm.c: Update #includes.
15151 * util/raid.c: Likewise.
15152 * util/resolve.c: Likewise.
15153 * grub-core/bus/emu/pci.c: Likewise.
15154 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15155 * grub-core/lib/posix_wrap/string.h: Likewise.
15156 * grub-core/kern/emu/main.c: Likewise.
15157
15158 * grub-core/gensymlist.sh: New file. Script for generating kernel
15159 symbols file.
15160 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15161
15162 * grub-core/gentrigtables.c: Fix unused variable warnings.
15163
15164 * Makefile.in: Removed.
15165 * conf/any-emu.rmk: Removed.
15166 * conf/common.rmk: Removed.
15167 * conf/i386-coreboot.rmk: Removed.
15168 * conf/i386-efi.rmk: Removed.
15169 * conf/i386-ieee1275.rmk: Removed.
15170 * conf/i386-multiboot.rmk: Removed.
15171 * conf/i386-pc.rmk: Removed.
15172 * conf/i386-qemu.rmk: Removed.
15173 * conf/i386.rmk: Removed.
15174 * conf/mips-yeeloong.rmk: Removed.
15175 * conf/mips.rmk: Removed.
15176 * conf/powerpc-ieee1275.rmk: Removed.
15177 * conf/sparc64-ieee1275.rmk: Removed.
15178 * conf/tests.rmk: Removed.
15179 * conf/x86-efi.rmk: Removed.
15180 * conf/x86_64-efi.rmk: Removed.
15181 * gendistlist.sh: Removed.
15182 * geninitheader.sh: Removed.
15183 * genkernsyms.sh.in: Removed.
15184 * genmk.rb: Removed.
15185 * gensymlist.sh.in: Removed.
15186 * mkinstalldirs: Removed.
15187 * boot: Moved ...
15188 * grub-core/boot: ... to here.
15189 * bus: Moved ...
15190 * grub-core/bus: ... to here.
15191 * commands: Moved ...
15192 * grub-core/commands: ... to here.
15193 * disk: Moved ...
15194 * grub-core/disk: ... to here.
15195 * efiemu: Moved ...
15196 * grub-core/efiemu: ... to here.
15197 * font: Moved ...
15198 * grub-core/font: ... to here.
15199 * fs: Moved ...
15200 * grub-core/fs: ... to here.
15201 * gencmdlist.sh: Moved ...
15202 * grub-core/gencmdlist.sh: ... to here.
15203 * genemuinit.sh: Moved ...
15204 * grub-core/genemuinit.sh: ... to here.
15205 * genemuinitheader.sh: Moved ...
15206 * grub-core/genemuinitheader.sh: ... to here.
15207 * genfslist.sh: Moved ...
15208 * grub-core/genfslist.sh: ... to here.
15209 * genhandlerlist.sh: Moved ...
15210 * grub-core/genhandlerlist.sh: ... to here.
15211 * genmoddep.awk: Moved ...
15212 * grub-core/genmoddep.awk: ... to here.
15213 * genmodsrc.sh: Moved ...
15214 * grub-core/genmodsrc.sh: ... to here.
15215 * genpartmaplist.sh: Moved ...
15216 * grub-core/genpartmaplist.sh: ... to here.
15217 * genparttoollist.sh: Moved ...
15218 * grub-core/genparttoollist.sh: ... to here.
15219 * genterminallist.sh: Moved ...
15220 * grub-core/genterminallist.sh: ... to here.
15221 * gentrigtables.c: Moved ...
15222 * grub-core/gentrigtables.c: ... to here.
15223 * genvideolist.sh: Moved ...
15224 * grub-core/genvideolist.sh: ... to here.
15225 * gettext: Moved ...
15226 * grub-core/gettext: ... to here.
15227 * gfxmenu: Moved ...
15228 * grub-core/gfxmenu: ... to here.
15229 * gnulib: Moved ...
15230 * grub-core/gnulib: ... to here.
15231 * hello: Moved ...
15232 * grub-core/hello: ... to here.
15233 * hook: Moved ...
15234 * grub-core/hook: ... to here.
15235 * io: Moved ...
15236 * grub-core/io: ... to here.
15237 * kern: Moved ...
15238 * grub-core/kern: ... to here.
15239 * lib: Moved ...
15240 * grub-core/lib: ... to here.
15241 * loader: Moved ...
15242 * grub-core/loader: ... to here.
15243 * mmap: Moved ...
15244 * grub-core/mmap: ... to here.
15245 * normal: Moved ...
15246 * grub-core/normal: ... to here.
15247 * partmap: Moved ...
15248 * grub-core/partmap: ... to here.
15249 * parttool: Moved ...
15250 * grub-core/parttool: ... to here.
15251 * script: Moved ...
15252 * grub-core/script: ... to here.
15253 * term: Moved ...
15254 * grub-core/term: ... to here
15255 * tests/example_functional_test.c: Moved ...
15256 * grub-core/tests/example_functional_test.c: ... to here.
15257 * tests/lib/functional_test.c: Moved ...
15258 * grub-core/tests/lib/functional_test.c: ... to here.
15259 * tests/lib/test.c: Moved ...
15260 * grub-core/tests/lib/test.c: ... to here.
15261 * video: Moved ...
15262 * grub-core/video: ... to here.
15263
645586e6
BC
152642010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15265
15266 Replace --enable-grub-emu-modules with grub-emu-lite.
15267
15268 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15269 cache.S.
15270
15271 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15272 * kern/emu/full.c: New file. For grub-emu specific initialization.
15273 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15274 * kern/emu/main.c: Call initialization function grub_emu_init.
15275
15276 * Makefile.in: Include grub-emu-lite in install.
15277 * commands/parttool.c: Use grub_no_autoload to differentiate
15278 between grub-emu and grub-emu-lite.
15279 * include/grub/misc.h: New variable grub_no_autoload.
15280
15281 * conf/any-emu.rmk: New rules for grub-emu-lite.
15282 * configure.ac: Remove --enable-grub-emu-modules.
15283 * genmk.rb: Cleanup unnecessary rules.
15284 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15285
15286 * normal/main.c: Don't load list files on grub-emu-lite.
15287 * util/misc.c (grub_arch_sync_caches): Removed.
15288
f86a4030
CW
152892010-08-23 Colin Watson <cjwatson@ubuntu.com>
15290
15291 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15292 grub-mkimage rather than grub-mkelfimage.
15293 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15294
06776944
VS
152952010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15298 a key after CapsLock or NumLock. It's just a qemu bug.
15299
df262419
VS
153002010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15303 needed by libusb wrapper.
15304
b40ea81b
ST
153052010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15306
15307 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15308
dee50575
VS
153092010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15312 --nounzip is passed.
15313
fb1d7b79
VS
153142010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 USB hotunplugging and USB serial support.
15317
15318 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15319 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15320 (grub_uhci_transfer): Respect timeout and set *actual.
15321 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15322 non-standard length.
15323 (grub_usb_device_attach): Autoload modules.
15324 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15325 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15326 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15327 users updated.
15328 (grub_usb_add_hub): Fill nports and children.
15329 (attach_root_port): Receive hub instead of controller.
15330 All users updated. Fill hub->devices.
15331 (grub_usb_root_hub): Allocate hub->devices.
15332 (detach_device): New function.
15333 (poll_nonroot_hub): Fill children and detach devices.
15334 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15335 actual arguments. All users updated.
15336 (grub_usb_bulk_read_extended): New function.
15337 * bus/usb/serial/common.c: New file.
15338 * bus/usb/serial/ftdi.c: Likewise.
15339 * bus/usb/serial/pl2303.c: Likewise.
15340 * commands/terminal.c (handle_command): Support wildcard.
15341 * commands/usbtest.c: Output "Unknown" instead of empty string.
15342 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15343 (usbserial_common_mod_SOURCES): New variable.
15344 (usbserial_common_mod_CFLAGS): Likewise.
15345 (usbserial_common_mod_LDFLAGS): Likewise.
15346 (pkglib_MODULES): Add usbserial_pl2303.mod.
15347 (usbserial_pl2303_mod_SOURCES): New variable.
15348 (usbserial_pl2303_mod_CFLAGS): Likewise.
15349 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15350 (pkglib_MODULES): Add usbserial_ftdi.mod.
15351 (usbserial_ftdi_mod_SOURCES): New variable.
15352 (usbserial_ftdi_mod_CFLAGS): Likewise.
15353 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15354 (pkglib_MODULES): Add serial.mod.
15355 (serial_mod_SOURCES): New variable.
15356 (serial_mod_CFLAGS): Likewise.
15357 (serial_mod_LDFLAGS): Likewise.
15358 * conf/i386-pc.rmk: Likewise.
15359 * conf/mips-yeeloong.rmk: Likewise.
15360 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15361 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15362 * disk/usbms.c (first_available_slot): New variable.
15363 (grub_usbms_attach): Don't reuse free slots due to potential cache
15364 problems.
15365 * include/grub/serial.h: Moved to ..
15366 * include/grub/ns8250.h: ...this.
15367 * include/grub/serial.h: New file.
15368 * include/grub/term.h (grub_term_poll_usb): New variable.
15369 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15370 readkey. All users updated.
15371 (grub_terminfo_output_state): Pass term to put.
15372 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15373 (grub_usb_controller_dev): Add timeout and actual arguments to
15374 transfer. All users updated.
15375 (grub_usb_interface): New field detach_data.
15376 (grub_usb_device): New fields children and nports.
15377 (grub_usb_ep_type_t): New type.
15378 (grub_usb_get_ep_type): New function.
15379 (grub_usb_bulk_read_extended): Likewise.
15380 * include/grub/usbdesc.h (grub_usb_desc): New type.
15381 * include/grub/usbserial.h: New file.
15382 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15383 * kern/term.c (grub_term_poll_usb): New variable.
15384 (grub_getkey): Call grub_term_poll_usb if set.
15385 (grub_checkkey): Likewise.
15386 (grub_getkeystatus): Likewise.
15387 * term/serial.c: Moved controller-specific parts to ...
15388 * term/ns8250.c: ... here.
15389 * term/serial.c: Mostly rewritten.
15390 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15391 according to spec.
15392
21a313de
RM
153932010-08-20 Robert Millan <rmh@gnu.org>
15394
15395 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15396 a separate module and maybe other interesting combinations.
15397
15398 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15399 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15400 (kfreebsd_entry): Add generic filesystem module load routine.
15401 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15402
63c734a6
CW
154032010-08-20 Colin Watson <cjwatson@ubuntu.com>
15404
15405 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15406 "numcenter" (I misunderstood the purpose of this entry).
15407 * docs/grub.texi (sendkey): Likewise.
15408
c4d16542
CW
154092010-08-20 Colin Watson <cjwatson@ubuntu.com>
15410
15411 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15412 status flag options; simply omitting the option is equivalent and
15413 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15414 (keysym_table): Rename "num5numlock" to "numlock".
15415 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15416 can uniformly say that only the last of multiple `sendkey'
15417 invocations has any effect.
15418 * docs/grub.texi (sendkey): New section.
15419
93541d66
CW
154202010-08-19 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * commands/i386/pc/sendkey.c (options): Fix three typos.
15423
b4ece5e1
VS
154242010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 Implement sendkey support.
15427
15428 * commands/i386/pc/sendkey.c: New file.
15429 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15430 (sendkey_mod_SOURCES): New variable.
15431 (sendkey_mod_CFLAGS): Likewise.
15432 (sendkey_mod_LDFLAGS): Likewise.
15433
51f1f5af
CW
154342010-08-18 Colin Watson <cjwatson@ubuntu.com>
15435
15436 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15437 fix warnings from Autoconf.
15438
9da94e05
CW
154392010-08-18 Colin Watson <cjwatson@ubuntu.com>
15440
15441 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15442 to avoid false positives with some assemblers that output things
15443 like "someprefix_func" as part of their output.
15444
729a0f2e
RM
154452010-08-15 Robert Millan <rmh@gnu.org>
15446
15447 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15448 errors.
15449 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15450 grub_get_libzfs_handle() errors.
15451
f3710e08
RM
154522010-08-14 Robert Millan <rmh@gnu.org>
15453
15454 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15455 filesystem is not ZFS.
15456
7a3c13de
BC
154572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15458
15459 Fix for misspelled color names defaulting to black/black (bug
15460 reported by Doug Nazar)
15461
15462 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15463 status to prototype.
15464 * normal/color.c (grub_parse_color_name_pair): Return failure
15465 status.
15466 (grub_env_write_color_normal): Ignore bad color names.
15467 (grub_env_write_color_highlight): Likewise.
15468 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15469
ab8ba50d
BC
154702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15471
15472 "shift" command support to GRUB script.
15473
15474 * include/grub/script_sh.h (grub_script_shift): New prototype.
15475 * script/execute.c (grub_script_shift): New function.
15476 * script/main.c (grub_script_init): Register shift command.
15477 (grub_script_fini): Unregister shift command.
15478 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15479
15480 * tests/grub_script_shift.in: New testcase.
15481 * conf/tests.rmk: Rules for new testcase.
15482
4d61999e
BC
154832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15484
15485 "continue" command support to GRUB script.
15486
15487 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15488 (grub_script_break): Continue support.
15489 * script/main.c (grub_script_init): Register continue command.
15490 (grub_script_fini): Unregister continue command.
15491
15492 * tests/grub_script_continue.in: New testcase.
15493 * conf/tests.rmk: Rules for new testcase.
15494
4df51e00
BC
154952010-08-12 BVK Chaitanya <bvk@dbook>
15496
15497 "break" command support to GRUB script.
15498
15499 * conf/common.rmk: Rule updates to grub-script-check.
15500 * include/grub/misc.h (grub_min): New function.
15501 * include/grub/script_sh.h (grub_script_init): New prototype.
15502 (grub_script_fini): New prototype.
15503 (grub_script_break): New prototype.
15504 * script/main.c (grub_script_init): New function.
15505 (grub_script_fini): New function.
15506 * script/execute.c (grub_script_break): New function.
15507 * normal/main.c: Calls to grub_script_{init,fini}.
15508 * util/grub-script-check.c (grub_script_break): New function.
15509
15510 * tests/grub_script_break.in: New testcase.
15511 * conf/tests.rmk: Rules for new test case.
15512
f12c8420
BC
155132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15514
15515 Function parameters support to GRUB script.
15516
15517 * script/yylex.l (VARIABLE): Regular expression update.
15518 * script/function.c (grub_script_function_call): Moved ...
15519 * script/execute.c (grub_script_function_call): ... to here.
15520 (grub_script_execute_arglist_to_argv): Removed.
15521 (grub_script_arglist_to_argv): New function.
15522 * script/argv.c: New file.
15523 (grub_script_argv_free): New function.
15524 (grub_script_argv_next): Likewise.
15525 (grub_script_argv_append): Likewise.
15526 (grub_script_argv_split_append): Likewise.
15527 * include/grub/script_sh.h (grub_script_argv): New struct.
15528 (grub_script_argv_free): New function.
15529 (grub_script_argv_next): Likewise.
15530 (grub_script_argv_append): Likewise.
15531 (grub_script_argv_split_append): Likewise.
15532
15533 * conf/common.rmk (normal.mod): New source script/argv.c.
15534
15535 * tests/grub_script_echo1.in: More tests.
15536 * tests/grub_script_vars1.in: Likewise.
15537 * tests/grub_script_functions.in: New test case.
15538 * conf/tests.rmk: Rules for new testcase.
15539
8022b748
BC
155402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15541
15542 Remove grub_script_cmdblock struct.
15543
15544 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15545 * script/parser.y: Likewise.
15546 * script/execute.c: Rename cmdblock suffix to cmdlist.
15547 * script/script.c: Likewise.
15548 * util/grub-script-check.c: Likewise.
15549
79a6ba61
YB
155502010-08-11 Yves Blusseau <blusseau@zetam.org>
15551
15552 * .bzrignore: add grub-macho2img
15553
d04b9414
VS
155542010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15555
15556 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15557
f947ab49
VS
155582010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 Remove the dump of sm712 initialisation sequence.
15561
15562 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15563 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15564 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15565 (GRUB_VGA_CR_*): Added many registers.
15566 (GRUB_VGA_SR_*): Likewise.
15567 (GRUB_VGA_GR_*): Likewise.
15568 (grub_vga_write_arx): New function.
15569 (grub_video_hw_config): New struct.
15570 (grub_vga_set_geometry): New function.
15571 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15572 GRUB_PCI_CLASS_SUBCLASS_VGA.
15573 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15574 * video/sm712.c (grub_sm712_write_reg): New function
15575 (grub_sm712_read_reg): Likewise.
15576 (grub_sm712_sr_write): Likewise.
15577 (grub_sm712_gr_write): Likewise.
15578 (grub_sm712_cr_write): Likewise.
15579 (grub_sm712_write_arx): Likewise.
15580 (grub_sm712_cr_shadow_write): Likewise.
15581 (grub_sm712_write_dda_lookup): Likewise.
15582 (grub_video_sm712_setup): Initialise the video rather then
15583 blindly replay the dump.
15584 (main) [TEST]: Add a routine to be able to compile as standalone for
15585 tests.
15586 * video/sm712_init.c (sm712_init): Removed.
15587 (sm712_sr_seq1): New array.
15588 (sm712_sr_seq2): Likewise.
15589
f0206638
VS
155902010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * include/grub/vga.h: Add missing grub/pci.h include.
15593
2764da3b
YB
155942010-08-10 Yves Blusseau <blusseau@zetam.org>
15595
15596 * util/grub-macho2img.c (main): fix typo
15597
cf0c775e
VS
155982010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15601 (grub_vga_gr_read): Likewise.
15602 (grub_vga_cr_write): Likewise.
15603 (grub_vga_cr_read): Likewise.
15604 (grub_vga_sr_write): Likewise.
15605 (grub_vga_sr_read): Likewise.
15606 (grub_vga_palette_read): Likewise.
15607 (grub_vga_palette_write): Likewise.
15608 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15609 (grub_sm712_sr_read): New function.
15610 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15611 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15612
07f360e9
RM
156132010-08-09 Robert Millan <rmh@gnu.org>
15614
15615 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15616 out unused variables on non-ZFS build.
15617
346c2072
RM
156182010-08-08 Robert Millan <rmh@gnu.org>
15619
15620 Fix path generation for sub-filesystems in ZFS.
15621
15622 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15623 missing slash.
15624
71175420
RM
156252010-08-08 Robert Millan <rmh@gnu.org>
15626
15627 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15628
0d8286f3
RM
156292010-08-08 Robert Millan <rmh@gnu.org>
15630
15631 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15632 exist, issue a proper error message (rely on `ls' for translated
15633 strings).
15634
55dd2924
RM
156352010-08-08 Robert Millan <rmh@gnu.org>
15636
15637 Fix grub-probe invocation.
15638
15639 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15640
d3dd9e80
RM
156412010-08-04 Robert Millan <rmh@gnu.org>
15642
15643 * configure.ac: Remove checks for getfsstat() and getmntany().
15644 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15645 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15646 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15647 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15648 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15649 function.
15650 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15651 via find_mount_point_from_dir() and getfsstat() / getmntany().
15652
0de22aa9
RM
156532010-08-04 Robert Millan <rmh@gnu.org>
15654
15655 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15656 (grub_find_zpool_from_mount_point): Merge into ...
15657 (grub_find_zpool_from_dir): ... this.
15658 * kern/emu/misc.c: Likewise.
15659
15660 * kern/emu/misc.c
15661 (grub_make_system_path_relative_to_its_root): Replace
15662 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15663 with grub_find_zpool_from_dir().
15664 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15665
62858144
RM
156662010-08-04 Robert Millan <rmh@gnu.org>
15667
15668 Support OpenSolaris in ZFS device resolution.
15669
15670 * configure.ac: Check for getmntany().
15671 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15672 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15673 support.
15674
9dd6fd50
RM
156752010-08-03 Robert Millan <rmh@gnu.org>
15676
15677 Fix grub-emu build.
15678
15679 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15680 * include/grub/emu/misc.h: ... here.
15681
15682 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15683 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15684
15685 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15686 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15687 (grub_get_libzfs_handle): Move to ...
15688 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15689 (grub_get_libzfs_handle): ... here.
15690
c9f7ff97
BC
156912010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15692
15693 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15694 as command name case.
15695
a870a783
CW
156962010-08-02 Colin Watson <cjwatson@ubuntu.com>
15697
15698 * disk/raid.c (insert_array): Select unique numbers for named arrays
15699 as well, for use as keys in the disk cache.
15700
c7db243b
RM
157012010-08-01 Robert Millan <rmh@gnu.org>
15702
15703 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15704 kFreeBSD device name, except on ZFS where the filesystem label is
15705 used.
15706 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15707 `/boot/zfs/zpool.cache'.
15708 Set mountfrom kernel variable using ${kfreebsd_device}.
15709
f7abdefb
RM
157102010-08-01 Robert Millan <rmh@gnu.org>
15711
15712 Make it even harder to use uninitialized `libzfs_handle' (and
15713 make the interface a bit simpler).
15714
15715 * include/grub/util/misc.h (grub_util_init_libzfs)
15716 (libzfs_handle): Remove.
15717 (grub_get_libzfs_handle): New prototype.
15718
15719 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15720 attribute.
15721 (grub_util_init_libzfs): Remove.
15722 (grub_get_libzfs_handle): New function.
15723
15724 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15725 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15726 accessing `libzfs_handle' directly.
15727
c882acc0
RM
157282010-08-01 Robert Millan <rmh@gnu.org>
15729
15730 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15731 (grub_find_zpool_from_mount_point): New function prototypes.
15732
15733 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15734 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15735
15736 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15737 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15738 `static' attribute.
15739
15740 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15741 finding zpool from mount point into ...
15742 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15743
15744 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15745 requested path is part of a ZFS pool, use
15746 grub_find_zpool_from_mount_point() to detect its filesystem name,
15747 and generate a path with `/fsname@path' syntax.
15748
8bfe31d8
CW
157492010-08-01 Colin Watson <cjwatson@ubuntu.com>
15750
15751 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15752 (void) rather than () so that this is a proper prototype.
15753
553df63d
VS
157542010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15757
8687cf07
VS
157582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15761 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15762
ea9be8ea
CW
157632010-08-01 Colin Watson <cjwatson@ubuntu.com>
15764
15765 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15766
6eea041a
CW
157672010-08-01 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15770
2cfb45df
CW
157712010-08-01 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15774 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15775 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15776 disable gfxpayload.
15777 (Shell-like scripting): Add real content.
15778 (Serial terminal): Suggest `terminal_input serial; terminal_output
15779 serial' rather than putting the two commands on separate lines,
15780 since console input will be inoperative after the first command.
15781 (menuentry): Document --class, --users, and --hotkey options.
15782 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15783 Vladimir Serbinenko).
15784
7decd202
VS
157852010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
157862010-08-01 Colin Watson <cjwatson@ubuntu.com>
15787
15788 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15789
c882acc0
RM
157902010-08-01 Robert Millan <rmh@gnu.org>
15791
15792 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15793 (grub_find_zpool_from_mount_point): New function prototypes.
15794
15795 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15796 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15797
15798 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15799 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15800 `static' attribute.
15801
15802 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15803 finding zpool from mount point into ...
15804 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15805
15806 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15807 requested path is part of a ZFS pool, use
15808 grub_find_zpool_from_mount_point() to detect its filesystem name,
15809 and generate a path with `/fsname@path' syntax.
15810
deb0caa3
RM
158112010-08-01 Robert Millan <rmh@gnu.org>
15812
15813 Prevent accidental use of uninitialized libzfs_handle.
15814
15815 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15816 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15817 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15818
ce04ef47
CW
158192010-08-01 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15822 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15823
ebf53056
RM
158242010-08-01 Robert Millan <rmh@gnu.org>
15825
15826 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15827
3710bb6b
RM
158282010-07-31 Robert Millan <rmh@gnu.org>
15829
15830 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15831
8072efeb
RM
158322010-07-31 Robert Millan <rmh@gnu.org>
15833
15834 * kern/emu/misc.c: Add missing license header.
15835
3169f4c7
RM
158362010-07-31 Robert Millan <rmh@gnu.org>
15837
15838 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15839
15840 * include/grub/util/libnvpair.h: Include `<config.h>'.
15841 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15842 declaring libnvpair prototypes ourselves.
15843 * include/grub/util/libzfs.h: Include `<config.h>'.
15844 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15845 declaring libzfs prototypes ourselves.
15846
15847 (libzfs_handle): Moved to ...
15848 * include/grub/util/misc.h (libzfs_handle): ... here.
15849 Include `<grub/util/libzfs.h>'.
15850
c9a00aee
RM
158512010-07-30 Robert Millan <rmh@gnu.org>
15852
15853 * include/grub/emu/misc.h: Add missing license header.
15854
a184f9c8
RM
158552010-07-30 Robert Millan <rmh@gnu.org>
15856
15857 Enable `grub-probe -t device' resolution on ZFS.
15858
15859 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15860 * include/grub/util/libnvpair.h: New file.
15861 * include/grub/util/libzfs.h: New file.
15862
15863 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15864 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15865 `<grub/util/libnvpair.h>'.
15866 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15867
15868 (find_mount_point_from_dir): New static function.
15869 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15870 function.
15871 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15872 find_root_device_from_libzfs() before ressorting to find_root_device().
15873
15874 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15875 prototype.
15876 * util/misc.c: Include `<grub/util/libzfs.h>'.
15877 (grub_util_init_libzfs): New function.
15878 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15879 [HAVE_LIBZFS] (fini_libzfs): New static function.
15880 (grub_util_init_libzfs): New function.
15881 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15882
f7790cdd
RM
158832010-07-30 Robert Millan <rmh@gnu.org>
15884
15885 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15886 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15887 `warn_unused_result' attribute.
15888 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15889 (grub_xasprintf, grub_xvasprintf): Likewise.
15890 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15891
0806b63c
RM
158922010-07-29 Robert Millan <rmh@gnu.org>
15893
15894 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15895 (probe): Handle `PRINT_FS_LABEL'.
15896 (main): Handle `-t fs_label'.
15897
9f841f5c
RM
158982010-07-29 Robert Millan <rmh@gnu.org>
15899
15900 * configure.ac: Remove grub-mkisofs checks.
15901
46371121
VS
159022010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15905 Reported by: Lennart Sorensen.
15906
159072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15910 prior to terminal_input/terminal_output separation. It's been over 1.5
15911 years and those versions weren't widely deployed.
15912
a9600892
CW
159132010-07-22 Colin Watson <cjwatson@ubuntu.com>
15914
15915 * disk/raid.c (insert_array): Don't count named arrays when looking
15916 for unused array numbers.
697e053c 15917 Reported and tested by: Michael Guntsche.
a9600892 15918
c03507df
CW
159192010-07-20 Colin Watson <cjwatson@ubuntu.com>
15920
15921 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15922 implementation of this so that grub-emu links again, with a note
15923 that this should support hotplugging in the future.
15924
b26f1c11
CW
159252010-07-20 Colin Watson <cjwatson@ubuntu.com>
15926
15927 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15928
efc9d7f1
CW
159292010-07-20 Colin Watson <cjwatson@ubuntu.com>
15930
15931 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15932 handle on failure.
15933 (grub_loopback_close): Remove empty function.
15934 (grub_loopback_dev): Remove close method.
15935
dd8ff5c9
CW
159362010-07-20 Colin Watson <cjwatson@ubuntu.com>
15937
15938 Disable EFI cursor when the EFI console becomes inactive.
15939
15940 * term/efi/console.c (grub_efi_console_init): New function.
15941 (grub_efi_console_fini): New function.
15942 (grub_console_term_output): Register init and fini methods.
15943
5e3bec67
VS
159442010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15947 sh script.
15948
afaec079
VS
159492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 * disk/loopback.c (grub_loopback): Replace filename with file.
15952 (delete_loopback): Handle new semantics.
15953 (grub_cmd_loopback): Likewise.
15954 (grub_loopback_iterate): Likewise.
15955 (grub_loopback_close): Likewise.
15956
a6a11f3c
VS
159572010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15960 with -p "".
15961 Reported by: Tito Keitel.
15962
64a638b0
VS
159632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15964
15965 * docs/grub.texi (Naming convention): Document new naming convention.
15966
ab8ba957
VS
159672010-07-20 Vadim Solomin <vadic052@gmail.com>
159682010-07-20 Colin Watson <cjwatson@ubuntu.com>
15969
15970 Generate device.map in something closer to the old ordering.
15971
15972 * util/deviceiter.c (struct device): New declaration.
15973 (compare_file_names): Rename to ...
15974 (compare_devices): ... this. Sort by kernel name in preference to
15975 the stable by-id name, but keep the latter as a fallback comparison.
15976 Update header comment.
15977 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15978 of `struct device' rather than of plain file names.
15979
a29d6a4b
TF
159802010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15981
15982 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15983 on i386.
15984
39d824e8
VS
159852010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15988 hardcoding size.
15989 (setv1table): Likewise.
15990
f058276b
FZ
159912010-07-20 Colin Watson <cjwatson@ubuntu.com>
15992
15993 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15994 removing the homehost if present.
15995 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15996 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15997 removing the homehost if present.
15998 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15999 if possible.
16000 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16001
16002 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16003 parameter. Set its pointer target to 0.
16004 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16005 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16006 `data_offset' value from the superblock for 1.x metadata.
16007 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16008 data on the device.
16009 (insert_array): Record the start sector of data on the device.
16010 (grub_raid_register): Pass start_sector parameters to
16011 grub_raid_list->detect and insert_array.
16012 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16013 member.
16014 (struct grub_raid): Add start_sector parameter to `detect'.
16015
16016 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16017 __attribute__ ((packed)), leaving a comment.
16018 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16019 (grub_mdraid_detect_09): ... here and ...
16020 (grub_mdraid_detect_1x): ... here.
16021
160222010-07-20 Peter Henn <peter.henn@web.de>
16023
16024 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16025 chunk size and disk size, which are already given as sector counts
16026 as distinct from the 0.90 units. Fetch the correct device number
16027 from the role table instead of using the table index.
16028
160292010-07-20 Felix Zielcke <fzielcke@z-51.de>
16030
16031 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16032 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16033 (WriteMostly1): New macro.
16034 Set array->name to NULL for metadata format 0.90. Add support for
16035 metadata 1.x. Fix some comments.
16036 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16037 few comments.
16038 * util/getroot.c (grub_util_get_grub_dev): Add support for
16039 /dev/md/name style devices.
16040
4b761da9
CW
160412010-07-20 Colin Watson <cjwatson@ubuntu.com>
16042
16043 * .bzrignore: Ignore 20_linux_xen.
16044
5771289a
CW
160452010-07-17 Colin Watson <cjwatson@ubuntu.com>
16046
16047 * util/import_unicode.py: Remove unnecessary imports.
16048
5dab68df
AN
160492010-07-17 Aleš Nesrsta <starous@volny.cz>
16050
16051 Hotplugging and USB hub support.
16052
16053 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16054 (grub_ohci): Likewise.
16055 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16056 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16057 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16058 (GRUB_OHCI_CTRL_EDS): Likewise.
16059 (GRUB_OHCI_BULK_EDS): Likewise.
16060 (GRUB_OHCI_TDS): Likewise.
16061 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16062 (grub_ohci_ed_phys2virt): New function.
16063 (grub_ohci_virt_to_phys): Likewise.
16064 (grub_ohci_td_phys2virt): Likewise.
16065 (grub_ohci_td_virt2phys): Likewise.
16066 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16067 attachment.
16068 (grub_ohci_find_ed): New function.
16069 (grub_ohci_alloc_td): Likewise.
16070 (grub_ohci_free_td): Likewise.
16071 (grub_ohci_free_tds): Likewise.
16072 (grub_ohci_transfer): Use previously allocated memory.
16073 (grub_ohci_portstatus): Reset status changed bit.
16074 (grub_ohci_detect_dev): Supply status changed.
16075 (grub_ohci_fini_hw): Free memory.
16076 (grub_ohci_restore_hw): Reallocate memory.
16077 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16078 Reset status change.
16079 (grub_uhci_detect_dev): Supply status_change.
16080 * bus/usb/usb.c (attach_hooks): New var.
16081 (grub_usb_device_attach): New function.
16082 (grub_usb_register_attach_hook_class): Likewise.
16083 (grub_usb_unregister_attach_hook_class): Likewise.
16084 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16085 (grub_usb_add_hub): Reset connection changed bit.
16086 (attach_root_port): New function.
16087 (grub_usb_root_hub): Likewise.
16088 (poll_nonroot_hub): Likewise.
16089 (grub_usb_poll_devices): Likewise.
16090 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16091 * disk/usbms.c (grub_usbms_open): Use device hooks.
16092 (grub_usbms_iterate) :Poll devices.
16093 (grub_usbms_finddevs): Split into ...
16094 (grub_usbms_attach): ... this ...
16095 (grub_usbms_attach): ... and this.
16096 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16097 in detect_dev.
16098 (grub_usb_interface): New fields attached and detach_hook.
16099 (grub_usb_attach_hook_class): New type.
16100 (grub_usb_attach_desc): New struct.
16101 (grub_usb_register_attach_hook_class): New function.
16102 (grub_usb_unregister_attach_hook_class): Likewise.
16103 (grub_usb_poll_devices): Likewise.
16104 (grub_usb_device_attach): Likewise.
16105 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16106 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16107
3222efaf
VS
161082010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16111 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16112 delta determination style. Works with most NetBSD partitions too.
16113
139b714a
VS
161142010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16117 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16118
986aad56
VS
161192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16122
99be513c
AB
161232010-07-14 Anton Blanchard <anton@samba.org>
16124
16125 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16126 ET_DYN files.
16127
18075f62
GS
161282010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16129
16130 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16131
8d9a5b15
GS
161322010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16133
16134 * kern/partition.c (grub_partition_check_containment): New function to
16135 check that a partition is physically contained in a parent. Since
16136 offsets are relative (and non-negative), this reduces to checking that
16137 the partition ends before its parent.
16138 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16139 (grub_partition_iterate): Likewise.
16140 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16141 comments.
16142 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16143 partitions that start before their parent, and add debug printfs.
16144
19563c25
CW
161452010-07-13 Colin Watson <cjwatson@ubuntu.com>
16146
16147 * Makefile.in (.SUFFIX): Spell correctly, as ...
16148 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16149 bare module name without `.mod', e.g. `test') tried to invoke a
16150 Modula-2 compiler.
16151
1a1f1e67
CW
161522010-07-13 Colin Watson <cjwatson@ubuntu.com>
16153
16154 * README: Point to the Info manual.
16155
811b0dca
JS
161562010-07-13 Jiro SEKIBA <jir@unicus.jp>
16157
16158 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16159 2nd superblock position from partition size.
16160
e4f4eafc
CW
161612010-07-10 Colin Watson <cjwatson@ubuntu.com>
16162
16163 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16164 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16165 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16166 outputs.
16167
4274c30f
VS
161682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Restructure SCSI .id handling.
16171 Reported and tested by: Aleš Nesrsta.
16172
16173 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16174 (grub_atapi_dev): Changed .name to "ata". New field .id.
16175 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16176 (grub_usbms_dev): New field .id.
16177 * disk/scsi.c (grub_scsi_iterate): Generate name.
16178 (grub_scsi_open): Parse name.
16179 * include/grub/scsi.h (grub_make_scsi_id): New function.
16180 (grub_scsi_dev): Change iterate and open to number instead of naming
16181 busses. All users updated.
16182 (grub_scsi): Remove name. Add .bus.
16183
5bc24388
VS
161842010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * commands/help.c (grub_cmd_help): Fix a typo.
16187
249975ba
VS
161882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16191 Reported and tested by: Colin Watson.
16192
3eaac1a1
VS
161932010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16196 in this context.
16197
becce1b1
VS
161982010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16201
f7bf0918
CW
162022010-07-07 Colin Watson <cjwatson@ubuntu.com>
16203
16204 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16205 indentation.
16206
0b0f9620
CW
162072010-07-06 Colin Watson <cjwatson@ubuntu.com>
16208
16209 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16210 and disk/raid6_recover.c.
16211 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16212 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16213
1e545469
CW
162142010-07-06 Colin Watson <cjwatson@ubuntu.com>
16215
16216 * term/gfxterm.c (repaint_schedulded): Rename to ...
16217 (repaint_scheduled): ... this. Update all callers.
16218 (repaint_was_schedulded): Rename to ...
16219 (repaint_was_scheduled): ... this. Update all callers.
16220
5357687a
CW
162212010-07-06 Colin Watson <cjwatson@ubuntu.com>
16222
16223 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16224 which we expect to be handled by upper layers.
16225
29d7e783
BC
162262010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16227
16228 * bus/usb/usbhub.c: #include time.h header.
16229
37582066
CW
162302010-07-06 Colin Watson <cjwatson@ubuntu.com>
16231
16232 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16233 entry_name also for entries without stat blocks (e.g. ".."); fixes
16234 corruption of the first entry in a directory.
16235
c8c06953
CW
162362010-07-06 Colin Watson <cjwatson@ubuntu.com>
16237
16238 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16239 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16240 doesn't work otherwise.
16241
e75056f1
CW
162422010-07-05 Colin Watson <cjwatson@ubuntu.com>
16243
16244 * docs/grub.texi (Features): Update list of supported file systems.
16245 (GNU/Linux): Update for GRUB 2.
16246 (Serial terminal): Remove mention of --disable-serial, which was a
16247 GRUB Legacy configure option. Update instructions to use
16248 `terminal_input' and `terminal_output' rather than `terminal'.
16249 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16250 configuration' and `Installing GRUB using grub-install'.
16251 (Menu entry editor): Update for GRUB 2.
16252 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16253 Document new -a, -u, and -v options.
16254 (initrd): New section.
16255 (initrd16): New section.
16256 (linux): New section.
16257 (linux16): New section.
16258 (search): The `var' argument to `--set' is optional.
16259 (GRUB only offers a rescue shell): Go into a little more detail on
16260 drive ordering.
16261
5cf69151
CW
162622010-07-05 Colin Watson <cjwatson@ubuntu.com>
16263
16264 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16265
e3f90044
CW
162662010-07-05 Colin Watson <cjwatson@ubuntu.com>
16267
16268 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16269 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16270
38d8f4f3
CW
162712010-07-05 Colin Watson <cjwatson@ubuntu.com>
16272
16273 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16274 install_prefix, in line with install_dos_part and install_bsd_part.
16275 Add new prefix variable, which is copied to install_prefix after
16276 comparing core.img in memory with the one read from disk in the
16277 no-embedding case, and use that rather than overwriting
16278 install_prefix immediately when installing to a partition.
16279 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16280 Bicakci.
16281
57ebd41e
GS
162822010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16283
16284 * configure.ac: Avoid == in test command, it's not portable.
16285 * util/grub.d/30_os-prober.in: Likewise.
16286
cb7f64b2
CW
162872010-07-04 Colin Watson <cjwatson@ubuntu.com>
16288
16289 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16290
6b654bb0
GS
162912010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16292
16293 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16294 multiple (top-level) partmaps.
16295
72a2026d
VS
162962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16297
16298 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16299 Reported by: Tino Keitel.
72a2026d 16300
df3eb88f
VS
163012010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 Bidi and diacritics support.
16304
16305 * Makefile.in (widthspec.bin): New target.
16306 (widthspec.h): Likewise.
16307 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16308 * autogen.sh: Generate unidata.c.
16309 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16310 * commands/ls.c (grub_ls_list_devices): Likewise.
16311 (grub_ls_list_files): Likewise.
16312 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16313 (grub_mini_cmd_lsmod): Likewise.
16314 * commands/read.c: Likewise.
16315 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16316 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16317 * lib/arg.c (grub_arg_show_help): Likewise.
16318 * lib/crypto.c (grub_password_get): Likewise.
16319 * normal/auth.c (grub_username_get): Likewise.
16320 * normal/misc.c (grub_normal_print_device_info): Likewise.
16321 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16322 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16323 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16324 (normal/charset.c_DEPENDENCIES): New variable.
16325 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16326 (pkglib_MODULES): Remove charset.mod.
16327 (charset_mod_SOURCES): Removed.
16328 (charset_mod_CFLAGS): Likewise.
16329 (charset_mod_LDFLAGS): Likewise.
16330 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16331 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16332 and term/tparm.c.
16333 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16334 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16335 (kernel_img_HEADERS): Add terminfo.h.
16336 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16337 Fill ->font. Reverse ascii bitmaps.
16338 (grub_font_get_xheight): New function.
16339 * font/font.c (grub_font_get_string_width): Moved from here ...
16340 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16341 * font/font.c (grub_font_draw_string): Moved from here ...
16342 * gfxmenu/font.c (grub_font_draw_string): ... here.
16343 * font/font.c (grub_font_dup_glyph): New function.
16344 (grub_font_blit_glyph): Likewise.
16345 (grub_font_blit_glyph_mirror): Likewise.
16346 (blit_comb): Likewise.
16347 (grub_font_construct_dry_run): Likewise.
16348 (grub_font_get_constructed_device_width): Likewise.
16349 (grub_font_construct_glyph): Likewise.
16350 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16351 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16352 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16353 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16354 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16355 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16356 (grub_font_get_xheight): New proto.
16357 (grub_font_get_constructed_device_width): Likewise.
16358 (grub_font_construct_glyph): Likewise.
16359 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16360 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16361 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16362 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16363 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16364 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16365 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16366 (grub_console_getcharwidth): Likewise.
16367 * include/grub/misc.h (grub_xputs): New proto.
16368 (grub_puts): Inlined.
16369 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16370 (grub_normal_get_line_counter): Removed.
16371 (grub_install_newline_hook): Likewise.
16372 (grub_normal_get_char_counter): New proto.
16373 (grub_normal_reset_more): Likewise.
16374 (grub_xputs_normal): Likewise.
16375 * include/grub/powerpc/ieee1275/console.h: Removed.
16376 * include/grub/sparc64/ieee1275/console.h: Likewise.
16377 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16378 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16379 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16380 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16381 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16382 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16383 (grub_term_input): Pass reference to self. All users updated.
16384 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16385 Pass reference to self. New fields normal_color, highlight_color and
16386 data. All users updated.
16387 (grub_putchar): Removed.
16388 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16389 (grub_unicode_estimate_width): New function.
16390 (grub_term_getcharwidth): Add defaults.
16391 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16392 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16393 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16394 (grub_cls): Remove EXPORT_FUNC.
16395 (grub_setcolorstate): Inline.
16396 (grub_newline_hook): Removed.
16397 * include/grub/terminfo.h: Rewritten. All users updated.
16398 * include/grub/unicode.h: New file.
16399 * include/grub/video.h (grub_video_signed_rect): New type.
16400 * kern/emu/console.c (grub_console_highlight_color): Removed.
16401 (grub_console_normal_color): Likewise.
16402 (grub_console_standard_color): Made static.
16403 (grub_ncurses_putchar): Remove mapping.
16404 (grub_ncurses_getcharwidth): Removed.
16405 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16406 (grub_ncurses_setcolor): Removed.
16407 (grub_ncurses_getcolor): Likewise.
16408 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16409 (grub_console_putchar): ... this.
16410 (grub_console_putchar): Handle argument difference.
16411 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16412 console_init_early and console_init_lately.
16413 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16414 * kern/misc.c (grub_puts): Removed.
16415 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16416 (grub_vsnprintf_real): Remove str = NULL support.
16417 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16418 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16419 * kern/term.c (grub_putcode): Renamed to ...
16420 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16421 (grub_putchar): Removed.
16422 (grub_xputs_dumb): New function.
16423 (grub_xputs): New variable.
16424 * lib/charset.c: Move from here ...
16425 * normal/charset.c: ... to here.
16426 (grub_ucs4_to_utf8): New function.
16427 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16428 (join_types): New variable.
16429 (unpack_join): New function.
16430 (bidi_types): New variable.
16431 (unpack_bidi): New function.
16432 (get_bidi_type): Likewise.
16433 (get_join_type): Likewise.
16434 (is_mirrored): Likewise.
16435 (grub_unicode_get_comb_type): Likewise.
16436 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16437 (is_type_after): Likewise.
16438 (grub_unicode_aglomerate_comb): Likewise.
16439 (bidi_line_wrap): Likewise.
16440 (grub_bidi_line_logical_to_visual): Likewise.
16441 (grub_bidi_logical_to_visual): Likewise.
16442 (grub_unicode_mirror_code): Likewise.
16443 (grub_unicode_shape_code): Likewise.
16444 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16445 Don't use grub_putchar.
16446 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16447 (grub_normal_reader_init): Likewise.
16448 (grub_xputs_saved): New variable.
16449 (GRUB_MOD_INIT): Set grub_xputs.
16450 (GRUB_MOD_FINI): Restore grub_xputs.
16451 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16452 (menu_init): Avoid printing gfxmenu error.
16453 (show_menu): Use grub_normal_get_char_counter.
16454 * normal/menu_entry.c (update_screen): Fix out-of-array.
16455 (complete): Avoid NULL dereferencing.
16456 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16457 * normal/menu_text.c (print_spaces): Removed.
16458 (grub_print_ucs4): Likewise.
16459 (grub_print_message_indented): Use grub_print_ucs4.
16460 (print_message): Use grub_putcode.
16461 (print_entry): Hanlde diacritics.
16462 * normal/term.c (term_state): New type.
16463 (grub_more_lines): Removed.
16464 (term_states): New variable.
16465 (grub_normal_line_counter): Renamed to ..
16466 (grub_normal_char_counter): ...this. All users updated.
16467 (grub_normal_get_line_counter): Renamed to ...
16468 (grub_normal_get_char_counter): ... this.
16469 (grub_normal_reset_more): New function.
16470 (process_newline): Removed.
16471 (print_more): New function.
16472 (grub_install_newline_hook): Removed.
16473 (map_code): New function.
16474 (grub_puts_terminal): Use grub_print_ucs4.
16475 (putglyph): New function.
16476 (putcode_real): Likewise.
16477 (grub_putcode): Use putcode_real.
16478 (get_maxwidth): New function.
16479 (get_startwidth): Likewise.
16480 (print_ucs4_terminal): Likewise.
16481 (find_term_state): Likewise.
16482 (put_glyphs_terminal): Likewise.
16483 (print_backlog): Likewise.
16484 (print_ucs4_real): Likewise.
16485 (grub_print_ucs4): Likewise.
16486 (grub_xputs_normal): Likewise.
16487 * term/efi/console.c (grub_console_putchar): Output diacritics.
16488 (grub_console_getcharwidth): Removed.
16489 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16490 * term/gfxterm.c (clear_char): Free chars.
16491 (scroll_up): Avoid leaking memory.
16492 (grub_gfxterm_putchar): Support diacritics.
16493 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16494 * term/i386/pc/console.c (grub_console_term_output): Declare as
16495 GRUB_TERM_CODE_TYPE_VGA.
16496 * term/i386/pc/vga.c (grub_vga_term): Declare as
16497 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16498 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16499 GRUB_TERM_CODE_TYPE_VGA.
16500 * term/i386/vga_common.c (map_char): Removed.
16501 (grub_console_putchar): Likewise.
16502 (grub_console_getcharwidth): Likewise.
16503 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16504 (colors): Reordered to match terminfo.
16505 (grub_ofconsole_normal_color): Removed.
16506 (grub_ofconsole_writeesc): Likewise.
16507 (grub_ofconsole_highlight_color): Likewise.
16508 (grub_ofconsole_getcharwidth): Likewise.
16509 (grub_ofconsole_setcolorstate): Likewise.
16510 (grub_ofconsole_setcolor): Likewise.
16511 (grub_ofconsole_getcolor): Likewise.
16512 (grub_ofconsole_readkey): Renamed to ...
16513 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16514 key.
16515 (grub_ofconsole_checkkey): Removed.
16516 (grub_ofconsole_getkey): Likewise.
16517 (grub_ofconsole_getxy): Likewise.
16518 (grub_ofconsole_gotoxy): Likewise.
16519 (grub_ofconsole_cls): Likewise.
16520 (grub_ofconsole_refresh): Likewise.
16521 (grub_ofconsole_terminfo_input): New struct.
16522 (grub_ofconsole_terminfo_output): Likewise.
16523 (grub_ofconsole_term_input): Use terminfo.
16524 (grub_ofconsole_term_output): Likewise.
16525 (grub_console_init): Split into ...
16526 (grub_console_init_early): ...this and ...
16527 (grub_console_init_lately): ...this. Use terminfo.
16528 (grub_ofconsole_putchar): Renamed to ...
16529 (put): ... this. Remove mapping.
16530 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16531 * term/serial.c: Simplify using terminfo.
16532 (xpos): Removed.
16533 (ypos): Likewise.
16534 (keep_track): Likewise.
16535 (registered): Likewise.
16536 (input_buf): Likewise.
16537 (npending): Likewise.
16538 (serial_translate_key_sequence): Likewise.
16539 (fill_input_buf): Likewise.
16540 (grub_serial_checkkey): Likewise.
16541 (grub_serial_getkey): Likewise.
16542 (grub_serial_getxy): Likewise.
16543 (grub_serial_gotoxy): Likewise.
16544 (grub_serial_putchar): Likewise.
16545 (grub_serial_cls): Likewise.
16546 (grub_serial_setcolorstate): Likewise.
16547 (grub_serial_setcursor): Likewise.
16548 (serial_hw_init): Use serial_hw_fetch.
16549 (grub_serial_terminfo_input): New variable.
16550 (grub_serial_terminfo_output): Likewise.
16551 (grub_serial_term_input): Use terminfo.
16552 (grub_serial_term_output): Likewise.
16553 * term/terminfo.c (putstr): Use put.
16554 (grub_terminfo_all_free): New function
16555 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16556 (grub_terminfo_output_register): New function.
16557 (grub_terminfo_output_unregister): Likewise.
16558 (grub_terminfo_getxy): Likewise.
16559 (grub_terminfo_readkey): Likewise.
16560 (grub_terminfo_checkkey): Likewise.
16561 (grub_terminfo_getkey): Likewise.
16562 (grub_terminfo_input_init): Likewise.
16563 (print_terminfo): Likewise.
16564 (grub_cmd_terminfo): Handle encoding.
16565 (grub_terminfo_gotoxy): Track position.
16566 (grub_terminfo_cls): Likewise.
16567 (grub_terminfo_putchar): Likewise.
16568 (grub_terminfo_setcolorstate): Handle colors
16569 (grub_terminfo_cursor_on): This ...
16570 (grub_terminfo_cursor_off): ... and this merged into ...
16571 (grub_terminfo_setcursor): ... this.
16572 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16573 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16574 * unicode/BidiMirroring.txt: Likewise.
16575 * unicode/UnicodeData.txt: Likewise.
16576 * unicode/COPYING: Likewise.
16577 * util/grub-editenv.c (grub_putchar): Removed.
16578 (grub_xputs_real): New function.
16579 (grub_xputs): New variable.
16580 * util/grub-fstest.c (grub_putchar): Removed.
16581 (grub_xputs_real): New function.
16582 (grub_xputs): New variable.
16583 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16584 (grub_xputs_real): New function.
16585 (grub_xputs): New variable.
16586 * util/grub-probe.c (grub_putchar): Removed.
16587 (grub_xputs_real): New function.
16588 (grub_xputs): New variable.
16589 * util/grub-script-check.c (grub_putchar): Removed.
16590 (grub_xputs_real): New function.
16591 (grub_xputs): New variable.
16592 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16593 (grub_xputs_real): New function.
16594 (grub_xputs): New variable.
16595 * util/import_unicode.py: New file.
16596 * util/grub-mkfont.c (ft_errmsgs): New array.
16597 (grub_glyph_info): Make bitmap a pointer.
16598 (file_formats): New type WIDTH_SPEC.
16599 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16600 (options): Add width-spec.
16601 (help): Likewise.
16602 (add_char): Renamed to ...
16603 (add_glyph): ... this.
16604 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16605 (glyph_replace): New type.
16606 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16607 (add_char): New function.
16608 (add_subst): Likewise.
16609 (process_cursive): Likewise.
16610 (add_font): Handle GSUB.
16611 (write_font_width_spec): New function.
16612 (main): Sort glyphs.
16613 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16614 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16615 * kern/term.c (grub_cls): Moved from here...
16616 * normal/term.c (grub_cls): ... here.
16617
50f0bcda
CW
166182010-07-02 Colin Watson <cjwatson@ubuntu.com>
16619
16620 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16621 suitable for using within the format argument of printf when
16622 converting grub_size_t.
16623 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16624 "x" to convert grub_size_t arguments.
16625
40372103
VS
166262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16629 too long captions.
16630 (list_get_minimal_size): Take selection box into account.
16631
942a10c7
VS
166322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16635 NULL font.
16636
2bdb2892
CW
166372010-07-02 Colin Watson <cjwatson@ubuntu.com>
16638
16639 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16640 devices when iterating over /dev/disk/by-id; they will be handled
16641 later if appropriate, which they aren't always (e.g. LVM).
16642
e03ed6c1
CW
166432010-07-02 Colin Watson <cjwatson@ubuntu.com>
16644
16645 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16646 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16647 fails.
16648 (grub_halt): Likewise.
16649 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16650 reset-all fails.
16651 (grub_halt): Don't return, even if all of shut-down, power-off, and
16652 poweroff fail.
16653
47695765
CW
166542010-07-02 Colin Watson <cjwatson@ubuntu.com>
16655
16656 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16657 arguments, not three.
16658
507736c8
CW
166592010-07-02 Colin Watson <cjwatson@ubuntu.com>
16660
16661 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16662 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16663 LVM-on-RAID is handled correctly.
16664
e3c8cd37
CW
166652010-07-02 Colin Watson <cjwatson@ubuntu.com>
16666
16667 * docs/grub.texi (Changes from GRUB Legacy): New section.
16668 (Future): Fix typo.
16669
8d4a2fec
CW
166702010-07-02 Colin Watson <cjwatson@ubuntu.com>
16671
16672 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16673 grub.d/README accidentally ends up executable for one reason or
16674 another. Ignore it.
16675
1c4827be
VS
166762010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16679 (gpt_partition_map_iterate): Support non-512B sectors.
16680
d9a0c941
VS
166812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16684 Tested by: Seth Goldberg.
16685
48f27e87
VS
166862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16689 Properly align mbi.
16690 Reported by: Seth Goldberg.
16691
b0c4f956
VS
166922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * util/grub-mkrescue.in: Avoid module duplication.
16695
105a2e8c
SF
166962010-07-01 Sean Finney <seanius@seanius.net>
16697
16698 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16699
5944958c
SF
167002010-07-01 Sean Finney <seanius@seanius.net>
16701
16702 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16703
167042010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * disk/lvm.c (grub_lvm_checkvalue): New function.
16707 (grub_lvm_check_flag): Likewise.
16708
b79889ba
RM
167092010-07-01 Robert Millan <rmh@gnu.org>
16710
16711 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16712 Support 'p' as partition separator on kernel of FreeBSD (used
16713 with GPT labels).
16714 (grub_util_biosdisk_get_grub_dev): Likewise.
16715
ec1d04f1
VS
167162010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 Yeeloong firmware port.
16719
16720 * boot/mips/yeeloong/fwstart.S: New file.
16721 * bus/cs5536.c (gpiodump): New const.
16722 (set_io_space): New function.
16723 (set_iod): Likewise.
16724 (set_p2d): Likewise.
16725 (grub_cs5536_init_geode): Likewise.
16726 * commands/mips/yeeloong/lsspd.c: New file.
16727 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16728 (serial_mod_SOURCES): New variable.
16729 (serial_mod_CFLAGS): Likewise.
16730 (serial_mod_LDFLAGS): Likewise.
16731 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16732 term/terminfo.c and term/tparm.c.
16733 (pkglib_IMAGES): Add fwstart.img.
16734 (fwstart_img_SOURCES): New variable.
16735 (fwstart_img_CFLAGS): Likewise.
16736 (fwstart_img_ASFLAGS): Likewise.
16737 (fwstart_img_LDFLAGS): Likewise.
16738 (fwstart_img_FORMAT): Likewise.
16739 (pkglib_MODULES): Add lsspd.mod.
16740 (lsspd_mod_SOURCES): New variable.
16741 (lsspd_mod_CFLAGS): Likewise.
16742 (lsspd_mod_LDFLAGS): Likewise.
16743 (pkglib_MODULES): Add halt.mod.
16744 (halt_mod_SOURCES): New variable.
16745 (halt_mod_CFLAGS): Likewise.
16746 (halt_mod_LDFLAGS): Likewise.
16747 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16748 (serial_mod_SOURCES): Removed.
16749 (serial_mod_CFLAGS): Likewise.
16750 (serial_mod_LDFLAGS): Likewise.
16751 * disk/ata.c (check_device): New function.
16752 (grub_ata_device_initialize): Use check_device.
16753 (grub_ata_iterate): Recheck devices.
16754 (grub_ata_open): Likewise.
16755 (grub_atapi_iterate): Likewise.
16756 (grub_atapi_open): Likewise.
16757 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16758 (GRUB_ATA_CH1_PORT1): Likewise.
16759 (GRUB_ATA_CH0_PORT2): Likewise.
16760 (GRUB_ATA_CH1_PORT2): Likewise.
16761 * include/grub/mips/loongson.h: New file.
16762 * include/grub/mips/yeeloong/ec.h: Likewise.
16763 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16764 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16765 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16766 * include/grub/misc.h (grub_halt): Declare as noreturn.
16767 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16768 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16769 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16770 (UART_ENABLE_DTRRTS): Likewise.
16771 (UART_ENABLE_MODEM): Removed.
16772 (UART_ENABLE_OUT2): New const.
16773 * include/grub/term.h (grub_term_register_input_active): New function.
16774 (grub_term_register_output_active): Likewise.
16775 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16776 argument.
16777 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16778 (init_pci): New function.
16779 (grub_machine_init): Execute platform init when firmware. Init serial.
16780 (grub_halt): Implement.
16781 (grub_exit): Likewise.
16782 (grub_reboot): Likewise.
16783 * term/serial.c (serial_hw_init): Update macros.
16784 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16785 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16786 (image_targets): New target mipsel-yeeloong-flash.
16787 (generate_image): Support IMAGE_YEELOONG_FLASH.
16788 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16789 (grub_video_sm712_setup): Init card.
16790 (grub_video_sm712_set_palette): Removed.
16791 * video/sm712_init.c: New file.
16792
ff4a70d2
CW
167932010-06-30 Colin Watson <cjwatson@ubuntu.com>
16794
16795 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16796 PATH when running help2man and then run it on the unadorned
16797 executable names, rather than passing $(builddir)/* paths to
16798 help2man. This avoids the build directory ending up in generated
16799 manual pages.
16800
1246efeb
CW
168012010-06-29 Colin Watson <cjwatson@ubuntu.com>
16802
16803 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16804 to avoid accidents when debugging with 'sh -x'.
16805 * util/grub-mkrescue.in: Likewise.
16806 * util/grub.d/00_header.in: Likewise.
16807 * util/grub.d/10_hurd.in: Likewise.
16808 * util/grub.d/10_kfreebsd.in: Likewise.
16809 * util/grub.d/10_linux.in: Likewise.
16810 * util/grub.d/10_netbsd.in: Likewise.
16811 * util/grub.d/10_windows.in: Likewise.
16812 * util/grub.d/20_linux_xen.in: Likewise.
16813 * util/grub.d/30_os-prober.in: Likewise.
16814 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16815
1ba9b889
CW
168162010-06-29 Colin Watson <cjwatson@ubuntu.com>
16817
16818 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16819 last character in the buffer.
16820 Reported by: Vladimir Serbinenko.
16821
dccaf99d
RM
168222010-06-29 Robert Millan <rmh@gnu.org>
16823
16824 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16825 (Command-line and menu entry commands): Document `badram' command.
16826
d500ed12
RM
168272010-06-28 Robert Millan <rmh@gnu.org>
16828
16829 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16830 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16831 command using ${GRUB_BADRAM} as parameter.
16832
20bc84a6
CW
168332010-06-28 Colin Watson <cjwatson@ubuntu.com>
16834
16835 * docs/grub.texi (Device map): New section.
16836 (Themes): New section (stub).
16837 * Makefile.in (docs/grub.info): The info documentation now builds
16838 without errors. Make sure it stays that way.
16839
4045dee1
VS
168402010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 Use normal parser for menu entries.
16843 Reported by: Thomas Frauendorfer
16844
16845 * include/grub/parser.h (grub_parser_execute): Don't export.
16846 * normal/menu.c (grub_menu_execute_entry_real): New function.
16847 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16848
bca58c7b
CW
168492010-06-28 Colin Watson <cjwatson@ubuntu.com>
16850
16851 * docs/grub.texi (Embedded configuration): New section (replacing
16852 old "Preset Menu" stub).
16853 (Images): New section.
16854 (configfile): Note that any menu entries defined in `file' are shown
16855 immediately.
16856
dec53e63
JT
168572010-06-28 Josh Triplett <josh@joshtriplett.org>
16858
16859 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16860
c06e40f7
CW
168612010-06-28 Colin Watson <cjwatson@ubuntu.com>
16862
16863 * util/grub-install.in: Add --debug-image= option.
16864
cb88052b
CW
168652010-06-28 Colin Watson <cjwatson@ubuntu.com>
16866
16867 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16868 possible on Linux.
16869
16870 * util/deviceiter.c (check_device): Rename to ...
16871 (check_device_readable_unique): ... this. Update all callers.
16872 Maintain and check a list of which devices (by canonicalized name)
16873 have already been seen.
16874 (clear_seen_devices): New function.
16875 (compare_file_names) [__linux__]: New function.
16876 (grub_util_iterate_devices): Clear the list of seen devices on exit
16877 and (just in case) on entry.
16878 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16879 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16880 seen-devices list, superseded by general code in check_device.
16881
bbe34652
CW
168822010-06-28 Colin Watson <cjwatson@ubuntu.com>
16883
16884 * commands/cat.c (options): New variable.
16885 (grub_cmd_cat): Parse options. If the --dos option is given, print
16886 DOS-style "\r\n" line endings as simple newlines (Debian bug
16887 #586358).
16888 (GRUB_MOD_INIT): Use extcmd.
16889 (GRUB_MOD_FINI): Likewise.
16890 * docs/grub.texi (cat): Document --dos.
16891
412e09f3
VS
168922010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 XEN with Linux grub-mkconfig support.
16895
16896 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16897 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16898 GRUB_CMDLINE_XEN_DEFAULT.
16899 * util/grub.d/20_linux_xen.in: New file.
16900
53f3ef38 169012010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16902
16903 Initialise VGA video on qemu ourselves.
16904
16905 * boot/i386/qemu/boot.S: Don't call 0xc000.
16906 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16907 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16908 (kernel_img_HEADERS): Add pci.h.
16909 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16910 * configure.ac: Force unifont on qemu and yeeloong.
16911 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16912 (grub_vga_palette_write): Use correct register.
16913 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16914 Call grub_qemu_init_cirrus.
16915 * kern/i386/qemu/init.c: New file.
16916 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16917
16918 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16919
c75be4fb
PR
169202010-06-26 Pavel Roskin <proski@gnu.org>
16921
16922 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16923 13.
16924
d8034603
CW
169252010-06-26 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * docs/grub.texi (Simple configuration): Explain that
16928 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16929 set to `true' to disable their respective recovery entries, not
16930 merely set.
16931
3fa06487
CW
169322010-06-26 Colin Watson <cjwatson@ubuntu.com>
16933
16934 Make the `source' command slightly faster.
16935
16936 * normal/main.c (grub_normal_execute): Don't re-read list files when
16937 nested.
16938
e9b29642
CW
169392010-06-23 Colin Watson <cjwatson@ubuntu.com>
16940
16941 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16942 field position and mask size to red fields from mode_info, not
16943 green.
16944 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16945 Remove redundant tag->common.framebuffer_type assignment.
16946 Reported by: Seth Goldberg.
16947
e726542f
CW
169482010-06-23 Colin Watson <cjwatson@ubuntu.com>
16949
16950 Sync up other versions of the Linux loader with Robert Millan's
16951 change of 2010-01-09, "Make loader output a bit more user-friendly".
16952
16953 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16954 grub_dprintf().
16955 (grub_cmd_linux): Likewise.
16956 (grub_cmd_initrd): Likewise.
16957 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16958 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16959
d6e98a17
CW
169602010-06-21 Colin Watson <cjwatson@ubuntu.com>
16961
16962 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16963 larger than MEMORY_MAP_SIZE.
16964
14d3f08e
BC
169652010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16966
16967 Fix parallel build.
16968
16969 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16970 dependency.
16971 * script/parser.y: #include grub_script.tab.h header.
16972
4f9613a3
VS
169732010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16974
16975 Support >3GiB and <16MiB RAM in i386-qemu.
16976
16977 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16978 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16979 (grub_lower_mem): Removed.
16980 (grub_upper_mem): Likewise.
16981 (mem_size): Made static.
16982 (above_4g): New variable.
16983 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16984 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16985 support.
16986
05e51879
VS
169872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 Cirrus 5446 and Bochs video cards support.
16990
16991 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16992 video_bochs.mod
16993 (video_cirrus_mod_SOURCES): New variable.
16994 (video_cirrus_mod_CFLAGS): Likewise.
16995 (video_cirrus_mod_LDFLAGS): Likewise.
16996 (video_bochs_mod_SOURCES): Likewise.
16997 (video_bochs_mod_CFLAGS): Likewise.
16998 (video_bochs_mod_LDFLAGS): Likewise.
16999 * include/grub/vga.h: New file.
17000 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17001 (grub_video_fb_set_page_t): New type.
17002 (grub_video_fb_setup): New prototype.
17003 (grub_video_fb_swap_buffers): Likewise.
17004 (grub_video_fb_get_info_and_fini): Likewise.
17005 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17006 (CRTC_DATA_PORT): Likewise.
17007 (CRTC_CURSOR): Likewise.
17008 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17009 (CRTC_CURSOR_ADDR_LOW): Likewise.
17010 (CRTC_CURSOR_DISABLE): Likewise.
17011 (update_cursor): Use grub_vga_cr_write.
17012 (grub_vga_text_setcursor): Likewise.
17013 * video/bochs.c: New file.
17014 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17015 (palette): Likewise.
17016 (palette_size): Likewise.
17017 (framebuffer): New variable.
17018 (grub_video_fb_init): Use 'framebuffer'.
17019 (grub_video_fb_fini): Likewise.
17020 (grub_video_fb_get_info): Likewise.
17021 (grub_video_fb_get_palette): Likewise.
17022 (grub_video_fb_set_palette): Likewise.
17023 (grub_video_fb_set_viewport): Likewise.
17024 (grub_video_fb_get_viewport): Likewise.
17025 (grub_video_fb_map_color): Likewise.
17026 (grub_video_fb_map_rgb): Likewise.
17027 (grub_video_fb_map_rgba): Likewise.
17028 (grub_video_fb_unmap_color): Likewise.
17029 (grub_video_fb_unmap_color_int): Likewise.
17030 (grub_video_fb_fill_rect): Likewise.
17031 (grub_video_fb_blit_bitmap): Likewise.
17032 (grub_video_fb_blit_render_target): Likewise.
17033 (grub_video_fb_scroll): Likewise.
17034 (grub_video_fb_create_render_target): Likewise.
17035 (grub_video_fb_doublebuf_blit_init): Likewise.
17036 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17037 (doublebuf_pageflipping_update_screen): New function.
17038 (doublebuf_pageflipping_init): Likewise.
17039 (grub_video_fb_setup): Likewise.
17040 (grub_video_fb_swap_buffers): Likewise.
17041 (grub_video_fb_get_info_and_fini): Likewise.
17042 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17043 All users updated.
17044 (doublebuf_pageflipping_commit): Restructured into ...
17045 (doublebuf_pageflipping_set_page): ... this.
17046 (doublebuf_pageflipping_update_screen): Removed.
17047 (doublebuf_pageflipping_init): Likewise.
17048 (double_buffering_init): Likewise.
17049 (grub_video_vbe_setup): Use grub_video_fb_setup.
17050 (grub_video_vbe_swap_buffers): Removed.
17051 (grub_video_vbe_set_active_render_target): Likewise.
17052 (grub_video_vbe_get_active_render_target): Likewise.
17053 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17054 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17055 grub_video_fb_set_active_render_target and
17056 grub_video_fb_get_active_render_target.
17057 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17058 (SEQUENCER_DATA_PORT): Likewise.
17059 (MAP_MASK_REGISTER): Likewise.
17060 (CRTC_ADDR_PORT): Likewise.
17061 (CRTC_DATA_PORT): Likewise.
17062 (START_ADDR_HIGH_REGISTER): Likewise.
17063 (START_ADDR_LOW_REGISTER): Likewise.
17064 (GRAPHICS_ADDR_PORT): Likewise.
17065 (GRAPHICS_DATA_PORT): Likewise.
17066 (READ_MAP_REGISTER): Likewise.
17067 (INPUT_STATUS1_REGISTER): Likewise.
17068 (INPUT_STATUS1_VERTR_BIT): Likewise.
17069 (get_map_mask): Use grub_vga_sr_read.
17070 (set_map_mask): Use grub_vga_sr_write.
17071 (set_read_map): Use grub_vga_gr_write.
17072 (set_start_address): Use grub_vga_cr_write.
17073 * video/sm712.c (framebuffer): Remove leftover fields.
17074
4321c64a
CW
170752010-06-20 Colin Watson <cjwatson@ubuntu.com>
17076
17077 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17078 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17079 instead. Replace the gfxterm backend check with a check that
17080 ${GRUB_PREFIX}/video.lst is non-empty.
17081 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17082 again.
17083 (load_video): New generated function. Call it before loading
17084 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17085 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17086 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17087 * docs/grub.texi (Simple configuration): Document
17088 GRUB_VIDEO_BACKEND.
17089
170902010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 Use video functions in linux and xnu loaders.
17093
17094 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17095 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17096 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17097 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17098 loader/i386/pc/linux.c.
17099 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17100 (find_line_len): Removed.
17101 (find_framebuf): Likewise.
17102 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17103 * loader/i386/efi/xnu.c: Removed.
17104 * loader/i386/pc/xnu.c: Moved from here...
17105 * loader/i386/xnu.c: ...here.
17106
17107 Enable priorities in video drivers.
17108
17109 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17110 (grub_video_adapter): New field prio.
17111 (grub_video_register): Respect prio when inserting.
17112 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17113 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17114 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17115 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17116 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17117 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17118 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17119
17120 Fix SDL driver ID.
17121
17122 * include/grub/video.h (grub_video_driver_id_t): New value
17123 GRUB_VIDEO_DRIVER_SDL.
17124 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17125
7d24e434
CW
171262010-06-17 Colin Watson <cjwatson@ubuntu.com>
17127
17128 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17129 argument to printf.
17130 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17131
c88a83f6
CW
171322010-06-17 Colin Watson <cjwatson@ubuntu.com>
17133
17134 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17135 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17136
094dfb69
CW
171372010-06-17 Colin Watson <cjwatson@ubuntu.com>
17138
17139 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17140 directly, and recommend grub-install instead.
17141 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17142
2164da6b
CW
171432010-06-17 Colin Watson <cjwatson@ubuntu.com>
17144
17145 Fix i386-pc prefix handling with nested partitions (Debian bug
17146 #585068). Note that the case where the core image is booted using
17147 multiboot and relocated from its original location still requires
17148 more work.
17149
17150 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17151 with "(,", fill the boot drive in between those two characters, but
17152 expect that a full partition specification including partition map
17153 names will follow.
17154 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17155 specified, write a prefix without the drive name but including a
17156 full partition specification.
17157
044e2e60
CW
171582010-06-16 Colin Watson <cjwatson@ubuntu.com>
17159
17160 * util/grub-mkconfig.in: Ignore non-option arguments, for
17161 compatibility with older versions (before 2010-06-12) which did the
17162 same. In particular, this makes it easier to ship an update-grub
17163 wrapper which is compatible with that used with GRUB Legacy (Debian
17164 bug #586056).
17165
5591324f
GS
171662010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17167
17168 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17169 for manual page generation.
17170
662e24d5
GS
171712010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17172
17173 * po/POTFILES: Remove leftover commands/handler.c.
17174
8d70754e
CW
171752010-06-14 Colin Watson <cjwatson@ubuntu.com>
17176
17177 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17178 left this script non-functional.
17179
41160e2e
CW
171802010-06-14 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * docs/man/grub-emu.h2m: New file.
17183
b5309cc1
CW
171842010-06-13 Colin Watson <cjwatson@ubuntu.com>
17185
17186 * docs/grub.texi (Commands): Document reduced command set in rescue
17187 mode.
17188 (cpuid): New section.
17189
fcb2d090
GS
171902010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17191
17192 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17193 new partition naming style.
17194 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17195
96e5c556
BC
171962010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17197
17198 Add "-o grub.iso" like cmdline options support.
17199
17200 * util/grub-install.in: Improve cmdline option parsing.
17201 * util/grub-mkconfig.in: Likewise.
17202 * util/grub-mkrescue.in: Likewise.
17203 * util/grub-reboot.in: Likewise.
17204 * util/grub-set-default.in: Likewise.
17205 * util/i386/efi/grub-install.in: Likewise.
17206 * util/ieee1275/grub-install.in: Likewise.
17207 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17208
c16be99b
CW
172092010-06-12 Colin Watson <cjwatson@ubuntu.com>
17210
17211 * .bzrignore: Ignore 41_custom.
17212
ce08a9fb
TS
172132010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17214
17215 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17216
7beac90c
CW
172172010-06-12 Colin Watson <cjwatson@ubuntu.com>
17218
17219 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17220 prototype declarations.
17221
17222 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17223 generating fs, partmap, and video lists.
17224 * include/grub/fs.h (grub_fs_register): Omit prototype if
17225 GRUB_LST_GENERATOR is defined.
17226 * include/grub/partition.h (grub_partition_map_register): Likewise.
17227 * include/grub/video.h (grub_video_register): Likewise.
17228
1c8f0f8d
JM
172292010-06-12 Javier Martín <lordhabbit@gmail.com>
17230
17231 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17232
a6085973
TS
172332010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17234
17235 * util/grub-mkrescue.in: Support --xorriso argument.
17236
25c56d29
VS
172372010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17240 Suggested by: Thomas Schmitt.
17241
e03e4b24
VS
172422010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17245 Suggested by: Thomas Schmitt.
17246
57711df6
VS
172472010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 custom.cfg support.
17250
17251 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17252 * util/grub.d/41_custom.in: New file.
17253
ee62c427
CW
172542010-06-12 Colin Watson <cjwatson@ubuntu.com>
17255
17256 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17257 been merged back into normal.
17258
283af07a
CW
172592010-06-11 Colin Watson <cjwatson@ubuntu.com>
17260
17261 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17262 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17263
56a0d956
CW
172642010-06-11 Colin Watson <cjwatson@ubuntu.com>
17265
17266 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17267 when generating manual pages.
17268 * docs/man/grub-bin2h.h2m: New file.
17269 * docs/man/grub-editenv.h2m: New file.
17270 * docs/man/grub-fstest.h2m: New file.
17271 * docs/man/grub-install.h2m: New file.
17272 * docs/man/grub-macho2img.h2m: New file.
17273 * docs/man/grub-mkconfig.h2m: New file.
17274 * docs/man/grub-mkdevicemap.h2m: New file.
17275 * docs/man/grub-mkfont.h2m: New file.
17276 * docs/man/grub-mkimage.h2m: New file.
17277 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17278 * docs/man/grub-mkrelpath.h2m: New file.
17279 * docs/man/grub-mkrescue.h2m: New file.
17280 * docs/man/grub-ofpathname.h2m: New file.
17281 * docs/man/grub-pe2elf.h2m: New file.
17282 * docs/man/grub-probe.h2m: New file.
17283 * docs/man/grub-reboot.h2m: New file.
17284 * docs/man/grub-script-check.h2m: New file.
17285 * docs/man/grub-set-default.h2m: New file.
17286 * docs/man/grub-setup.h2m: New file.
17287
3a37e322
VS
172882010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 Use FOR_* macros instead of *_iterate whenever possible.
17291
17292 * commands/handler.c: Removed.
17293 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17294 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17295 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17296 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17297 (grub_probe_SOURCES): Remove kern/parser.c.
17298 (util/grub-script-check.c_DEPENDENCIES): Removed.
17299 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17300 and grub_script_check_init.c.
17301 (grub_script_check_init.lst): Removed.
17302 (grub_script_check_init.h): Likewise.
17303 (grub_script_check_init.c): Likewise.
17304 (pkglib_MODULES): Remove handler.mod and sh.mod.
17305 (handler_mod_SOURCES): Removed.
17306 (handler_mod_CFLAGS): Likewise.
17307 (handler_mod_LDFLAGS): Likewise.
17308 (normal_mod_SOURCES): Remove normal/handler.c.
17309 Add script/main.c, script/script.c, script/execute.c,
17310 script/function.c, script/lexer.c, grub_script.tab.c
17311 and grub_script.yy.c.
17312 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17313 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17314 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17315 (grub_setup_SOURCES): Remove kern/parser.c.
17316 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17317 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17318 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17319 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17320 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17321 (grub_setup_SOURCES): Remove kern/parser.c.
17322 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17323 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17324 * include/grub/command.h (grub_command_iterate): Removed.
17325 (FOR_COMMANDS): New macro.
17326 * include/grub/dl.h (grub_dl): New member next.
17327 (grub_dl_iterate): Removed.
17328 (grub_dl_head): New variable declaration.
17329 (FOR_DL_MODULES): New macro.
17330 * include/grub/fs.h: Include list.h.
17331 (grub_fs): Make next first element.
17332 (grub_fs_list): New variable declaration.
17333 (grub_fs_register): Make inline.
17334 (grub_fs_unregister): Likewise.
17335 (grub_fs_iterate): Removed.
17336 (FOR_FILESYSTEMS): New macro.
17337 * include/grub/handler.h: Removed.
17338 * include/grub/list.h (grub_list_hook_t): Removed.
17339 (grub_list_test_t): Likewise.
17340 (grub_list_pop): Likewise.
17341 (grub_list_iterate): Likewise.
17342 (grub_list_insert): Likewise.
17343 (FOR_LIST_ELEMENTS): New macro.
17344 * include/grub/parser.h (grub_parser_class): Removed.
17345 (grub_parser_register): Likewise.
17346 (grub_parser_unregister): Likewise.
17347 (grub_parser_get_current): Likewise.
17348 (grub_parser_set_current): Likewise.
17349 (grub_register_rescue_parser): Likewise.
17350 (grub_rescue_parse_line): New function.
17351 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17352 * include/grub/script_sh.h (grub_script_function_list): New variable
17353 declaration.
17354 (FOR_SCRIPT_FUNCTIONS): New macro.
17355 (grub_script_function_iterate): Removed.
17356 (grub_normal_parse_line): New prototype.
17357 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17358 (FOR_DISABLED_TERM_INPUTS): Likewise.
17359 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17360 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17361 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17362 element.
17363 (grub_video_register): Inline.
17364 (grub_video_unregister): Likewise.
17365 (grub_video_adapter_list): New variable declaration.
17366 (grub_video_iterate): Removed.
17367 (FOR_VIDEO_ADAPTERS): New macro.
17368 * kern/dl.c (grub_dl_list): Removed. All users updated.
17369 (grub_dl_iterate): Removed.
17370 * kern/fs.c (grub_fs_list): Make global.
17371 (grub_fs_register): Removed.
17372 (grub_fs_unregister): Likewise.
17373 (grub_fs_iterate): Likewise.
17374 * kern/handler.c: Removed.
17375 * kern/list.c (grub_list_pop): Removed.
17376 (grub_list_iterate): Likewise.
17377 (grub_list_insert): Likewise.
17378 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17379 (grub_prio_list_insert): Don't use grub_list_insert.
17380 * kern/main.c (grub_register_rescue_parser): Don't call
17381 grub_register_rescue_parser.
17382 * kern/parser.c (grub_parser_class): Removed.
17383 (grub_parser_execute): Use grub_rescue_parse_line.
17384 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17385 (grub_rescue_parser): Removed.
17386 (grub_register_rescue_parser): Likewise.
17387 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17388 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17389 (grub_auth_check_authentication): Likewise.
17390 * normal/completion.c (iterate_command): Removed.
17391 (grub_normal_do_completion): Use FOR_COMMANDS.
17392 * normal/handler.c: Removed.
17393 * normal/main.c (read_config_file): Remove parser changing.
17394 (grub_normal_execute): Don't call read_handler_list.
17395 (grub_normal_read_line_real): Statically allocate prompt.
17396 (grub_cmdline_run): Use grub_normal_parse_line.
17397 (GRUB_MOD_FINI): Don't call free_handler_list.
17398 * normal/menu_entry.c (run): Likewise.
17399 * script/function.c (grub_script_function_list): Make global.
17400 (grub_script_function_iterate): Removed.
17401 * script/main.c (grub_normal_parse_line): Make global.
17402 (grub_sh_parser): Removed.
17403 (GRUB_MOD_INIT): Likewise.
17404 (GRUB_MOD_FINI): Likewise.
17405 * tests/lib/functional_test.c (grub_functional_test): Use
17406 FOR_LIST_ELEMENTS.
17407 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17408 (grub_test_run): Use FOR_LIST_ELEMENTS.
17409 * tests/lib/unit_test.c (main): Likewise.
17410 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17411 grub_list_pop.
17412 * util/grub-fstest.c (grub_term_input_class): Removed.
17413 (grub_term_output_class): Likewise.
17414 * util/grub-probe.c: Likewise.
17415 * util/i386/pc/grub-setup.c: Likewise.
17416 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17417 * util/grub-script-check.c (main): Don't call grub_init_all and
17418 grub_fini_all.
17419 * video/video.c (grub_video_adapter_list): Make global.
17420 (grub_video_register): Removed.
17421 (grub_video_unregister): Likewise.
17422 (grub_video_iterate): Likewise.
17423
6289c3a7
VS
174242010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17427 reported by Henrique Ferreiro.
17428
91460247
RM
174292010-06-09 Robert Millan <rmh@gnu.org>
17430
17431 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17432 ones, when both are available.
17433
0ea7c4f9
GS
174342010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17435
17436 Make --version uniform and avoid hard-coded program name.
17437
17438 * util/grub-mkimage.c (main): Use `program_name' instead of
17439 hard-coded string.
17440 * util/i386/pc/grub-setup.c (main): Likewise.
17441 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17442 * util/grub-install.in: Save the basename of $0 in $self, and use the
17443 latter in informational messages. Use the same format for --version
17444 as the binary programs.
17445 * util/grub-mkconfig.in: Likewise.
17446 * util/grub-mkrescue.in: Likewise.
17447 * util/grub-reboot.in: Likewise.
17448 * util/grub-set-default.in: Likewise.
17449 * util/i386/efi/grub-install.in: Likewise.
17450 * util/ieee1275/grub-install.in: Likewise.
17451 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17452
e8a6f3b6
GS
174532010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17454
17455 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17456 embedding area. Use <= instead of == when checking for non-emptiness.
17457
f4d095d7
GS
174582010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17459
17460 * configure.ac: Add `.' to the directories searched for unifont.
17461
50e532ca
CW
174622010-06-08 Colin Watson <cjwatson@ubuntu.com>
17463
17464 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17465 grub_script.yy.h.
17466
d39f3dec
CW
174672010-06-08 Colin Watson <cjwatson@ubuntu.com>
17468
17469 * docs/grub.texi (History): Expand to cover GRUB 2.
17470 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17471 commands, not `terminal'.
17472 (serial): Likewise.
17473 (terminal_input): New section.
17474 (terminal_output): New section.
17475 (uppermem): New section (stub).
17476 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17477
6ef0ddb4
CW
174782010-06-08 Colin Watson <cjwatson@ubuntu.com>
17479
17480 * docs/grub.texi (Security): Menu entries are unrestricted by
17481 default, not restricted to superusers as I had previously thought.
17482 Reword to account for this.
17483
e0f4c438
CW
174842010-06-07 Colin Watson <cjwatson@ubuntu.com>
17485
17486 * kern/emu/misc.c (device_mapper_null_log): New function.
17487 (grub_device_mapper_supported): New function.
17488 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17489 prototype.
17490 * kern/emu/hostdisk.c (find_partition_start): Check whether
17491 device-mapper is supported before trying to use it.
17492 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17493
da908200
CW
174942010-06-07 Colin Watson <cjwatson@ubuntu.com>
17495
17496 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17497 (File name syntax): Likewise.
17498 (help): --all is no longer supported in GRUB 2. Be more precise
17499 about pattern matching.
17500
fb55c3ac
CW
175012010-06-07 Colin Watson <cjwatson@ubuntu.com>
17502
17503 * normal/completion.c (grub_normal_do_completion): When completing
17504 arguments to "set" and the current word contains an equals sign,
17505 skip to after the equals sign before starting completion.
17506
258c2573
CW
175072010-06-07 Colin Watson <cjwatson@ubuntu.com>
17508
17509 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17510
ee75515e
CW
175112010-06-07 Colin Watson <cjwatson@ubuntu.com>
17512
17513 * docs/grub.texi (Network): New section.
17514 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17515 `(nd)' as in GRUB Legacy.
17516 (pxe_unload): New section.
17517
a6a700aa
CW
175182010-06-07 Colin Watson <cjwatson@ubuntu.com>
17519
17520 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17521 in the rescue shell, so recommend using `set' instead. Thanks,
17522 Jordan Uggla.
17523
4003dd38
CW
175242010-06-07 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17527 (password): New section.
17528 (password_pbkdf2): New section.
17529 (search): New section.
17530 (Security): New section.
17531 (Troubleshooting): New section, currently very incomplete.
17532 (Invoking grub-mkpasswd-pbkdf2): New section.
17533 (Internals): New section, currently very incomplete.
17534
e1cbcc40
CW
175352010-06-07 Colin Watson <cjwatson@ubuntu.com>
17536
17537 * util/grub.d/00_header.in: Add some more quoting (of
17538 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17539 work again.
17540 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17541
db8fa1ad
CW
175422010-06-07 Colin Watson <cjwatson@ubuntu.com>
17543
17544 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17545 to `count', fixing variable shadowing that broke the -c option.
17546
175472010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17548
17549 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17550 in case they contain spaces.
17551
f28a9212
CW
175522010-06-04 Colin Watson <cjwatson@ubuntu.com>
17553
17554 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17555 "part_" to partmap module names, in line with grub-install.
17556 Reported by: Jindřich Makovička (Debian bug #584426).
17557
9cdfe32f
CW
175582010-06-04 Colin Watson <cjwatson@ubuntu.com>
17559
17560 * util/grub-mkimage.c: Make target-related error messages slightly
17561 more helpful; -O talks about "format". Explicitly point to the use
17562 of -O if no target is specified.
17563 Reported by: Didier Raboud (Debian bug #584415).
17564
795b593a
CW
175652010-06-03 Colin Watson <cjwatson@ubuntu.com>
17566
17567 * INSTALL: Document several build requirements for optional features
17568 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17569
9d9b5833
GS
175702010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17571
17572 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17573 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17574 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17575
0819fec8
CW
175762010-06-02 Colin Watson <cjwatson@ubuntu.com>
17577
17578 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17579 Thanks to Jordan Uggla for spotting this.
17580
49396b4f
VS
175812010-06-02 Aleš Nesrsta <starous@volny.cz>
17582
17583 Finally make USB usable.
17584
17585 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17586 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17587 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17588 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17589 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17590 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17591 (GRUB_OHCI_FSMPS): Likewise.
17592 (GRUB_OHCI_PERIODIC_START): Likewise.
17593 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17594 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17595 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17596 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17597 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17598 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17599 (grub_ohci_transaction): Likewise.
17600 (grub_ohci_transfer): Improve condition detection algorithms.
17601 Handle toggle property. Program the transactions correctly.
17602 Improve error handling. Various important fixups.
17603 (grub_ohci_portstatus): Put register writes in right order.
17604 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17605 (grub_uhci_transfer): Don't show "failed" message on success.
17606 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17607 array.
17608 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17609 determine its size.
17610 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17611 before initialization is completed. Use IN direction for empty
17612 transfers. Use last_trans and compute toggle.
17613 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17614 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17615 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17616 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17617 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17618 (grub_usb_device): Increase toggle to 256.
17619 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17620 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17621 GRUB_USBMS_SUBCLASS_SFF8070.
17622 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17623 (grub_scsi_inquiry): New member page and alloc_length.
17624 (grub_scsi_request_sense): New structure.
17625 (grub_scsi_request_sense_data): Likewise.
17626 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17627 control.
17628 * disk/scsi.c (grub_scsi_request_sense): New function.
17629 (grub_scsi_test_unit_ready): Likewise.
17630 (grub_scsi_inquiry): Fill new fields.
17631 (grub_scsi_read_capacity): Likewise.
17632 (grub_scsi_read10): Add request sense at the end.
17633 (grub_scsi_read12): Likewise.
17634 (grub_scsi_write10): Likewise.
17635 (grub_scsi_write12): Likewise.
17636 (grub_scsi_open): Add Test Unit Ready.
17637 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17638 Support additional subclasses. Con't clear halt yet. Activate the
17639 proper config. Calculate LUNs correctly.
17640 (grub_usbms_transfer): Various important fixups.
17641
176422010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17645 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17646 (grub_ohci_fini_hw): New function.
17647 (grub_ohci_restore_hw): Likewise.
17648 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17649 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17650 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17651
176522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17653
17654 Dedicated DMA allocations.
17655
17656 * bus/pci.c (grub_memalign_dma32): New function
17657 (grub_dma_free): Likewise.
17658 (grub_dma_get_virt): Likewise.
17659 (grub_dma_get_phys): Likewise.
17660 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17661 (grub_ohci_pci_iter): Use dma32_alloc.
17662 (grub_ohci_transfer): Likewise.
17663 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17664 (grub_usb_bulk_readwrite): Likewise.
17665 * include/grub/pci.h: Add declarations.
17666
176672010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 CS5536 support.
17670
17671 * bus/cs5536.c: New file.
17672 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17673 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17674 (cs5536_mod_SOURCES): New variable.
17675 (cs5536_mod_CFLAGS): Likewise.
17676 (cs5536_mod_LDFLAGS): Likewise.
17677 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17678 machine/pci.h.
17679 (kernel_img_SOURCES): Add bus/cs5536.c.
17680 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17681 usb_keyboard.mod.
17682 (usb_mod_SOURCES): New variable.
17683 (usb_mod_CFLAGS): New variable.
17684 (usb_mod_LDFLAGS): New variable.
17685 (usbtest_mod_SOURCES): New variable.
17686 (usbtest_mod_CFLAGS): New variable.
17687 (usbtest_mod_LDFLAGS): New variable.
17688 (ohci_mod_SOURCES): New variable.
17689 (ohci_mod_CFLAGS): New variable.
17690 (ohci_mod_LDFLAGS): New variable.
17691 (usbms_mod_SOURCES): New variable.
17692 (usbms_mod_CFLAGS): New variable.
17693 (usbms_mod_LDFLAGS): New variable.
17694 (usb_keyboard_mod_SOURCES): New variable.
17695 (usb_keyboard_mod_CFLAGS): New variable.
17696 (usb_keyboard_mod_LDFLAGS): New variable.
17697 * include/grub/smbus.h: New file.
17698 * include/grub/cs5536.h: New file.
17699
0b35b2a9
CW
177002010-06-02 Colin Watson <cjwatson@ubuntu.com>
17701
17702 * util/grub.d/00_header.in: Add safety check to make sure that
17703 ${locale_dir} exists before trying to probe it.
17704
ca0afd5b
CW
177052010-06-02 Colin Watson <cjwatson@ubuntu.com>
17706
17707 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17708 per the GNU Coding Standards; this is now too obscure to be worth
17709 documenting.
17710 (QNX): Likewise.
17711 (chainloader): Remove cross-reference to `SCO UnixWare'.
17712
1c41aa78
CW
177132010-06-02 Colin Watson <cjwatson@ubuntu.com>
17714
17715 * docs/grub.texi (Chain-loading): New section.
17716 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17717 adjusted for GRUB 2.
17718 (SCO UnixWare): Likewise.
17719 (QNX): Likewise.
17720 (chainloader): Add reference to `Block list syntax'.
17721 (drivemap): New section.
17722 (parttool): New section.
17723
bb8ea0f5
CW
177242010-06-02 Colin Watson <cjwatson@ubuntu.com>
17725
17726 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17727 the grub shell'.
17728 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17729 (Installing GRUB using grub-install): Remove reference to the grub
17730 shell; mention `grub-mkimage' and `grub-setup' instead.
17731 (Invoking grub-install): Likewise.
17732 (Interface): Add reference to `Menu entry editor'.
17733 (serial): Remove `--device' option.
17734
288dd6ed
CW
177352010-06-02 Colin Watson <cjwatson@ubuntu.com>
17736
17737 * docs/grub.texi (Configuration): New section, documenting
17738 configuration file generation using grub-mkconfig. I've left a slot
17739 for documenting the full shell scripting format but have not yet
17740 started on writing that up.
17741 (Invoking grub-mkconfig): New section.
17742
34c9f0e9
CW
177432010-06-02 Colin Watson <cjwatson@ubuntu.com>
17744
17745 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17746 (GNU GRUB manual): Likewise.
17747 (General commands): Update description of `terminfo' for GRUB 2.
17748
9121567e
CW
177492010-06-02 Colin Watson <cjwatson@ubuntu.com>
17750
17751 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17752 (GRUB_MOD_INIT): Fix capitalisation.
17753 * docs/grub.texi (Command-line and menu entry commands): Document
17754 gettext and gptsync commands.
17755
ab631611
CW
177562010-06-02 Colin Watson <cjwatson@ubuntu.com>
17757
17758 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17759 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17760
bde4a9ac
CW
177612010-06-01 Colin Watson <cjwatson@ubuntu.com>
17762
17763 Add btrfs probing support, currently only in the single-device case.
17764
17765 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17766 function.
17767 (grub_guess_root_device): Call find_root_device_from_mountinfo
17768 before looking in /dev.
17769
b1d17e10
VS
177702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17773 GRUB_DISK_SIZE_UNKNOWN.
17774 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17775
dfbfe004
JS
177762010-05-31 Jiro SEKIBA <jir@unicus.jp>
17777
17778 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17779 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17780 corrupted or not synced properly.
17781
c2ffc8e9
VS
177822010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17785 Reported by: Seth Goldberg.
17786
56293166
VS
177872010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17790 addition of dest.
17791 Reported by: Seth Goldberg.
17792
7620e7de
VS
177932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17796 Reported by: Seth Goldberg.
17797
c837af3f
VS
177982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17801 64-bit address as signed on MIPS.
17802
c7c75cf4
CW
178032010-05-28 Colin Watson <cjwatson@ubuntu.com>
17804
17805 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17806 to the empty string.
17807
fa4b8490
BC
178082010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17809
17810 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17811
17812 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17813 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17814 * kern/misc.c (__enable_execute_stack): Disable on
17815 GRUB_MACHINE_EMU.
17816
a33075b9
CW
178172010-05-28 Colin Watson <cjwatson@ubuntu.com>
17818
17819 Make grub-probe work with symbolic links under /dev/mapper as well
17820 as with real block devices. The Linux world seems to be (at best)
17821 in transition here, and GRUB shouldn't get caught in the middle.
17822
17823 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17824 /dev/mapper.
17825
d8708134
CW
178262010-05-27 Colin Watson <cjwatson@ubuntu.com>
17827
17828 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17829 input files (in which case exit zero).
17830
db2102a0
CW
178312010-05-27 Colin Watson <cjwatson@ubuntu.com>
17832
17833 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17834 return NULL for various reasons even if it has a maximum-length
17835 buffer: for example, there might be a symlink loop, or the path
17836 might exceed PATH_MAX. If this happens, return NULL.
17837
5fdba519
RM
178382010-05-27 Robert Millan <rmh@gnu.org>
17839
17840 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17841 partmap module to handle cross-partmap setups.
17842 Reported by Orestes Mas. Gràcies!
17843
d1d368e4
CW
178442010-05-27 Colin Watson <cjwatson@ubuntu.com>
17845
17846 * util/grub-mkrescue.in: Initialise override_dir rather than
17847 assuming that it's unset or empty in the environment.
17848
95ac3c73
GS
178492010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17850
17851 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17852 variable index into p_index to suppress a warning with -Wshadow.
17853
7d8c0213
BC
178542010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17855
17856 * INSTALL: Added flex >= 2.5.35 requirement.
17857
db4d5813
VS
178582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17861
f24f4300
VS
178622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 cmostest support.
17865
17866 * commands/i386/cmostest.c: New file.
17867 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17868 (cmostest_mod_SOURCES): New variable.
17869 (cmostest_mod_CFLAGS): Likewise.
17870 (cmostest_mod_LDFLAGS): Likewise.
17871 * conf/i386-pc.rmk: Likewise.
17872 * docs/grub.texi (Vendor power-on keys): New section.
17873 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17874 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17875 and GRUB_BUTTON_CMOS_ADDRESS.
17876 * util/grub.d/00_header.in: Handle powering-on by separate button.
17877
ad603f61
VS
178782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17881 Removed drawing_scrollbar argument. All users updated
17882 Fixes #29792.
17883 Reported by Jo Shields
17884
3ecb080a
VS
178852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17888 buffer since gfxterm handles double repaint.
17889
5f2316c1
VS
178902010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17891
17892 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17893 * term/gfxterm.c (real_scroll): Likewise.
17894
9a25f885
VS
178952010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17898 before calling BIOS.
17899
39fbb79a
VS
179002010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * include/grub/i18n.h: Always enable grub_gettext.
17903
228cfa97
VS
179042010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17907 partition naming style.
17908
21717c8f
CW
179092010-05-21 Colin Watson <cjwatson@ubuntu.com>
17910
17911 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17912 not the first option.
17913
c0f48e65
CW
179142010-05-20 Colin Watson <cjwatson@ubuntu.com>
17915
17916 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17917
96779aec
CW
179182010-05-20 Colin Watson <cjwatson@ubuntu.com>
17919
17920 * util/misc.c: Move inclusion of <limits.h> to ...
17921 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17922
fa9d256e
GS
179232010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17924
17925 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17926 Fix merge error in NetBSD code.
17927 (find_partition_start) [__NetBSD__]: Likewise.
17928
123b7a85
BC
179292010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17930
17931 Fix grub-mkrescue usage unit testing.
17932
17933 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17934
74276c0d
CF
179352010-05-18 Christian Franke <franke@computer.org>
17936
17937 * util/grub.d/10_windows.in: Use path names instead of
17938 drive letters to prevent warning from Cygwin 1.7.
17939 Add drivemap command to menuentry if needed.
17940
c4f7b523
ST
179412010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17942
17943 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17944 gnumach and gnumach.gz.
17945
95b97950
VS
179462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * include/grub/i18n.h (gettext): Inline instead of using #define.
17949 (grub_gettext): Likewise.
17950 (_): Likewise.
17951
01b8d2d7
VS
179522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17955 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17956 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17957 (main): Add a slash after pkglibdirroot.
17958
654e1d1e
VS
179592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * util/grub-install.in: Add missing "in" keyword.
17962
26966aeb
VS
179632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17964
17965 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17966 Reported by: Seth Goldberg.
17967
75006747
VS
179682010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17971
74cbf5bd
CW
179722010-05-18 Colin Watson <cjwatson@ubuntu.com>
17973
17974 * configure.ac: Check for Linux device-mapper support.
17975
17976 * util/hostdisk.c (device_is_mapped): New function.
17977 (find_partition_start): New function, partly broken out from
17978 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17979 device-mapper support added.
17980 (linux_find_partition): Use find_partition_start.
17981 (convert_system_partition_to_system_disk): Add `st' argument.
17982 Support Linux /dev/mapper/* devices if device-mapper support is
17983 available; only DM-RAID devices are understood at present.
17984 (find_system_device): Add `st' argument. Pass it to
17985 convert_system_partition_to_system_disk.
17986 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17987 find_system_device and convert_system_partition_to_system_disk. Use
17988 find_partition_start.
17989
17990 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17991 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17992 * util/deviceiter.c [__linux__]: Define MINOR.
17993 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17994 * util/mkdevicemap.c (grub_putchar): New function.
17995 (grub_getkey): New function.
17996 (grub_refresh): New function.
17997 (main): Set debug=all if -v -v is used.
17998
355b51e9
CW
179992010-05-18 Colin Watson <cjwatson@ubuntu.com>
18000
18001 Fix build with non-GNU libcs.
18002
18003 * util/misc.c (canonicalize_file_name): Move to ...
18004 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18005 grub_make_system_path_relative_to_its_root.
18006
7fb5c25f
CW
180072010-05-18 Colin Watson <cjwatson@ubuntu.com>
18008
18009 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18010 we handle finding grub-mkimage. Default to finding grub-mkimage in
18011 ${bindir} with program_transform_name applied, and provide a
18012 --grub-mkimage option to override this.
18013
1d3293d6
VS
180142010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 Remove grub-mkisofs.
18017
18018 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18019 (grub_mkisofs_SOURCES): Removed.
18020 (grub_mkisofs_CFLAGS): Removed.
18021 * util/mkisofs/defaults.h: Removed.
18022 * util/mkisofs/eltorito.c: Likewise.
18023 * util/mkisofs/exclude.h: Likewise.
18024 * util/mkisofs/hash.c: Likewise.
18025 * util/mkisofs/include/: Likewise.
18026 * util/mkisofs/include/fctldefs.h: Likewise.
18027 * util/mkisofs/include/mconfig.h: Likewise.
18028 * util/mkisofs/include/prototyp.h: Likewise.
18029 * util/mkisofs/include/statdefs.h: Likewise.
18030 * util/mkisofs/iso9660.h: Likewise.
18031 * util/mkisofs/joliet.c: Likewise.
18032 * util/mkisofs/match.c: Likewise.
18033 * util/mkisofs/match.h: Likewise.
18034 * util/mkisofs/mkisofs.c: Likewise.
18035 * util/mkisofs/mkisofs.h: Likewise.
18036 * util/mkisofs/msdos_partition.h: Likewise.
18037 * util/mkisofs/multi.c: Likewise.
18038 * util/mkisofs/name.c: Likewise.
18039 * util/mkisofs/rock.c: Likewise.
18040 * util/mkisofs/tree.c: Likewise.
18041 * util/mkisofs/write.c: Likewise.
18042
5dde9afe
VS
180432010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 Unify grub-mkimage accross platforms.
18046
18047 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18048 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18049 (grub_mkelfimage_SOURCES): Removed.
18050 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18051 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18052 (bin_UTILITIES): Add grub-mkimage.
18053 (grub_mkimage_SOURCES): New variable.
18054 (kernel_img_HEADERS): Remove machine/kernel.h.
18055 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18056 (pkglib_PROGRAMS): Add kernel.img.
18057 (kernel_img_HEADERS): Add machine/kernel.h.
18058 (kernel_img_FORMAT): Removed.
18059 (bin_UTILITIES): Remove grub-mkimage.
18060 (grub_mkimage_SOURCES): Removed.
18061 (grub_mkimage_CFLAGS): Likewise.
18062 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18063 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18064 (pkglib_PROGRAMS): Add kernel.img.
18065 (bin_UTILITIES): Remove grub-mkimage.
18066 (grub_mkimage_SOURCES): Removed.
18067 (grub_mkimage_CFLAGS): Likewise.
18068 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18069 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18070 (pkglib_PROGRAMS): Add kernel.img.
18071 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18072 (pkglib_PROGRAMS): Add kernel.img.
18073 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18074 (grub_mkimage_SOURCES): Removed.
18075 (grub_mkimage_CFLAGS): Likewise.
18076 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18077 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18078 (pkglib_PROGRAMS): Add kernel.img.
18079 (bin_UTILITIES): Remove grub-mkimage.
18080 (grub_mkimage_SOURCES): Removed.
18081 (grub_mkimage_CFLAGS): Likewise.
18082 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18083 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18084 (grub_mkimage_SOURCES): Removed.
18085 (grub_mkimage_CFLAGS): Likewise.
18086 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18087 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18088 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18089 (grub_pe32_optional_header): ... this.
18090 (grub_pe64_optional_header): ... and this. All users updated.
18091 (GRUB_PE32_PE32_MAGIC): Split into ..
18092 (GRUB_PE32_PE32_MAGIC): .. this.
18093 (GRUB_PE32_PE64_MAGIC): .. and this.
18094 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18095 * include/grub/elf.h (PT_GNU_STACK): New definition.
18096 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18097 * include/grub/i386/efi/kernel.h: Likewise.
18098 * include/grub/i386/kernel.h: Likewise.
18099 * include/grub/i386/pc/kernel.h: Likewise.
18100 * include/grub/i386/qemu/boot.h: Likewise.
18101 * include/grub/mips/kernel.h: Likewise.
18102 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18103 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18104 * include/grub/powerpc/kernel.h: Likewise.
18105 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18106 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18107 * include/grub/sparc64/kernel.h: Likewise.
18108 * include/grub/x86_64/efi/kernel.h: Likewise.
18109 * include/grub/x86_64/kernel.h: Likewise.
18110 * include/grub/offsets.h: New file.
18111 * include/grub/kernel.h (grub_module_info): Split into ...
18112 (grub_module_info32): ... this.
18113 (grub_module_info64): ... and this.
18114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18115 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18116 (grub_boot_blocklist): Moved from here ...
18117 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18118 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18119 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18120 * include/grub/types.h (grub_target_to_host16): Removed.
18121 (grub_target_to_host32): Likewise.
18122 (grub_target_to_host64): Likewise.
18123 (grub_host_to_target16): Likewise.
18124 (grub_host_to_target32): Likewise.
18125 (grub_host_to_target64): Likewise.
18126 (grub_host_to_target_addr): Likewise.
18127
18128 Support grub-mkrescue for efi, coreboot and qemu.
18129
18130 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18131 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18132 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18133 * util/grub-mkrawimage.c: Moved from here ...
18134 * util/grub-mkimage.c: ... here. All users updated.
18135 (ALIGN_ADDR): Use image_target.
18136 (TARGET_NO_FIELD): New const.
18137 (image_target_desc): New type.
18138 (image_targets): New array.
18139 (grub_target_to_host64): Use image_target.
18140 (grub_target_to_host32): Likewise.
18141 (grub_target_to_host16): Likewise.
18142 (grub_host_to_target64): Likewise.
18143 (grub_host_to_target32): Likewise.
18144 (grub_host_to_target16): Likewise.
18145 (grub_host_to_target_addr): Likewise.
18146 (generate_image): Handle multiimage.
18147 (main): Require -O parameter. All users updated.
18148 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18149 util/efi/grub-mkimage.c
18150 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18151 New option --rom-directory.
18152 Use xorriso.
18153 * util/i386/efi/grub-mkimage.c: Removed.
18154 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18155 (grub_target_to_host32): Likewise.
18156 (grub_target_to_host64): Likewise.
18157 (grub_host_to_target16): Likewise.
18158 (grub_host_to_target32): Likewise.
18159 (grub_host_to_target64): Likewise.
18160 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
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
f4fc97d0
BC
181672010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18168
18169 Source tree is reorganized for emu build.
18170
18171 * include/grub/util/console.h: Move from here...
18172 * include/grub/emu/console.h: ...to here.
18173 * include/grub/util/getroot.h: Move from here...
18174 * include/grub/emu/getroot.h: ...to here.
18175 * include/grub/util/hostdisk.h: Move from here...
18176 * include/grub/emu/hostdisk.h: ...to here.
18177 * util/console.c: Move from here...
18178 * kern/emu/console.c: ...to here.
18179 * util/getroot.c: Move from here...
18180 * kern/emu/getroot.c: ...to here.
18181 * util/grub-emu.c: Move from here...
18182 * kern/emu/main.c: ...to here.
18183 * util/hostdisk.c: Move from here...
18184 * kern/emu/hostdisk.c: ...to here.
18185 * util/hostfs.c: Move from here...
18186 * kern/emu/hostfs.c: ...to here.
18187 * util/mm.c: Move from here...
18188 * kern/emu/mm.c: ...to here.
18189 * util/pci.c: Move from here...
18190 * bus/emu/pci.c: ...to here.
18191 * util/sdl.c: Move from here...
18192 * video/emu/sdl.c: ...to here.
18193 * util/time.c: Move from here...
18194 * kern/emu/time.c: ...to here.
18195 * util/usb.c: Move from here...
18196 * bus/usb/emu/usb.c: ...to here.
18197
18198 * include/grub/emu/misc.h: New header for grub-emu functions.
18199 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18200
18201 * conf/any-emu.rmk: Rule updates for above renames.
18202 * conf/common.rmk: Likewise.
18203 * conf/i386-pc.rmk: Likewise.
18204 * conf/i386-qemu.rmk: Likewise.
18205 * conf/mips.rmk: Likewise.
18206 * conf/sparc64-ieee1275.rmk: Likewise.
18207 * conf/x86-efi.rmk: Likewise.
18208
18209 * disk/lvm.h: #include updates for above renames.
18210 * util/grub-mkrelpath.c: Likewise.
18211 * util/grub-probe.c: Likewise.
18212 * util/i386/pc/grub-setup.c: Likewise.
18213 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18214 * kern/emu/console.c: Likewise.
18215 * kern/emu/getroot.c: Likewise.
18216 * kern/emu/hostdisk.c: Likewise.
18217 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18218
18219 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18220 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18221 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18222 * util/misc.c: Remove grub-emu functions.
18223
cced9145
VS
182242010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 Fix gfxmenu crash.
18227 Reported by: Thorsten Grützmacher.
18228
18229 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18230 timeout hook.
18231 (circprog_set_property): Register and unregister timeout hook.
18232 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18233 (label_destroy): Free template. and unregister hook.
18234 (label_set_state): New function.
18235 (label_set_property): Handle templates and hooks.
18236 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18237 timeout hook.
18238 (progress_bar_set_property): Register and unregister timeout hook.
18239 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18240 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18241 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18242 (update_timeout_visit): Removed.
18243 (update_timeouts): New function.
18244 (redraw_timeouts): Likewise.
18245 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18246 (grub_gfxmenu_clear_timeout): Likewise.
18247 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18248 (grub_gfxmenu_timeout_notify): Likewise.
18249 (grub_gfxmenu_timeout_notifications): New external variable.
18250 (grub_gfxmenu_timeout_register): New function.
18251 (grub_gfxmenu_timeout_unregister): Likewise.
18252
c6e5caab
VS
182532010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 Transform (broken) vga terminal into (working) vga video driver.
18256
18257 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18258 video/i386/pc/vga.c.
18259 * include/grub/video.h (grub_video_driver_id):
18260 Add GRUB_VIDEO_DRIVER_VGA.
18261 * term/i386/pc/vga.c: Renamed to ...
18262 * video/i386/pc/vga.c: ...this
18263 (DEBUG_VGA): Removed.
18264 (CHAR_WIDTH): Likewise.
18265 (CHAR_HEIGHT): Likewise.
18266 (TEXT_WIDTH): Likewise.
18267 (TEXT_HEIGHT): Likewise.
18268 (DEFAULT_FG_COLOR): Likewise.
18269 (DEFAULT_BG_COLOR): Likewise.
18270 (colored_char): Likewise.
18271 (xpos): Likewise.
18272 (ypos): Likewise.
18273 (cursor_state): Likewise.
18274 (fg_color): Likewise.
18275 (bg_color): Likewise.
18276 (text_buf): Likewise.
18277 (page): Likewise.
18278 (font): Likewise.
18279 (framebuffer): New variable.
18280 (set_read_map): Disabled.
18281 (setup): New variable.
18282 (is_target): Likewise.
18283 (grub_vga_mod_init): Likewise.
18284 (grub_vga_mod_fini): Likewise.
18285 (check_vga_mem): Likewise.
18286 (write_char): Likewise.
18287 (write_cursor): Likewise.
18288 (scroll_up): Likewise.
18289 (grub_vga_putchar): Likewise.
18290 (grub_vga_getcharwidth): Likewise.
18291 (grub_vga_getwh): Likewise.
18292 (grub_vga_getxy): Likewise.
18293 (grub_vga_gotoxy): Likewise.
18294 (grub_vga_cls): Likewise.
18295 (grub_vga_setcolorstate): Likewise.
18296 (grub_vga_setcursor): Likewise.
18297 (grub_video_vga_init): New function.
18298 (grub_video_vga_setup): Likewise.
18299 (grub_video_vga_fini): Likewise.
18300 (update_target): Likewise.
18301 (grub_video_vga_blit_bitmap): Likewise.
18302 (grub_video_vga_blit_render_target): Likewise.
18303 (grub_video_vga_set_active_render_target): Likewise.
18304 (grub_video_vga_get_active_render_target): Likewise.
18305 (grub_video_vga_swap_buffers): Likewise.
18306 (grub_video_vga_set_palette): Likewise.
18307 (grub_video_vga_get_info_and_fini): Likewise.
18308 (grub_vga_term): Removed.
18309 (grub_video_vga_adapter): New variable.
18310 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18311 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18312
2bf61a98
VS
183132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18314
18315 * video/readers/jpeg.c: Indented.
18316
09ddcd11
VS
183172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18318
18319 Various jpeg cleanups.
18320
18321 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18322 (grub_jpeg_decode_quan_table): Use sizeof.
18323 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18324
e5507505
PH
183252010-05-05 Peter Hurley <No e-mail available> (tiny change)
18326
18327 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18328 tables. Ignore non-last ac bit.
18329 (grub_jpeg_decode_quan_table): Likewise.
18330
7e720a9b
VS
183312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18334 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18335 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18336 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18337 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18338 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18339
a7fc080b
VS
183402010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18343 error.
18344
2bf6012d
VS
183452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18348
265d68cd
VS
183492010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18352 condition.
18353
183542010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18355
18356 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18357 part.
18358
265d68cd 183592010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18360
18361 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18362 pointers.
18363
265d68cd 183642010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18365
18366 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18367
d1b61374
CF
183682010-05-01 Christian Franke <franke@computer.org>
18369
18370 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18371 Remove broken Cygwin path conversion.
18372 * util/misc.c: [__CYGWIN__] Add include and define.
18373 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18374 for Cygwin 1.7.
18375 (make_system_path_relative_to_its_root): Simplify loop, replace early
18376 return by break.
18377 [__CYGWIN__] Add conversion to win32 path.
18378 Include "/" case in trailing slash removal.
18379
3558c6e9
VS
183802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18383 Reported by: Seth Goldberg
18384
f5f3ff93
VS
183852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * commands/help.c (grub_cmd_help): Fix a typo.
18388 Reported by: Seth Goldberg
18389
d8b5cd40
VS
183902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18391
18392 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18393 name and add N_.
18394 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18395 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18396 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18397 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18398 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18399 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18400 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18401 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18402 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18403 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18404 * normal/context.c (GRUB_MOD_INIT): Likewise.
18405 * normal/main.c (GRUB_MOD_INIT): Likewise.
18406 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18407 * term/serial.c (GRUB_MOD_INIT): Likewise.
18408 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18409
88c14915
VS
184102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18413 extra == 0.
18414
165134bc
VS
184152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18416
18417 * commands/iorw.c: New file.
18418 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18419 (iorw_mod_SOURCES): New variable.
18420 (iorw_mod_CFLAGS): Likewise.
18421 (iorw_mod_LDFLAGS): Likewise.
18422
c5ac9b32
VS
184232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Hotkey support
18426
18427 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18428 * normal/main.c (hotkey_aliases): New variable.
18429 (grub_normal_add_menu_entry): Parse "--hotkey".
18430 * normal/menu_text.c (run_menu): Handle hotkeys.
18431
ce60689c
VS
184322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18433
18434 * kern/i386/coreboot/init.c (grub_machine_init): Call
18435 grub_machine_mmap_init on qemu.
18436
0359d006
VS
184372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18438
18439 * boot/i386/qemu/boot.S: Add a missing .code16.
18440
7819a456
VS
184412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18442
18443 Use LBIO on coreboot.
18444
18445 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18446 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18447 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18448 New declaration.
18449 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18450 grub_machine_mmap_init on coreboot.
18451 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18452 GRUB_LINUXBIOS_MEMBER_LINK.
18453 (grub_machine_mmap_iterate): Fix declaration.
18454 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18455
7210dca9
VS
184562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18457
18458 Split coreboot and multiboot ports.
18459
18460 * conf/i386-multiboot.rmk: New file.
18461 * configure.ac: Add multiboot port.
18462 * include/grub/i386/multiboot/boot.h: New file.
18463 * include/grub/i386/multiboot/console.h: Likewise.
18464 * include/grub/i386/multiboot/init.h: Likewise.
18465 * include/grub/i386/multiboot/kernel.h: Likewise.
18466 * include/grub/i386/multiboot/loader.h: Likewise.
18467 * include/grub/i386/multiboot/memory.h: Likewise.
18468 * include/grub/i386/multiboot/serial.h: Likewise.
18469 * include/grub/i386/multiboot/time.h: Likewise.
18470 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18471 * loader/multiboot.c: Likewise.
18472 * loader/multiboot_mbi2.c: Likewise.
18473 * util/grub-mkrescue.in: Generate multiboot rescue.
18474
6f8aaf68
VS
184752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18476
3080f7a7
VS
18477 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18478
184792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18482
18483 * commands/terminal.c (abstract_terminal): New struct.
18484 (handle_command): New function. Based on grub_cmd_terminal_input.
18485 (grub_cmd_terminal_input): Use handle_command.
18486 (grub_cmd_terminal_output): Use handle_command.
18487
a8ebb841
BC
184882010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18489
18490 Fix comment handling.
18491
18492 * tests/grub_script_comments.in: New testcase.
18493 * conf/tests.rmk: Rules for new testcase.
18494 * script/yylex.l: Updated flex rules.
18495
bb06ba08
ST
184962010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18497
18498 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18499 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18500 if argc is 1.
bb06ba08 18501
cc9d2425
VS
185022010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18505 autogen issues.
18506
460d8402
CF
185072010-04-26 Christian Franke <franke@computer.org>
18508
18509 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18510 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18511 (grub_get_prefix): Remove function.
18512 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18513 make_system_path_relative_to_its_root ().
18514 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18515
553c01f9
CF
185162010-04-24 Christian Franke <franke@computer.org>
18517
18518 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18519 (kernel_img_LDFLAGS): Remove -static-libgcc.
18520
2aec1692
CF
185212010-04-24 Christian Franke <franke@computer.org>
18522
18523 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18524 and CHECK_END_SYMBOL if grub-emu is built.
18525 Unset TARGET_OBJ2ELF if grub-emu is built
18526 without module support.
18527
f67dc308
JS
185282010-04-24 Jiro SEKIBA <jir@unicus.jp>
18529
18530 Nilfs2 support.
18531
18532 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18533 (grub_fstest_SOURCES): Likewise.
18534 (pkglib_MODULES): Add nilfs2.mod.
18535 (nilfs2_mod_SOURCES): New variable.
18536 (nilfs2_mod_CFLAGS): Likewise.
18537 (nilfs2_mod_LDFLAGS): Likewise.
18538 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18539 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18540 * fs/nilfs2.c: New file.
18541
4ba8d354
VS
185422010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18545 is not supported.
18546
0d2c20c6
GS
185472010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18548
18549 Add grub-mkconfig support for NetBSD.
18550
18551 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18552 * util/grub-mkconfig.in: export new NetBSD specific variables.
18553 * po/POTFILES-shell: added 10_netbsd.in.
18554 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18555
bc4a2d83
BC
185562010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18557
18558 Fix emu build with grub-emu-pci and grub-emu-modules.
18559
18560 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18561 functions.
18562 * include/grub/libpciaccess.h: New file.
18563 * conf/any-emu.rmk: Update kernel headers for emu build.
18564
f48c87aa
VS
185652010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18568
18959385
VS
185692010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18572
0037de3f
VS
185732010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18576 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18577 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18578 util/ieee1275/ofpath.c.
18579 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18580 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18581 * include/grub/sparc64/ieee1275/boot.h
18582 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18583 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18584 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18585 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18586 const char *.
18587 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18588 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18589 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18590 install.
18591
38e55e90
GS
185922010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18593
18594 * util/grub-mkconfig.in: Corrected two == equality tests.
18595 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18596 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18597 expect a number appended to it.
18598 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18599 expects a number appended to it.
18600
a9e6ff28
VS
186012010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18604
0b830b8f
VS
186052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * util/hostdisk.c (make_device_name): Change to new partition naming.
18608
0973daeb
VS
186092010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18612
460d8402 186132010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18614
18615 * Makefile.in: Add missing localedir setting.
18616
0b456309
CW
186172010-04-14 Colin Watson <cjwatson@ubuntu.com>
18618
18619 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18620 mistake in r2156. Noticed by Anthony Fok.
18621
18622 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18623 @localedir@.
18624 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18625
08f46d62
BC
186262010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18627
18628 Fix a spurious, uninitialized variable warning.
18629
18630 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18631 Initialize variable, shdr.
18632 (grub_freebsd_load_elfmodule): Likewise.
18633 (grub_freebsd_load_elf_meta): Likewise.
18634
8c4a72d4
BC
186352010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18636
18637 Fix for escaped dollar in double quoted strings.
18638
18639 * script/yylex.l: Updated flex rules.
18640 * conf/tests.rmk: Rule for new testcase.
18641 * tests/grub_script_dollar.in: New testcase.
18642
ce44826e
CPE
186432010-04-13 Carles Pina i Estany <carles@pina.cat>
186442010-04-13 Colin Watson <cjwatson@ubuntu.com>
18645
18646 Enclose all translated strings in grub.cfg in single quotes, and
18647 escape them appropriately (Ubuntu bug #552921).
18648
18649 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18650 * util/grub.d/10_hurd.in: Use it.
18651 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18652 * util/grub.d/10_linux.in (linux_entry): Likewise.
18653
4b0cd8f8
VS
186542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18655
18656 Fix cygwin compilation.
18657
18658 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18659 * include/grub/misc.h (__register_frame_info)
18660 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18661 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18662 * kern/misc.c (__register_frame_info)
18663 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18664 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18665
01fcf061
VS
186662010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18667
18668 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18669
5d04b11e
VS
186702010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 Unify libgcc processing.
18673
18674 * Makefile.in (kernel_img_LDFLAGS): New variable.
18675 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18676 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18677 overwriting.
18678 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18679 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18680 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18681 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18682 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18683 overwriting. Remove -lgcc and -static-libgcc
18684 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18685 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18686 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18687 (kernel_img_LDFLAGS): Append instead of overwriting.
18688 Remove -lgcc and -static-libgcc
18689 * conf/sparc64-ieee1275.rmk: Likewise.
18690 * include/grub/powerpc/libgcc.h: Move to ...
18691 * include/grub/libgcc.h: .. this.
18692 * include/grub/libgcc.h: Don't export most of the function on x86.
18693 (__bswapsi2): New export.
18694 (__bswapdi2): Likewise.
18695 * include/grub/mips/libgcc.h: Removed.
18696 * include/grub/sparc64/libgcc.h: Likewise.
18697
b7f3ac29
VS
186982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18701 disk_info_msg (conflicts with gettexting into languages with cases).
18702
2c7031b1
GS
187032010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18704
18705 Add grub-probe support for NetBSD.
18706
18707 * util/getroot.c (find_root_device): Convert block device to
18708 character device on NetBSD.
18709 * util/probe.c (probe): Require character device on NetBSD.
18710 * util/hostdisk.c: NetBSD specific headers.
18711 (configure_device_driver): new function to tune device driver
18712 parameters (currently only for NetBSD floppy driver).
18713 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18714 via disklabel ioctl).
18715 (open_device): call configure_device_driver on NetBSD.
18716 (convert_system_partition_to_system_disk): NetBSD specific code.
18717 (device_is_wholedisk): Likewise.
18718 (grub_util_biosdisk_get_grub_dev): Likewise.
18719 (make_device_name): Fixed a typo in bsd_part_str.
18720 * configure.ac: check for opendisk() and getrawpartition() on
18721 NetBSD and set LIBUTIL.
18722 * Makefile.in: add LIBUTIL to LIBS.
18723
f516290c
BC
187242010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18725
18726 Documentation fix.
18727
18728 * util/grub-script-check.c: Better help message.
18729
d8dcc0df
BC
187302010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18731
18732 Fix FreeBSD build.
18733
18734 * configure.ac: Flex version check.
18735 * conf/common.rmk: Add -Wno-error to sh.mod.
18736 * script/yylex.l: Remove all #pragma.
18737
6734334a
VS
187382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18741 prototype.
18742 Reported by: Seth Goldberg.
18743
daea6abd
VS
187442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18747 Rename "module" to "module2".
18748 Reported by: Seth Goldberg.
18749
f2fd9d2b
VS
187502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18751
18752 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18753 EXPORT_FUNC.
18754 Reported by: Seth Goldberg.
18755
be124579
VS
187562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * lib/posix_wrap/locale.h: Add missing file.
18759 Reported by: Seth Goldberg.
18760
ef5da797
VS
187612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 grub-emu module load support.
18764
18765 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18766 NO_DYNAMIC_MODULES switched to this.
18767 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18768 (CFLAGS): Likewise.
18769 * conf/any-emu.rmk: Generate symlist.
18770 (kernel_img_HEADERS): Add util/datetime.h.
18771 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18772 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18773 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18774 kern/$(target_cpu)/cache.S.
18775 * configure.ac (grub-emu-modules): New option.
18776 * genmk.rb: Handle multiple source lists.
18777 * include/grub/sdl.h: New file.
18778 * include/grub/libusb.h: Likewise.
18779 * util/grub-emu.c (main): Hanle (host) root.
18780 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18781 GRUB_ERR_UNKNOWN_DEVICE.
18782 * util/misc.c: Move mm functions to ...
18783 * util/mm.c: ... here. All users updated.
18784
47822096
VS
187852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18788 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18789 missing files.
18790 (maintainer-clean): Remove libgcrypt-grub.
18791
5d7e7445
VS
187922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18793
18794 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18795
25f4e252
EC
187962010-04-09 EFI Coder <eficoder@hotmail.com>
18797
18798 * normal/menu_text.c (print_message): Clean up the message and show
18799 the Fn information when on EFI
18800 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18801
027de555
VS
188022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18805 All users updated.
18806 * normal/crypto.c (read_crypto_list): Likewise.
18807 * normal/dyncmd.c (read_command_list): Likewise.
18808 * normal/term.c (read_terminal_list): Likewise.
18809 * normal/main.c (read_lists): Use explicit prefix.
18810 (read_lists_hook): Use read_lists.
18811 (grub_normal_execute): Likewise.
18812
47779711
VS
188132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18816 Reported by: Thomas Schmitt.
18817 Add -no-emul-boot to grub-mkisofs parameters.
18818
1118c32e
VS
188192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * font/font.c: Indented.
18822
7d652447
BC
188232010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18824
18825 Elif support to GRUB script (by Deepak Vankadaru).
18826
18827 * tests/grub_script_if.in: New testcase.
18828 * conf/tests.rmk: Rule for new testcase.
18829 * script/parser.y: Grammar rules for elif.
18830
34bb22df
BC
188312010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18832
18833 While and until loops support to GRUB script.
18834
18835 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18836 (grub_script_create_cmdwhile): New function prototype.
18837 (grub_script_execute_cmdwhile): New function prototype.
18838 * script/execute.c (grub_script_execute_cmdwhile): New function.
18839 * script/parser.y (command): New commands.
18840 (whilecmd): New grammar rule.
18841 (untilcmd): New grammar rule.
18842 * script/script.c (grub_script_create_cmdwhile): New function.
18843 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18844 function.
18845
18846 * tests/grub_script_while1.in: New testcase.
18847 * conf/tests.rmk: Rule for new testcase.
18848
e215d8e0
VS
188492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18850
18851 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18852 as *.jpg.
18853
d7c43ba1
MV
188542010-04-09 Mario Vazquez <mariovazq@gmail.com>
18855
18856 GRUB_BACKGROUND support.
18857
18858 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18859 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18860
d64795c0
VS
188612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18864 Idea by: Mario Vazquez
d64795c0
VS
18865
18866 * util/grub.d/00_header.in: Load pf2 and image modules.
18867
f267f83a
VS
188682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 grub-mkconfig multiple terminal support.
18871
18872 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18873 * util/grub.d/00_header.in: Likewise.
18874
b7841ceb
VS
188752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18876
18877 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18878 we use cd $(srcdir).
18879
df60998c
CW
188802010-04-08 Colin Watson <cjwatson@ubuntu.com>
18881
18882 * util/grub.d/10_linux.in: Only use the first word of
18883 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18884 spaces in GRUB_DISTRIBUTOR.
18885 * util/grub.d/10_kfreebsd.in: Likewise.
18886 * util/grub.d/10_hurd.in: Likewise.
18887
fa09c82e
BC
188882010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18889
14e18ae3 18890 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18891
18892 * tests/util/grub-shell.in: Remove -serial stdio option.
18893
daf892b3
BC
188942010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 POSIX header file wrappers.
18897
18898 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18899 equivalents.
18900 * lib/posix_wrap/ctype.h: Likewise.
18901 * lib/posix_wrap/errno.h: Likewise.
18902 * lib/posix_wrap/langinfo.h: Likewise.
18903 * lib/posix_wrap/limits.h: Likewise.
18904 * lib/posix_wrap/localcharset.h: Likewise.
18905 * lib/posix_wrap/stdint.h: Likewise.
18906 * lib/posix_wrap/stdio.h: Likewise.
18907 * lib/posix_wrap/stdlib.h: Likewise.
18908 * lib/posix_wrap/string.h: Likewise.
18909 * lib/posix_wrap/sys/types.h: Likewise.
18910 * lib/posix_wrap/unistd.h: Likewise.
18911 * lib/posix_wrap/wchar.h: Likewise.
18912 * lib/posix_wrap/wctype.h: Likewise.
18913 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18914 (grub_script.yy.h): Likewise.
18915 * script/yylex.l: Remove POSIX emulation #defines.
18916 * Makefile.in (POSIX_CFLAGS): New variable.
18917 (GNULIB_UTIL_CFLAGS): Likewise.
18918
18919 Regexp support.
18920
18921 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18922 (regexp_mod_SOURCES): New variable.
18923 (regexp_mod_CFLAGS): Likewise.
18924 (regexp_mod_LDFLAGS): Likewise.
18925 * commands/regexp.c: New file.
18926 * gnulib/regcomp.c: New file. Imported from gnulib.
18927 * gnulib/regex.c: Likewise.
18928 * gnulib/regex_internal.c: Likewise.
18929 * gnulib/regex_internal.h: Likewise.
18930 * gnulib/regexec.c: Likewise.
18931 * gnulib/regex.h: Likewise.
18932
974ac4f7
VS
189332010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18936 unsupported video mode types.
18937
2622c3ff
VS
189382010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18941
064cb524
VS
189422010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18945 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18946
a8c3b552
VS
189472010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 Remove unused grub_vga_get_font.
18950
18951 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18952 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18953
187bbe3d
GS
189542010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18955
18956 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18957 * include/grub/misc.h: Likewise.
18958
b9396631
GS
189592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18960
18961 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18962 for which failure is fatal.
18963
50479feb
GS
189642010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18965
18966 * util/grub-install.in: Use mkdir -p to create grub directory.
18967 * util/i386/efi/grub-install.in: Likewise.
18968 * util/ieee1275/grub-install.in: Likewise.
18969
b1654fdf
GS
189702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18971
18972 * Makefile.in (LEX): new variable.
18973
bd5a6415
GS
189742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18975
18976 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18977 `=' and added double quotes on operands of this equality test.
18978
3db3a82b
VS
189792010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18980
18981 * Makefile.in (uninstall): Remove a leftover debug echo.
18982 Reported by: Grégoire Sutre
18983
38023412
VS
189842010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 MIPS multiboot2 support.
18987
18988 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18989 (multiboot2_mod_SOURCES): New variable.
18990 (multiboot2_mod_CFLAGS): Likewise.
18991 (multiboot2_mod_LDFLAGS): Likewise.
18992 (multiboot2_mod_ASFLAGS): Likewise.
18993 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18994 definition.
18995 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18996 (MULTIBOOT_MBI_REGISTER): Likewise.
18997 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18998 (MULTIBOOT_ELF32_MACHINE): Likewise.
18999 (MULTIBOOT_ELF64_MACHINE): Likewise.
19000 * include/grub/mips/multiboot.h: New file.
19001 * include/grub/video.h (grub_video_driver_id): New type
19002 GRUB_VIDEO_DRIVER_SM712.
19003 (grub_video_get_info_and_fini): Export.
19004 (grub_video_get_palette): Likewise.
19005 (grub_video_get_driver_id): Likewise.
19006 * include/multiboot2.h: Resynced with spec.
19007 * loader/i386/multiboot.c: Moved from here ...
19008 * loader/multiboot.c: ... here. All users updated.
19009 (grub_multiboot_boot): Use platform-specific macros.
19010 * loader/i386/multiboot_elfxx.c: Moved from here ...
19011 * loader/multiboot_elfxx.c: ... here. All users updated.
19012 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19013 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19014 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19015
47674667
VS
190162010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19017
19018 Import gnulib argp module.
19019
19020 * gnulib/argp-ba.c: New file.
19021 * gnulib/argp-eexst.c: Likewise.
19022 * gnulib/argp-fmtstream.c: Likewise.
19023 * gnulib/argp-fmtstream.h: Likewise.
19024 * gnulib/argp-fs-xinl.c: Likewise.
19025 * gnulib/argp-help.c: Likewise.
19026 * gnulib/argp-namefrob.h: Likewise.
19027 * gnulib/argp-parse.c: Likewise.
19028 * gnulib/argp-pin.c: Likewise.
19029 * gnulib/argp-pv.c: Likewise.
19030 * gnulib/argp-pvh.c: Likewise.
19031 * gnulib/argp-version-etc.c: Likewise.
19032 * gnulib/argp-version-etc.h: Likewise.
19033 * gnulib/argp-xinl.c: Likewise.
19034 * gnulib/argp.h: Likewise.
19035
495442ed
VS
190362010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * kern/device.c (grub_device_iterate): Clear errors after failed
19039 opening device.
19040
f9fd65df
VS
190412010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19044 returned by firmware.
19045
af09641e
VS
190462010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19049 compilation on coreboot and qemu
19050
016883a5
VS
190512010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 * include/multiboot2.h: Resync with spec.
19054
f97e1f7d
VS
190552010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 Multiboot2 tag support
19058
19059 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19060 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19061 Remove loader/multiboot_loader.c.
19062 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19063 (grub_multiboot2_real_boot): Likewise.
19064 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19065 (grub_get_multiboot_mmap_count): New proto.
19066 (grub_fill_multiboot_mmap): Likewise.
19067 (grub_multiboot_set_video_mode): Likewise.
19068 (grub_multiboot_set_console): Likewise.
19069 (grub_multiboot_load): Likewise.
19070 (grub_multiboot_load_elf): Likewise.
19071 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19072 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19073 * include/multiboot.h: Resynced with specification.
19074 * include/multiboot2.h: Resynced with specification.
19075 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19076 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19077 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19078 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19079 users updated.
19080 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19081 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19082 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19083 Removed.
19084 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19085 Moved from here...
19086 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19087 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19088 Moved from here...
19089 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19090 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19091 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19092 All users updated.
19093 * loader/i386/multiboot_mbi2.c: New file.
19094
3506b90b
VS
190952010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19096
19097 Resync with gnulib.
19098
19099 * Makefile.in (GNULIB_CFLAGS): New variable.
19100 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19101 (grub_script_check_CFLAGS): New variable.
19102 * gnulib/alloca.h: Resync with gnulib.
19103 * gnulib/error.c: Likewise.
19104 * gnulib/error.h: Likewise.
19105 * gnulib/fnmatch.c: Likewise.
19106 * gnulib/fnmatch_loop.c: Likewise.
19107 * gnulib/getdelim.c: Likewise.
19108 * gnulib/getline.c: Likewise.
19109 * gnulib/getopt.c: Likewise.
19110 * gnulib/getopt1.c: Likewise.
19111 * gnulib/getopt_int.h: Likewise.
19112 * gnulib/gettext.h: Likewise.
19113 * gnulib/progname.c: Likewise.
19114 * gnulib/progname.h: Likewise.
19115
394a3120
GS
191162010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19117
19118 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19119 which is the case with --disabled-nls.
19120
19121 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19122 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19123 * util/misc.c: Likewise.
19124 * util/mkisofs/mkisofs.c: Likewise.
19125 * util/mkisofs/mkisofs.h: Likewise.
19126
969d1c78
VS
191272010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 Simplify Apple CC support.
19130
19131 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19132 Add 0 byte at the end not to have a symbol with empty target.
19133 * mmap/i386/pc/mmap_helper.S: Likewise.
19134 * genmk.rb: Ignore errors 2030 and 2050.
19135 * kern/i386/pc/startup.S: Use LOCAL when possible.
19136
8d2977bb
BC
191372010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19138
19139 Testcase and the fix for final semicolon on cmdline.
19140
19141 * tests/grub_script_final_semicolon.in: New testcase.
19142 * conf/tests.rmk: Rules for the new testcase.
19143 * script/parser.y: Grammar fix.
19144
a7bd6915
BC
191452010-03-26 BVK Chaitanya <bvk@localhost>
19146
19147 Blank lines testcase for GRUB script.
19148
19149 * tests/grub_script_blanklines.in: New testcase.
19150 * conf/tests.rmk: Rules for the new testcase.
19151
e4ff6628
VS
191522010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 Don't use __FILE__.
19155
19156 * genmk.rb: Add -DGRUB_FILE to all C targets.
19157 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19158 * include/grub/list.h: Likewise.
19159 * include/grub/misc.h: Likewise.
19160 * include/grub/mm.h: Likewise.
19161 * include/grub/test.h: Likewise.
19162 * kern/mm.c: Likewise.
19163 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19164
6a5cf6b6
VS
191652010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 Sunpc partitions support.
19168
19169 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19170 (grub_fstest_SOURCES): Likewise.
19171 (pkglib_MODULES): Add part_sunpc.mod.
19172 (part_sunpc_mod_SOURCES): New variable.
19173 (part_sunpc_mod_CFLAGS): Likewise.
19174 (part_sunpc_mod_LDFLAGS): Likewise.
19175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19176 * partmap/sunpc.c: New file.
19177
746d9045
BC
191782010-03-26 BVK Chaitanya <bvk@localhost>
19179
19180 For loop support to GRUB script.
19181
19182 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19183 (grub_script_create_cmdfor): New function prototype.
19184 (grub_script_execute_cmdfor): New function prototype.
19185 * script/execute.c (grub_script_execute_cmdfor): New function.
19186 * script/parser.y (command): New for command.
19187 (forcmd): New grammar rule.
19188 * script/script.c (grub_script_create_cmdfor): New function.
19189 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19190 function.
19191 * tests/grub_script_for1.in: New testcase.
19192 * conf/tests.rmk: Rules for new testcase.
19193
18486b18
VS
191942010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 Nested partitions
19197
19198 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19199 'partition' is NULL, grub_partition_get_start already does that.
19200 * commands/loadenv.c (check_blocklists): Likewise.
19201 (write_blocklists): Likewise.
19202 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19203 (grub_fstest_SOURCES): Likewise.
19204 (pkglib_MODULES): Add part_bsd.mod.
19205 (part_bsd_mod_SOURCES): New variable.
19206 (part_bsd_mod_CFLAGS): Likewise.
19207 (part_bsd_mod_LDFLAGS): Likewise.
19208 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19209 (grub_emu_SOURCES): Likewise.
19210 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19211 * include/grub/bsdlabel.h: New file.
19212 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19213 'get_name'.
19214 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19215 (grub_partition_map_list): New variable.
19216 (grub_partition_map_register): Inline.
19217 (grub_partition_map_unregister): Likewise.
19218 (FOR_PARTITION_MAPS): New macro.
19219 (grub_partition_map_iterate): Removed.
19220 (grub_partition_get_start): Handle nested partitions.
19221 * include/grub/msdos_partition.h: Remove bsd-related entries.
19222 (grub_pc_partition): Remove.
19223 * kern/disk.c (grub_disk_close): Free partition data.
19224 (grub_disk_adjust_range): Handle nested partitions.
19225 * kern/partition.c (grub_partition_map_probe): New function.
19226 (grub_partition_probe): Parse name to number, handle subpartitions.
19227 (get_partmap): New function.
19228 (grub_partition_iterate): Handle subpartitions.
19229 (grub_partition_get_name): Likewise.
19230 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19231 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19232 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19233 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19234 Set 'number'.
19235 (acorn_partition_map_probe): Remove.
19236 (acorn_partition_map_get_name): Likewise.
19237 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19238 Set 'number'.
19239 Set 'index' to 0 since there can be only one partition entry per sector.
19240 (amiga_partition_map_probe): Remove.
19241 (amiga_partition_map_get_name): Likewise.
19242 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19243 Set 'number'.
19244 Set 'offset' and 'index' to real positions of partitions.
19245 (apple_partition_map_probe): Remove.
19246 (apple_partition_map_get_name): Likewise.
19247 * partmap/bsdlabel.c: New file.
19248 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19249 Set 'number'.
19250 Allocate 'data' so it can be correctly freed.
19251 Set 'index' to offset inside sector.
19252 (gpt_partition_map_probe): Remove.
19253 (gpt_partition_map_get_name): Likewise.
19254 * partmap/msdos.c (grub_partition_parse): Remove.
19255 (pc_partition_map_iterate): Don't force raw access.
19256 Set 'number'.
19257 Make 'ext_offset' a local variable.
19258 (pc_partition_map_probe): Remove.
19259 (pc_partition_map_get_name): Remove.
19260 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19261 Set 'number'.
19262 (sun_partition_map_probe): Remove.
19263 (sun_partition_map_get_name): Likewise.
19264 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19265 (grub_pcpart_type): Likewise.
19266 * util/hostdisk.c (open_device): Handle new numbering scheme.
19267 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19268 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19269 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19270 * util/grub-install.in: Insert all subpartition modules.
19271 * util/ieee1275/grub-install.in: Likewise.
19272
a3940f88
AG
192732010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19274
19275 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19276 grammar.
19277
21b99926 192782010-03-24 Colin Watson <cjwatson@ubuntu.com>
19279
19280 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19281
bed1d352
CW
192822010-03-21 Colin Watson <cjwatson@ubuntu.com>
19283
19284 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19285 match where 'make install' puts them.
19286 * util/i386/efi/grub-install.in: Likewise.
19287
c9f58427
CW
192882010-03-19 Colin Watson <cjwatson@ubuntu.com>
19289
19290 * .bzrignore: Add gentrigtables, grub-script-check,
19291 grub_script_check_init.c, grub_script_check_init.h, and
19292 trigtables.c.
19293
f84afb27
VS
192942010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 * kern/parser.c: Indented.
19297
ed0e3d30
VS
192982010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19301
0ea81d98
VS
193022010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19305 alpha_mask_size == 0 case.
19306
0cdc2a09
BC
193072010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19308
19309 GRUB shell lexer and parser improvements.
19310
19311 * conf/any-emu.rmk: Build rule updates.
19312 * conf/common.rmk: Likewise.
19313 * conf/i386-coreboot.rmk: Likewise.
19314 * conf/i386-efi.rmk: Likewise.
19315 * conf/i386-ieee1275.rmk: Likewise.
19316 * conf/i386-pc.rmk: Likewise.
19317 * conf/powerpc-ieee1275.rmk: Likewise.
19318 * conf/x86_64-efi.rmk: Likewise.
19319
19320 * configure.ac: Configure check for flex.
19321
19322 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19323 types.
19324 (grub_lexer_param): Struct member updates.
19325 (grub_parser_param): Likewise.
19326 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19327 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19328 (grub_script_lexer_init): Prototype update.
19329 (grub_script_lexer_record_start): Likewise.
19330 (grub_script_lexer_record_stop): Likewise.
19331 (grub_script_lexer_yywrap): New function prototype.
19332 (grub_script_lexer_fini): Likewise.
19333 (grub_script_execute_argument_to_string): Removed by...
19334 (grub_script_execute_argument_to_argv): ...better version.
19335
19336 * script/execute.c (ROUND_UPTO): New macro.
19337 (grub_script_execute_cmdline): Out of memory fixes.
19338 (grub_script_execute_menuentry): Likewise.
19339 (grub_script_execute_argument_to_string): Removed. Update all
19340 users by...
19341 (grub_script_execute_argument_to_argv): ...better version.
19342 * script/function.c (grub_script_function_create): Use
19343 grub_script_execute_argument_to_argv instead of
19344 grub_script_execute_argument_to_string.
19345
19346 * script/lexer.c (check_varstate): Removed.
19347 (check_textstate): Removed.
19348 (grub_script_lexer_record_start): Likewise.
19349 (grub_script_lexer_record_stop): Likewise.
19350 (recordchar): Replaced with...
19351 (grub_script_lexer_record): ...new function.
19352 (nextchar): Removed.
19353 (grub_script_lexer_init): Rewritten.
19354 (grub_script_yylex): Rewritten.
19355 (append_newline): New function.
19356 (grub_script_lexer_yywrap): New function.
19357 (grub_script_lexer_fini): New function.
19358 (grub_script_yyerror): Sets error flag.
19359
19360 * script/yylex.l: New file.
19361 (grub_lexer_yyfree): Wrapper for flex yyffre.
19362 (grub_lexer_yyalloc): Likewise.
19363 (grub_lexer_yyrealloc): Likewise.
19364 * script/parser.y: Refactored.
19365
19366 * script/script.c (grub_script_arg_add): Out of memory fixes.
19367 (grub_script_add_arglist): Likewise.
19368 (grub_script_create_cmdline): Likewise.
19369 (grub_script_create_cmdmenu): Likewise.
19370 (grub_script_add_cmd): Likewise.
19371 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19372 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19373 unnecessary code.
19374
19375 * tests/grub_script_echo1.in: New testcase.
19376 * tests/grub_script_vars1.in: New testcase.
19377 * tests/grub_script_echo_keywords.in: New testcase.
19378
1d63a066
VS
193792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19380
19381 Remove some redundancy in build system.
19382
19383 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19384 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19385 (TARGET_LDFLAGS): Add -nostdlib.
19386 (TARGET_IMG_LDFLAGS): Likewise.
19387 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19388 anything since mmap isn't available.
19389 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19390 Add util/time.c.
19391 (pkglib_MODULES): Remove reboot.mod.
19392 (reboot_mod_SOURCES): Removed.
19393 (reboot_mod_CFLAGS): Likewise.
19394 (reboot_mod_LDFLAGS): Likewise.
19395 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19396 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19397 (DEFSYMFILES): Add kernel_syms.lst.
19398 (kernel_img_HEADERS): Add common headers.
19399 (symlist.c): New target.
19400 (kernel_syms.lst): Likewise.
19401 (pkglib_MODULES): Add memdisk.mod.
19402 (memdisk_mod_SOURCES): New variable.
19403 (memdisk_mod_CFLAGS): Likewise.
19404 (memdisk_mod_LDFLAGS): Likewise.
19405 (pkglib_MODULES): Add reboot.mod.
19406 (reboot_mod_SOURCES): New variable.
19407 (reboot_mod_CFLAGS): Likewise.
19408 (reboot_mod_LDFLAGS): Likewise.
19409 (pkglib_MODULES): Add date.mod.
19410 (date_mod_SOURCES): New variable.
19411 (date_mod_CFLAGS): Likewise.
19412 (date_mod_LDFLAGS): Likewise.
19413 (pkglib_MODULES): Add datehook.mod.
19414 (datehook_mod_SOURCES): New variable.
19415 (datehook_mod_CFLAGS): Likewise.
19416 (datehook_mod_LDFLAGS): Likewise.
19417 (pkglib_MODULES): Add lsmmap.mod.
19418 (lsmmap_mod_SOURCES): New variable.
19419 (lsmmap_mod_CFLAGS): Likewise.
19420 (lsmmap_mod_LDFLAGS): Likewise.
19421 (pkglib_MODULES): Add boot.mod.
19422 (boot_mod_SOURCES): New variable.
19423 (boot_mod_CFLAGS): Likewise.
19424 (boot_mod_LDFLAGS): Likewise.
19425 * conf/i386-coreboot.rmk: Removed redundant parts.
19426 * conf/i386-ieee1275.rmk: Likewise.
19427 * conf/i386-pc.rmk: Likewise.
19428 * conf/mips-yeeloong.rmk: Likewise.
19429 * conf/mips.rmk: Likewise.
19430 * conf/powerpc-ieee1275.rmk: Likewise.
19431 * conf/sparc64-ieee1275.rmk: Likewise.
19432 * conf/x86_64-efi.rmk: Likewise.
19433 * conf/i386-coreboot.rmk: Moved qemu parts ..
19434 * conf/i386-qemu.rmk: ... here
19435 * conf/i386-efi.rmk: Moved common parts to...
19436 * conf/x86-efi.rmk: ... here.
19437 * conf/i386.rmk: Added modules common to all x86 variants.
19438 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19439 * disk/memdisk.c: Remove grub/machine/kernel.h.
19440 * gensymlist.sh.in: Include symbol.h.
19441 * hook/datehook.c: Correct module name.
19442 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19443 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19444 * include/grub/i386/efi/serial.h: New file.
19445 * include/grub/x86_64/efi/serial.h: Likewise.
19446 * util/time.c: Likewise.
19447 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19448
463ac55f
CK
194492010-03-14 Colin King <colin.king@ubuntu.com>
194502010-03-14 Colin Watson <cjwatson@ubuntu.com>
19451
19452 Shrink the pre-partition-table part of boot.img by eight bytes.
19453
19454 * boot/i386/pc/boot.S (ERR): New macro.
19455 (chs_mode): Use ERR.
19456 (geometry_error): Likewise.
19457 (hd_probe_error): Remove. This is only used once, so we wrwite
19458 it inline instead.
19459 (read_error): Instead of printing read_error_string, just set up
19460 %si and fall through to ...
19461 (error_message): ... this new function, also used by ERR.
19462
08e46ede
CW
194632010-03-14 Colin Watson <cjwatson@ubuntu.com>
19464
19465 Speed up consecutive hostdisk operations on the same device.
19466
19467 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19468 (grub_util_biosdisk_open): Initialise disk->data.
19469 (struct linux_partition_cache): New structure.
19470 (linux_find_partition): Cache partition start positions; these are
19471 expensive to compute on every read and write.
19472 (open_device): Cache open file descriptor in disk->data, so that we
19473 don't have to reopen it and flush the buffer cache for consecutive
19474 operations on the same device.
19475 (grub_util_biosdisk_close): New function.
19476 (grub_util_biosdisk_dev): Set `close' member.
19477
19478 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19479 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19480 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19481 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19482 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19483
4a6d2d06
VS
194842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 Compile parts of grub-emu as modules.
19487
19488 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19489 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19490 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19491 (all-local): Add $(GRUB_EMU).
19492 (install-local): Install $(GRUB_EMU).
19493 (uninstall): Uninstall $(GRUB_EMU).
19494 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19495 * kern/dl.c: Likewise.
19496 * commands/sleep.c: Not include machine/time.h.
19497 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19498 (COMMON_CFLAGS): Likewise.
19499 (sbin_UTILITIES): Remove grub-emu.
19500 (grub_emu_SOURCES): Removed.
19501 (kernel_img_RELOCATABLE): New variable.
19502 (pkglib_PROGRAMS): Add kernel.img.
19503 (kernel_img_SOURCES): New variable
19504 (kernel_img_CFLAGS): Likewise.
19505 (kernel_img_LDFLAGS): Likewise.
19506 (TARGET_NO_STRIP): Likewise.
19507 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19508 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19509 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19510 (grub-emu): New target.
19511 (GRUB_EMU): New variable.
19512 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19513 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19514 * loader/xnu.c: Likewise.
19515 * include/grub/pci.h: Likewise.
19516 * genemuinit.sh: New file.
19517 * genemuinitheader.sh: Likewise.
19518 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19519 Support TARGET_NO_DYNAMIC_MODULES.
19520 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19521 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19522 * disk/loopback.c: Likewise.
19523 * font/font_cmd.c: Likewise.
19524 * partmap/acorn.c: Likewise.
19525 * partmap/amiga.c: Likewise.
19526 * partmap/apple.c: Likewise.
19527 * partmap/gpt.c: Likewise.
19528 * partmap/msdos.c: Likewise.
19529 * partmap/sun.c: Likewise.
19530 * parttool/msdospart.c: Likewise.
19531 * term/gfxterm.c: Likewise.
19532 * video/bitmap.c: Likewise.
19533 * video/readers/jpeg.c: Likewise.
19534 * video/readers/png.c: Likewise.
19535 * video/readers/tga.c: Likewise.
19536 * video/video.c: Likewise.
19537 * util/grub-emu.c (read_command_list): Removed.
19538 (main): Don't call util_init_nls.
19539 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19540 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19541
91fdd2ed
VS
195422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19545 date.mod, datehook.mod.
19546 (datetime_mod_SOURCES): New variable.
19547 (datetime_mod_CFLAGS): Likewise.
19548 (datetime_mod_LDFLAGS): Likewise.
19549 (date_mod_SOURCES): Likewise.
19550 (date_mod_CFLAGS): Likewise.
19551 (date_mod_LDFLAGS): Likewise.
19552 (datehook_mod_SOURCES): Likewise.
19553 (datehook_mod_CFLAGS): Likewise.
19554 (datehook_mod_LDFLAGS): Likewise.
19555 * conf/sparc64-ieee1275.rmk: Likewise.
19556 * lib/ieee1275/datetime.c: New file.
19557
873ccae6
VS
195582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19561 (ieee1275_fb_mod_SOURCES): New variable.
19562 (ieee1275_fb_mod_CFLAGS): Likewise.
19563 (ieee1275_fb_mod_LDFLAGS): Likewise.
19564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19565 New proto.
19566 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19567 (HEAP_MAX_ADDR): Likewise.
19568 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19569 type.
19570 Correct stop condition.
19571 (grub_ieee1275_devices_iterate): New function.
19572 * video/ieee1275.c: New file.
19573
601c97c0
VS
195742010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19575
19576 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19577
19578 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19579 as scratch.
19580 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19581 SCRATCH_PAD_DISKBOOT as scratch.
19582 (bootit): Pass Openfirmware pointer in %o4.
19583 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19584 of 0x200000.
19585 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19586 with util/grub-mkrawimage.c.
19587 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19588 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19589 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19590 (grub_aout_load) [GRUB_UTIL]: Likewise.
19591 * include/grub/kernel.h (grub_modules_get_end): New proto.
19592 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19593 (SCRATCH_PAD_BOOT): New definition.
19594 (SCRATCH_PAD_DISKBOOT): Likewise.
19595 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19596 * include/grub/sparc64/ieee1275/ieee1275.h
19597 (grub_ieee1275_original_stack): New variable
19598 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19599 New definition
19600 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19601 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19602 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19603 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19604 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19605 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19606 (grub_platform_image_format_t): New type.
19607 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19608 * kern/main.c (grub_modules_get_end)
19609 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19610 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19611 (codestart): Switch stacks.
19612 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19613 variable.
19614 (grub_heap_init): Use grub_modules_get_end.
19615 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19616 stack.
19617 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19618 (main): Likewise.
19619 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19620
d68b491e
TG
196212010-03-14 Thorsten Glaser <tg@mirbsd.org>
19622
19623 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19624
4e02ed50
MK
196252010-03-08 Matt Kraai <kraai@ftbfs.org>
19626
19627 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19628 bug #559005).
19629
1f15fc1e
VS
196302010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19631
19632 * genmoddep.awk: Output all missing symbols and not only first.
19633
fce5d8ff
VS
196342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * NEWS: Put the date of 1.98 release.
19637
d1e8a02f
VS
196382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19641 ft2build.h.
19642
696fd607
VS
196432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19644
19645 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19646 completition in the middle of string.
19647
33e2e6f3
VS
196482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19649
19650 * util/grub-mkrescue.in: Use mktemp with explicit template.
19651
b1f6d291
VS
196522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19655
2ac227c7
VS
196562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19657
19658 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19659 right pointer.
19660
8f9a632b
VS
196612010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 Fix FreeBSD compilation.
19664
19665 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19666 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19667
60b03859
VS
196682010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19669
19670 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19671
48a5a769
VS
196722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19673
19674 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19675
3ab4bd77
VS
196762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19679
d116e0d8
RM
196802010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19681
19682 Support relative image path in theme file.
19683
19684 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19685 (image_set_property): Handle theme_dir and relative path.
19686
c7ef54aa
VS
196872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19688
19689 * configure.ac: Alias amd64 to x86_64.
19690
fcee14ed
VS
196912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 * NEWS: mention multiboot on EFI.
19694
d0780363
VS
196952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19696
19697 * kern/main.c (grub_load_modules): Handle errors from init functions of
19698 embeded modules.
19699
41168ea4
VS
197002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19701
19702 * normal/autofs.c (autoload_fs_module): Handle errors.
19703
b54d93ac
VS
197042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 Disable linux.mod on qemu-mips since it's not functional and leads
19707 to compilation failure.
19708
19709 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19710 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19711 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19712 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19713 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19714 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19715 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19716 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19717 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19718 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19719 Reported by: BVK Chaitanya
19720
fc8345da
JU
197212010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19722
19723 * INSTALL: Add gettext as a dependency and add qemu to a new section
19724 "Prerequisites for make-check".
19725
4760f979
CF
197262010-03-04 Christian Franke <franke@computer.org>
19727
19728 * util/grub-pe2elf.c: Add missing include "progname.h".
19729
f209b5b2
VS
197302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 * normal/crypto.c (read_crypto_list): Fix a typo.
19733 Reported by: Seth Goldberg.
19734
b4b7be98
VS
197352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19738 Reported by: Seth Goldberg.
b4b7be98 19739
c0ee0385
VS
197402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19741
19742 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19743 ascii.bitmaps.
19744
a8efbf64
VS
197452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19748 Reported by: Seth Goldberg.
a8efbf64 19749
08dcd913
VS
197502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19751
19752 * util/i386/efi/grub-install.in: Copy gettext files.
19753
c4d0b332
VS
197542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19755
19756 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19757
c6f2fe52
VS
197582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19759
19760 Wait for user entry basing on presence of output rather than on errors.
19761
19762 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19763 (grub_install_newline_hook): Likewise.
19764 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19765 * normal/menu.c (show_menu): Check line_counter to determine presence
19766 of output.
19767 * normal/term.c (grub_normal_line_counter): New variable.
19768 (grub_normal_get_line_counter): New function.
19769 (grub_install_newline_hook): Likewise.
19770
5382b1e4
VS
197712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19774
5519963b
VS
197752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 * configure.ac: Update version to 1.98.
19778
72b28631
VS
197792010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * util/grub.d/10_linux.in (linux_entry): Don't default to
19782 gfxpayload=keep if Linux doesn't support video handover.
19783
c140a180
VS
197842010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 Don't compile video modules on yeeloong since video subsystem is part
19787 of kernel.
19788
19789 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19790 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19791 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19792 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19793 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19794 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19795 * include/grub/bitmap_scale.h: Likewise.
19796 * include/grub/bufio.h: Likewise.
19797 * include/grub/font.h: Likewise.
19798 * include/grub/gfxterm.h: Likewise.
19799 * include/grub/video.h: Likewise.
19800 * include/grub/vbe.h: Don't include video_fb.h.
19801 * video/i386/pc/vbe.c: Include video_fb.h.
19802 * commands/i386/pc/vbetest.c: Include video.h.
19803
a0ca21c2
CW
198042010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19805
19806 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19807 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19808 default entry if GRUB_SAVEDEFAULT=true. This allows using
19809 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19810 saving a new default on every boot.
19811
4a8a763c
VS
198122010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19815 * normal/term.c (read_terminal_list): Likewise.
19816 * normal/main.c (grub_normal_init_page): Likewise.
19817 (grub_normal_read_line_real): Likewise.
19818
607ffde2
VS
198192010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19820
19821 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19822 memory leak.
19823 Reported by: Seth Goldberg.
19824
2b8fa975
CW
198252010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19826
19827 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19828 duplicate declaration of `start'.
19829
618307dd
VS
198302010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19831
19832 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19833 filename.
19834 Reported by: Georgy Buranov
19835
7dd05b96 198362010-02-20 Carles Pina i Estany <carles@pina.cat>
19837
19838 * util/grub-mkrawimage.c (usage): Change string formatting to
19839 improve gettext.
19840
d1484a42
MRA
198412010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19842
19843 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19844 backspace keys.
19845
42b1d186
VS
198462010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19849 Reported by: Michael Suchanek.
19850
198512010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19852
19853 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19854 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19855
d9f31a41
VS
198562010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 Remove any reference to non-free fonts.
19859
19860 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19861 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19862 uses non-free components.
19863 * font/font.c (grub_font_get_name): Remove example name.
19864 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19865 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19866 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19867 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19868
2793c71e
GB
198692010-02-16 Georgy Buranov <gburanov@gmail.com>
19870
19871 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19872
402e3779
VS
198732010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19876 Double divisor.
19877 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19878 features.
19879 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19880
0dd1e0dd
VS
198812010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19882
19883 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19884
6fa7cfce
ST
198852010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19886
19887 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19888 * docs/grub.texi (Command-line and menu entry commands): Document play
19889 command.
19890
37c8483b
ST
198912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19892
19893 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19894 parse arguments as inline tempo and notes. Move code for playing notes
19895 to...
19896 (play): ... new function.
19897
14da0fb7
ST
198982010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19899
19900 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19901 grub_uint16_t instead of short.
19902 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19903 disk from little endian to cpu endianness.
19904
04459e70
ST
199052010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19906
19907 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19908 GRUB_TICKS_PER_SECOND instead of 120.
19909
a0876943
VS
199102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19913 escape sequence after \e.
19914
e29f95dc
VS
199152010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19918 non-ASCII characters.
19919
d27859b2
VS
199202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19923 set root in single quotes to prevent \, from being unescaped.
19924
bc028f2f
VS
199252010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 Prevent unknown commands from stopping menuentry execution.
19928
19929 * script/execute.c (grub_script_execute_cmdline): Print error after
19930 unknown command.
19931
095f5f82
VS
199322010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19933
19934 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19935 Reported by: Pavel Pisa.
19936
8c717950
VS
199372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19940
904935c3
VS
199412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19942
19943 Merge grub_ieee1275_map_physical into grub_map and rename to
19944 grub_ieee1275_map
19945
19946 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19947 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19948 Remove.
19949 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19950 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19951 necessary.
19952 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19953
5b59a4e3
VS
199542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19957 opening and not after.
19958
69e137e8
VS
199592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19962 constants.
19963
2c0fcc36
VS
199642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19965
19966 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19967 (alloc_phys): Use ALIGN_UP instead of align_addr.
19968
8c6052ce
VS
199692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19972
17cec782
VS
199732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19976
e0128bbd
VS
199772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19978
19979 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19980 verbose dprintf.
19981
ca62070b
VS
199822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 Fix over-4GiB seek on sparc64.
19985
19986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19987 Replace pos_i and pos_lo with pos. All users updated.
19988 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19989 New constant.
19990 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19991 Likewise.
19992 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19993 and pos_lo.
19994
bdca2607
VS
199952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * util/grub-mkrawimage.c (main): Call set_program_name.
19998
da278c4d
VS
199992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 Properly align 64-bit targets.
20002
20003 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20004 (generate_image): Use ALIGN_ADDR.
20005
b274d734
VS
200062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 Properly create cross-endian images.
20009
20010 * include/grub/types.h (grub_host_to_target_addr): New macro
20011 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20012
82da2062
VS
200132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20016
7cae4377
VS
200172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20018
20019 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20020
20021 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20022 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20023 (grub_linux_boot): Divide by 64K when on VESA.
20024
65a533e7
VS
200252010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 Support GRUB_GFXPAYLOAD_LINUX.
20028
20029 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20030 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20031
dd01d397
VS
200322010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20035 to show messages instead of discarding them.
20036 Process errors after executing command and not before. Keep old method
20037 too as precaution.
20038
660960d6
VS
200392010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * configure.ac: Check for ft2build.h.
20042
62509f04
VS
200432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20046
473df63d
VS
200472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 * genkernsyms.sh.in: Use TARGET_CC.
20050
c98d2a13
CW
200512010-02-07 Colin Watson <cjwatson@ubuntu.com>
20052
20053 * NEWS: Update.
20054
6e14234c
VS
200552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20058 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20059 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20060
b255e9cf
YB
200612010-02-07 Yves Blusseau <blusseau@zetam.org>
20062
6e14234c 20063 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20064
98e6959d
VS
200652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 Fix warnings in grub-emu when compiling with maximum warning options.
20068
20069 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20070 (grub_arch_modules_addr): Return 0 and not NULL.
20071 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20072 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20073 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20074 of disk to dsk to avoid shadowing.
74e4934e
VS
20075 (find_free_slot): Fix prototype.
20076 * util/getroot.c (grub_util_is_dmraid): Make static.
20077 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20078 Add missing prototype.
20079 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20080
74e31b5c
VS
200812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20084 appropriately.
20085
6b2ad14b
VS
200862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20089 code out.
20090
8f891adc
VS
200912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20094 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20095 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20096 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20097 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20098 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20099
74b45184
VS
201002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 * include/grub/err.h (grub_err_printf): Don't export.
20103
a4bced77
VS
201042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20105
20106 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20107
007d0695
VS
201082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20109
20110 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20111 * kern/misc.c (grub_gettext_dummy): Make static.
20112
b6c0d9c2
VS
201132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20116 by non-valid ones.
20117 * kern/term.c (grub_putchar): Likewise.
20118
f51a90d0
VS
201192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20120
20121 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20122 buggy hook call and memory leak.
20123
6846cec5
VS
201242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20125
20126 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20127
468d69fe
VS
201282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20131
51906b8c
VS
201322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20135 modevar.
20136 Return grub_errno on allocation error.
20137
09706ce5
VS
201382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20139
20140 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20141
911df80c
YB
201422010-02-06 Yves Blusseau <blusseau@zetam.org>
20143
20144 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20145 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20146
3746a6bc
VS
201472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20150 non-pxe disk.
20151 (grub_pxefs_open): Likewise.
20152
09706ce5
VS
201532010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20154
20155 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20156 * util/grub.d/10_kfreebsd.in: Likewise.
20157 * util/grub.d/10_linux.in: Likewise.
20158
7cc192d9
VS
201592010-02-06 Colin D Bennett <colin@gibibit.com>
20160
20161 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20162 (gfxmenu_mod_SOURCES): New variable.
20163 (gfxmenu_mod_CFLAGS): Likewise.
20164 (gfxmenu_mod_LDFLAGS): Likewise.
20165 * include/grub/term.h (grub_term_set_current_output): Declare
20166 argument as const.
20167 * docs/gfxmenu-theme-example.txt: New file.
20168 * gfxmenu/gfxmenu.c: Likewise.
20169 * gfxmenu/gui_box.c: Likewise.
20170 * gfxmenu/gui_canvas.c: Likewise.
20171 * gfxmenu/gui_circular_progress.c: Likewise.
20172 * gfxmenu/gui_image.c: Likewise.
20173 * gfxmenu/gui_label.c: Likewise.
20174 * gfxmenu/gui_list.c: Likewise.
20175 * gfxmenu/gui_progress_bar.c: Likewise.
20176 * gfxmenu/gui_string_util.c: Likewise.
20177 * gfxmenu/gui_util.c: Likewise.
20178 * gfxmenu/icon_manager.c: Likewise.
20179 * gfxmenu/model.c: Likewise.
20180 * gfxmenu/named_colors.c: Likewise.
20181 * gfxmenu/theme_loader.c: Likewise.
20182 * gfxmenu/view.c: Likewise.
20183 * gfxmenu/widget-box.c: Likewise.
20184 * include/grub/gfxmenu_model.h: Likewise.
20185 * include/grub/gfxmenu_view.h: Likewise.
20186 * include/grub/gfxwidgets.h: Likewise.
20187 * include/grub/gui.h: Likewise.
20188 * include/grub/gui_string_util.h: Likewise.
20189 * include/grub/icon_manager.h: Likewise.
20190
201912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 Agglomerate scrolling in gfxterm.
20194
20195 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20196 (grub_virtual_screen_setup): Initialise 'total_screen'.
20197 (write_char): Split to ...
20198 (paint_char): ... this ...
20199 (write_char): ... and this.
20200 (paint_char): Handle delayed scrolling.
20201 (draw_cursor): Likewise.
20202 (scroll_up): Split to ...
20203 (real_scroll): ... this ...
20204 (scroll_up): ... and this.
20205 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20206 characters.
20207 (grub_gfxterm_refresh): Call real_scroll.
20208
202092010-02-06 Colin D Bennett <colin@gibibit.com>
20210
20211 * include/grub/misc.h (grub_iscntrl): New inline function.
20212 (grub_isalnum): Likewise.
20213 (grub_strtol): Likewise.
20214
202152010-02-06 Colin D Bennett <colin@gibibit.com>
20216
20217 * normal/menu_text.c (get_entry_number): Move from here ...
20218 * normal/menu.c (get_entry_number): ... moved here.
20219 * include/grub/menu.h (grub_menu_get_default_entry_index):
20220 New prototype.
20221 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20222 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20223 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20224 (grub_menu_viewer_should_return): Likewise.
20225 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20226 * normal/menu_text.c (run_menu): Enable menu switching.
20227 * normal/menu_viewer.c (should_return): New variable.
20228 (menu_viewer_changed): Likewise.
20229 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20230 (grub_menu_viewer_should_return): New function.
20231 (menuviewer_write_hook): Likewise.
20232 (grub_menu_viewer_init): Likewise.
20233
202342010-02-06 Colin D Bennet <colin@gibibit.com>
202352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 Support for gfxterm in a window.
20238
20239 * include/grub/gfxterm.h: New file.
20240 * include/grub/video.h (struct grub_video_rect): New declaration.
20241 (grub_video_rect_t): Likewise.
20242 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20243 (refcount): New variable.
20244 (render_target): Likewise.
20245 (window): Likewise.
20246 (repaint_callback): Likewise.
20247 (grub_virtual_screen_setup): Use 'render_target'.
20248 (init_window): New function.
20249 (grub_gfxterm_init_window): Likewise.
20250 (grub_gfxterm_init): Check reference counter.
20251 Use init_window.
20252 (destroy_window): New function.
20253 (grub_gfxterm_destroy_window): Likewise.
20254 (grub_gfxterm_fini): Check reference counter.
20255 Use destroy_window.
20256 (redraw_screen_rect): Restore viewport.
20257 Use 'render_target' and 'window'.
20258 Call 'repaint_callback'.
20259 (write_char): Use 'render_target'.
20260 (draw_cursor): Likewise.
20261 (scroll_up): Restore viewport.
20262 Use 'render_target' and 'window'.
20263 Call 'repaint_callback'.
20264 (grub_gfxterm_cls): Likewise.
20265 (grub_gfxterm_refresh): Use 'window'.
20266 (grub_gfxterm_set_repaint_callback): New function.
20267 (grub_gfxterm_background_image_cmd): Use 'window'.
20268 (grub_gfxterm_get_term): New function.
20269 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20270
202712010-02-06 Colin D Bennett <colin@gibibit.com>
20272
20273 Bitmap scaling support.
20274
20275 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20276 (bitmap_scale_mod_SOURCES): New variable.
20277 (bitmap_scale_mod_CFLAGS): Likewise.
20278 (bitmap_scale_mod_LDFLAGS): Likewise.
20279 * include/grub/bitmap_scale.h: New file.
20280 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20281 (background_image_cmd_options): New variable.
20282 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20283 (cmd): Rename and change type to ...
20284 (background_image_cmd_handle): ... this. All users updated.
20285 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20286 * video/bitmap_scale.c: New file.
20287
202882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 SDL support.
20291
20292 * Makefile.in (LIBSDL): New variable.
20293 (enable_grub_emu_sdl): Likewise.
20294 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20295 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20296 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20297 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20298 * util/sdl.c: New file.
20299
203002010-02-06 Colin D Bennett <colin@gibibit.com>
203012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 Double buffering support.
20304
20305 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20306 * include/grub/video.h: Update comment.
20307 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20308 New type.
20309 (grub_video_fb_doublebuf_blit_init): New prototype.
20310 * term/gfxterm.c (scroll_up): Support double buffering.
20311 (grub_gfxterm_refresh): Likewise.
20312 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20313 (grub_video_fb_doublebuf_blit_init): Likewise.
20314 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20315 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20316 'displayed_page', 'render_page' and 'update_screen'.
20317 (grub_video_vbe_fini): Free offscreen buffer.
20318 (doublebuf_pageflipping_commit): New function.
20319 (doublebuf_pageflipping_update_screen): Likewise.
20320 (doublebuf_pageflipping_init): Likewise.
20321 (double_buffering_init): Likewise.
20322 (grub_video_vbe_setup): Enable doublebuffering.
20323 (grub_video_vbe_swap_buffers): Implement.
20324 (grub_video_vbe_set_active_render_target): Handle double buffering.
20325 (grub_video_vbe_get_active_render_target): Likewise.
20326 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20327 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20328 (grub_video_vbe_enable_double_buffering): Likewise.
20329 (grub_video_vbe_swap_buffers): Use update_screen.
20330 (grub_video_set_mode): Use double buffering.
20331
203322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20333
20334 * maintainance/gentrigtables.py: Remove.
20335 * lib/trig.c: Likewise.
20336
20337 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20338
20339 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20340 `trigtables.c'.
20341 (trigtables.c): New rule.
20342 (gentrigtables): Likewise.
20343 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20344
203452010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20346
20347 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20348 integer constants.
20349
203502010-02-06 Colin D Bennet <colin@gibibit.com>
20351
20352 Trigonometry support.
20353
20354 * include/grub/trig.h: New file.
20355 * lib/trig.c: Likewise.
20356 * maintainance/gentrigtables.py: Likewise.
20357 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20358 (trig_mod_SOURCES): New variable.
20359 (trig_mod_CFLAGS): Likewise.
20360 (trig_mod_LDFLAGS): Likewise.
20361
5562834e
VS
203622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20365 disk devices.
20366
4f8528fc
VS
203672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20370 error.
20371
2b4068e9
VS
203722010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * util/hostdisk.c (open_device): Don't use partition device when reading
20375 before the partition.
20376 (grub_util_biosdisk_read): Don't read from partition and before the
20377 partition in single operation.
20378 (grub_util_biosdisk_write): Don't write to partition and before the
20379 partition in single operation.
20380
399f6e4d
TL
203812010-02-03 Torsten Landschoff <torsten@debian.org>
20382
20383 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20384 last sectors.
20385
996649b0
VS
203862010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20389 CDROM reads.
20390 (grub_biosdisk_write): Refuse to write to CDROM.
20391
3b205d4d
VS
203922010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20395
61e89d9d
VS
203962010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20397
20398 * font/font.c (find_glyph): Check that bmp_idx is available before
20399 using it.
20400 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20401 with (font == NULL).
20402
bf7fcba2
CS
204032010-01-28 Christian Schmitt <chris@ilovelinux.de>
20404
20405 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20406
f45d2663
BC
204072010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20408
20409 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20410 * util/grub-script-check.c (getline): Fix empty lines case.
20411
ec1444e6
RM
204122010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * Makefile.in (check): Exit with fail status when one of the tests
20415 fails.
20416 * tests/example_functional_test.c (example_test): Fix reversed assert.
20417 * tests/example_unit_test.c (example_test): Likewise.
20418
2e1cb9bb
CW
204192010-01-28 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * util/grub.d/10_linux.in: This script does not use any of the
20422 contents of gettext.sh, only the external command `gettext', so stop
20423 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20424 the same prefix as GRUB.)
20425 * util/grub.d/10_kfreebsd.in: Likewise.
20426
63533ab0
VS
204272010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20430 of the line.
20431
989e1f93
VS
204322010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20435 last sectors.
20436
e709ebe2
VS
204372010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20438
20439 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20440 having a 4KiB and not 32KiB buffer size.
20441
27dea7ed
RM
204422010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20443
20444 * util/hostfs.c: Include `<errno.h>'.
20445 (grub_hostfs_read): Handle errors from fseeko() and fread().
20446
67667b9c
RM
204472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20448
20449 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20450 loop when using read hooks on files whose size isn't sector-aligned.
20451
c294d9d8
RM
204522010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20453
20454 Remove unused parameter.
20455
20456 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20457 (grub_iso9660_open): Remove initialization of `data->length'.
20458
af75a9f1
RM
204592010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20460
20461 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20462 memleak conditions.
20463
254e2ce5 204642010-01-27 Carles Pina i Estany <carles@pina.cat>
20465
20466 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20467 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20468
b510928c 204692010-01-26 Carles Pina i Estany <carles@pina.cat>
20470
20471 * util/bin2h.c (usage): Fix warning (space after backslash).
20472
aa2f9dd2 204732010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20474
20475 * font/font.c: Include `grub/fontformat.h.
20476 Remove font file format constants.
20477 (grub_font_load): Use the new macros.
20478 * include/grub/fontformat.h: New file.
20479 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20480 (write_font_pf2): Use the new macros.
20481
94e7e712
RM
204822010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20483
20484 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20485 does.
20486
3973a59a
RM
204872010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20488
20489 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20490
20491 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20492 (_start): Macroify `0x7F'.
20493
20494 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20495 (make_install_device): Use "(pxe)" as fallback prefix when booting
20496 via PXE.
20497
42e0cba3
GS
204982010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * configure.ac: Reset LIBS after check for libgcc symbols.
20501
847effd8
CW
205022010-01-25 Colin Watson <cjwatson@ubuntu.com>
20503
20504 * util/hostdisk.c (open_device): Add trailing newline to debug
20505 message.
20506
ea4a7e35
GS
205072010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20508
20509 * configure.ac: Check for `limits.h'.
20510 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20511
67951a53
RM
205122010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20513
20514 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20515 capitalize error strings.
20516
c273d4ce
ST
205172010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20518
20519 * util/grub.d/10_hurd.in: Add a recovery mode.
20520
69be5b74
VS
205212010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20522
20523 * configure.ac: Check for libgcc symbols with -nostdlib.
20524
fc9e5810
BC
205252010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20526
20527 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20528
4b358c0a
VS
205292010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20532 stack since heap may be unavailable at that point.
20533 (grub_ofconsole_gotoxy): Likewise.
20534
454fcd1c
VS
205352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * configure.ac: Check for _restgpr_14_x.
20538 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20539 and _savegpr_* prototypes.
20540
566863ca
RM
205412010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20542
20543 Use generic grub_reboot() for i386-efi.
20544
20545 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20546 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20547 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20548
bf86e59a
VS
205492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20552 presence of "prefix" variable as it breaks when normal.mod is
20553 embedded.
20554
d645e0f8
VS
205552010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20556
20557 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20558 stack since heap is unavailable at that point.
20559
f9ab2e25
VS
205602010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20563 (grub_freebsd_bootinfo): Rewritten.
20564 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20565
01fc7054
VS
205662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20569
caab4fd6
RM
205702010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20571
20572 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20573 domain now.
20574
67eb1427
FZ
205752010-01-20 Felix Zielcke <fzielcke@z-51.de>
20576
20577 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20578 around for handling "/" to the correct fix. Fix a memory leak. Use
20579 xstrdup instead of strdup.
20580
a9ed4ff3
VS
205812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20584
205852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20586
20587 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20588
20589 * font/font.c (struct grub_font): New member 'bmp_idx'.
20590 (font_init): Initialise 'bmp_idx'.
20591 (load_font_index): Fill 'bmp_idx'.
20592 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20593
48209f4f
VS
205942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20597 unnecessary calls.
20598
9f0a4bb7
VS
205992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 Move context handling out of the kernel.
20602
20603 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20604 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20605 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20606 * conf/i386-efi.rmk: Likewise.
20607 * conf/i386-ieee1275.rmk: Likewise.
20608 * conf/i386-pc.rmk: Likewise.
20609 * conf/powerpc-ieee1275.rmk: Likewise.
20610 * conf/sparc64-ieee1275.rmk: Likewise.
20611 * conf/x86_64-efi.rmk: Likewise.
20612 * include/grub/env.h: Include grub/menu.h.
20613 (grub_env_var_type): Removed.
20614 (grub_env_var): Replaced field 'type' with 'global'.
20615 (grub_env_find): New prototype.
20616 (grub_env_context_open): Remove EXPORT_FUNC.
20617 (grub_env_context_close): Likewise.
20618 (grub_env_export): Likewise.
20619 (grub_env_set_data_slot): Removed.
20620 (grub_env_get_data_slot): Likewise.
20621 (grub_env_unset_data_slot): Likewise.
20622 (grub_env_unset_menu): New prototype.
20623 (grub_env_set_menu): Likewise.
20624 (grub_env_get_menu): Likewise.
20625 * include/grub/env_private.h: New file.
20626 * include/grub/normal.h (grub_context_init): New prototype.
20627 (grub_context_fini): Likewise.
20628 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20629 * normal/context.c (grub_cmd_export): ... to here.
20630 * kern/env.c: Include env_private.h.
20631 (HASHSZ): Moved to include/grub/env_private.h.
20632 (grub_env_context): Likewise.
20633 (grub_env_sorted_var): Likewise.
20634 (current_context): Renamed from this ...
20635 (grub_current_context): ...to this. 'static' removed. All users updated.
20636 (grub_env_find): Removed 'static'.
20637 (grub_env_context_open): Moved to normal/context.c.
20638 (grub_env_context_close): Likewise.
20639 (grub_env_export): Likewise.
20640 (mangle_data_slot_name): Removed.
20641 (grub_env_set_data_slot): Likewise.
20642 (grub_env_get_data_slot): Likewise.
20643 (grub_env_unset_data_slot): Likewise.
20644 * kern/main.c (grub_set_root_dev): Don't export root.
20645 It will be done later.
20646 (grub_main): Don't export prefix.
20647 It will be done later.
20648 * normal/context.c: New file.
20649 * normal/main.c (free_menu): Use grub_env_unset_menu.
20650 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20651 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20652 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20653 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20654
8dd35b8c
VS
206552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 setpci support.
20658
20659 * commands/setpci.c: New file.
20660 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20661 (setpci_mod_SOURCES): New variable.
20662 (setpci_mod_CFLAGS): Likewise.
20663 (setpci_mod_LDFLAGS): Likewise.
20664
449193d5
VS
206652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 Byte-addressable PCI configuration space.
20668
20669 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20670 dword address.
20671 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20672 GRUB_PCI_REG_CACHELINE.
20673 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20674 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20675 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20676 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20677 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20678 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20679 grub_pci_make_address.
20680 (lock_rom_area): Likewise.
20681 * commands/lspci.c (grub_lspci_iter): Use macroses
20682 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20683 of grub_pci_make_address.
20684 * disk/ata.c (grub_ata_pciinit): Likewise.
20685 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20686 (GRUB_PCI_REG_VENDOR): Likewise.
20687 (GRUB_PCI_REG_DEVICE): Likewise.
20688 (GRUB_PCI_REG_COMMAND): Likewise.
20689 (GRUB_PCI_REG_STATUS): Likewise.
20690 (GRUB_PCI_REG_REVISION): Likewise.
20691 (GRUB_PCI_REG_CLASS): Likewise.
20692 (GRUB_PCI_REG_CACHELINE): Likewise.
20693 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20694 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20695 (GRUB_PCI_REG_BIST): Likewise.
20696 (GRUB_PCI_REG_ADDRESSES): Likewise.
20697 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20698 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20699 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20700 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20701 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20702 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20703 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20704 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20705 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20706 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20707 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20708 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20709 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20710 (GRUB_PCI_REG_MIN_GNT): Likewise.
20711 (GRUB_PCI_REG_MAX_LAT): Likewise.
20712 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20713 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20714 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20715 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20716 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20717 space.
20718
96d73208
RM
207192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20720
20721 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20722 can be reliably determined to be supported.
20723
d4484482
RM
207242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20725
20726 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20727 that VESA is supported.
20728 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20729 supported.
20730
00308ecf
VS
207312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20734
f66924a4
RM
207352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20736
20737 * util/misc.c (make_system_path_relative_to_its_root): Work around
20738 special-casing of "/", as previous incarnation of this routine did.
20739
cbca0ada
VS
207402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 Fix any-emu compilation.
20743
20744 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20745 * grub_bin2h_SOURCES: New variable.
20746
34a66d99
RM
207472010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20748
20749 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20750
94fabf58
RM
207512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * util/grub.d/00_header.in: Fix handling of locale_dir.
20754
02cf98ca
VS
207552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20758 as possible unifont location (Gentoo).
20759 Reported by: Alexander Brüning
20760
327dbcd7
VS
207612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20762
20763 Don't try to generate lists for kernel.img.
20764
20765 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20766 (pkglib_MODULES): Remove kernel.img.
20767 (kernel_img_EXPORTS): Removed.
20768 (kernel_img_RELOCATABLE): New variable.
20769 * conf/x86_64-efi.rmk: Likewise.
20770 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20771
ca467290
VS
207722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20775 grub_xasprintf or grub_snprintf.
20776 (grub_vsprintf): Likewise.
20777 (grub_snprintf): New proto.
20778 (grub_vsnprintf): Likewise.
20779 (grub_xasprintf): Likewise.
20780 (grub_xvasprintf): Likewise.
20781 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20782 (grub_sprintf): Removed.
20783 (grub_vsnprintf): New function.
20784 (grub_snprintf): Likewise.
20785 (grub_xvasprintf): Likewise.
20786 (grub_xasprintf): Likewise.
20787 (grub_vsprintf): Renamed to ...
20788 (grub_vsnprintf_real): ...this. New argument max_len.
20789
aca655fd
BC
207902010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20791
20792 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20793 fix grub-script-check warning.
20794
7ee92c32
VS
207952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 * include/grub/font.h (grub_font_load): Fix prototype.
20798
f80927ca
VS
207992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20800
20801 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20802
119c50ea
VS
208032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20804
20805 * include/grub/x86_64/at_keyboard.h: New file.
20806
47d5f3c1
VS
208072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20808
20809 * loader/mips/linux.c: Include missing grub/i18n.h.
20810
55ff5266
RM
208112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20812
20813 * normal/menu.c (notify_execution_failure): Clarify error message.
20814
c893cc87
RM
208152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20816
20817 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20818 return value (and revert all return statements). Update users.
20819
917dd370
CW
208202010-01-20 Dan Merillat <debian@dan.merillat.org>
20821
20822 * kern/device.c (grub_device_iterate): Allocate new part_ent
20823 structure based on sizeof (*p) rather than sizeof (p->next), to
20824 account for structure padding.
20825
20826 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20827 disk is NULL, which might happen for LVM physical volumes with no
20828 LVM signature.
20829
d4a4ee57
RM
208302009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20831
20832 * loader/mips/linux.c (grub_cmd_initrd)
20833 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20834
208352009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20836
20837 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20838 (grub_video_video_init, grub_video_bitmap_init)
20839 (grub_font_manager_init, grub_term_gfxterm_init)
20840 (grub_at_keyboard_init): New extern declarations.
20841 (grub_machine_init): Initialize gfxterm and at_keyboard.
20842
20843 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20844
20845 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20846 `gfxterm.mod' into core image.
20847
20848 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20849 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20850 (kernel_img_FORMAT): Copy to ...
20851
20852 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20853 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20854 (kernel_img_FORMAT): ... here, and ...
20855
20856 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20857 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20858 (kernel_img_FORMAT): ... here.
20859
20860 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20861 and input (at_keyboard) terminals in kernel.
20862 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20863
20864 (pkglib_MODULES): Remove `pci.mod'.
20865 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20866 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20867 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20868 (at_keyboard_mod_LDFLAGS): Remove variables.
20869
208702010-01-11 Felix Zielcke <fzielcke@z-51.de>
20871
20872 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20873
208742009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20875
20876 * include/grub/mips/libgcc.h: Only export symbols for functions
20877 that libgcc provides.
20878
208792009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 MIPS support.
20882
20883 * bus/bonito.c: New file.
20884 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20885 GRUB_PCI_NUM_DEVICES.
20886 * term/i386/pc/serial.c: Move to ...
20887 * term/serial.c: ... here. All users updated.
20888 * util/i386/pc/grub-mkimage.c: Move to ...
20889 * util/grub-mkrawimage.c: ... here. All users updated.
20890 * term/i386/pc/at_keyboard.c: Move to ...
20891 * term/at_keyboard.c: ... here. All users updated.
20892 * conf/mips-qemu-mips.rmk: New file.
20893 * conf/mips-yeeloong.rmk: Likewise.
20894 * conf/mips.rmk: Likewise.
20895 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20896 mipsel-qemu-mips.
20897 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20898 to port addresses.
20899 (grub_ata_pciinit): Support CS5536.
20900 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20901 * font/font_cmd.c (loadfont_command): Open file before passing it to
20902 grub_font_load.
20903 (pseudo_file_read): New function.
20904 (pseudo_file_close): Likewise.
20905 (pseudo_fs): New structure.
20906 (load_font_module): New function.
20907 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20908 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20909 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20910 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20911 * include/grub/i386/at_keyboard.h: Split into ...
20912 * include/grub/at_keyboard.h: ... this ...
20913 * include/grub/i386/at_keyboard.h: ... and this.
20914 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20915 New prototype.
20916 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20917 updated.
20918 (grub_elf64_size): Likewise.
20919 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20920 filename.
20921 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20922 * include/grub/i386/coreboot/serial.h: Rewritten.
20923 * include/grub/i386/ieee1275/serial.h: Include
20924 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20925 * include/grub/i386/pc/serial.h: Moved from here ...
20926 * include/grub/serial.h: ... to here. All users updated.
20927 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20928 (GRUB_PCI_NUM_BUS): Likewise.
20929 (GRUB_PCI_NUM_DEVICES): Likewise.
20930 (grub_pci_device_map_range): Add missing volatile keyword.
20931 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20932 * include/grub/mips/at_keyboard.h: New file.
20933 * include/grub/mips/cache.h: Likewise.
20934 * include/grub/mips/io.h: Likewise.
20935 * include/grub/mips/kernel.h: Likewise.
20936 * include/grub/mips/libgcc.h: Likewise.
20937 * include/grub/mips/pci.h: Likewise.
20938 * include/grub/mips/qemu-mips/boot.h: Likewise.
20939 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20940 * include/grub/mips/qemu-mips/loader.h: Likewise.
20941 * include/grub/mips/qemu-mips/memory.h: Likewise.
20942 * include/grub/mips/qemu-mips/serial.h: Likewise.
20943 * include/grub/mips/qemu-mips/time.h: Likewise.
20944 * include/grub/mips/relocator.h: Likewise.
20945 * include/grub/mips/time.h: Likewise.
20946 * include/grub/mips/types.h: Likewise.
20947 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20948 * include/grub/mips/yeeloong/boot.h: Likewise.
20949 * include/grub/mips/yeeloong/kernel.h: Likewise.
20950 * include/grub/mips/yeeloong/loader.h: Likewise.
20951 * include/grub/mips/yeeloong/memory.h: Likewise.
20952 * include/grub/mips/yeeloong/pci.h: Likewise.
20953 * include/grub/mips/yeeloong/serial.h: Likewise.
20954 * include/grub/mips/yeeloong/time.h: Likewise.
20955 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20956 * kern/elf.c (grub_elf32_size): New parameter. All users
20957 updated.
20958 (grub_elf64_size): Likewise.
20959 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20960 Load modules before saying "Welcome to GRUB!".
20961 Call grub_refresh after saying "Welcome to GRUB!".
20962 * kern/mips/cache.S: New file.
20963 * kern/mips/cache_flush.S: Likewise.
20964 * kern/mips/dl.c: Likewise.
20965 * kern/mips/init.c: Likewise.
20966 * kern/mips/qemu-mips/init.c: Likewise.
20967 * kern/mips/startup.S: Likewise.
20968 * kern/mips/yeeloong/init.c: Likewise.
20969 * kern/term.c (grub_putcode): Handle NULL terminal.
20970 (grub_getcharwidth): Likewise.
20971 (grub_getkey): Likewise.
20972 (grub_checkkey): Likewise.
20973 (grub_getkeystatus): Likewise.
20974 (grub_getxy): Likewise.
20975 (grub_getwh): Likewise.
20976 (grub_gotoxy): Likewise.
20977 (grub_cls): Likewise.
20978 (grub_setcolorstate): Likewise.
20979 (grub_setcolor): Likewise.
20980 (grub_getcolor): Likewise.
20981 (grub_refresh): Likewise.
20982 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20983 (write_jump): Add hatch nop.
20984 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20985 * lib/mips/setjmp.S: New file.
20986 * loader/mips/linux.c: Likewise.
20987 * term/i386/pc/at_keyboard.c: Move from here ...
20988 * term/at_keyboard.c: ... to here.
20989 * term/i386/pc/serial.c: Moved from here ...
20990 * term/serial.c: ... to here. All users updated.
20991 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20992 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20993 (serial_translate_key_sequence): Avoid deadlock.
20994 (grub_serial_getkey): Handle backspace.
20995 (grub_serial_putchar): Fix newline handling.
20996 * util/i386/pc/grub-mkimage.c: Move from here ...
20997 * util/grub-mkrawimage.c: ... to here. All users updated.
20998 (generate_image): New parameters 'font_path' and 'format'.
20999 Support embedding font.
21000 Use grub_host_to_target* instead of grub_cpu_to_le*.
21001 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21002 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21003 (options): New option "--font".
21004 (usage): Likewise.
21005 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21006 (main): Handle "--font".
21007 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21008 (grub_virtual_screen_setup): Set bg_color_display.
21009 (redraw_screen_rect): Use bg_color_display instead of incorrect
21010 bg_color.
21011 (grub_gfxterm_cls): Likewise.
21012 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21013 Support embedding config file.
21014 (add_segments): Likewise.
21015 (options): New option "--config".
21016 (main): Handle "--config".
21017 * video/sm712.c: New file.
21018
25c2b5b3
RM
210192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21020
21021 Fix parallel builds.
21022
21023 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21024 font.c depend on ascii.h).
21025
210262010-01-12 Carles Pina i Estany <carles@pina.cat>
21027
21028 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21029
210302010-01-11 Carles Pina i Estany <carles@pina.cat>
21031
21032 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21033 By default: disabled.
21034 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21035 parameter.
21036
210372010-01-10 Carles Pina i Estany <carles@pina.cat>
21038
21039 * font/font.c: Update copyright years.
21040 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21041
210422010-01-10 Carles Pina i Estany <carles@pina.cat>
21043
21044 * font/font.c: Include `ascii.h'.
21045 (ASCII_BITMAP_SIZE): New macro.
21046 (ascii_font_glyph): Define.
21047 (ascii_glyph_lookup): New function.
21048 (grub_font_get_string_width): Change comment. If glyph not found, use
21049 ascii_glyph_lookup.
21050 (grub_font_get_glyph_with_fallback): If glyph not available returns
21051 ascii_glyph_lookup.
21052 * util/grub-mkfont.c (file_formats): New enum.
21053 (options): Add `ascii-bitmaps' new option.
21054 (usage): Add `asii-bitmaps' new option.
21055 (write_font_ascii_bitmap): New function.
21056 (write_font): Rename to ...
21057 (write_font_p2): ... this. Remove print_glyphs call.
21058 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21059 used. Call print_glyphs.
21060 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21061
210622010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21063
21064 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21065 (grub_bin2h_SOURCES): New variable.
21066 * util/bin2h.c: New file.
21067
915fc1b8
VS
210682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * include/multiboot.h: Resynced with spec.
21071 * include/multiboot2.h: Likewise.
21072 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21073 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21074
9444b678
RM
210752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21076
21077 * include/grub/term.h (grub_term_register_input,
21078 grub_term_register_output): Check return of terminal init()
21079 routines, and abort if errors are raised.
21080
21081 * commands/terminal.c: Update copyright year.
21082
cba98e8d
RM
210832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21084
21085 * commands/terminal.c (grub_cmd_terminal_input)
21086 (grub_cmd_terminal_output): Check return of terminal init()
21087 routines, and abort if errors are raised.
21088
6f7db5d6
VS
210892010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * include/grub/i386/bsd.h: Fix include pathes.
21092
262bff8d
VS
210932010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 Add missing *BSD copyright headers.
21096
21097 * include/grub/aout.h: Add BSD licence.
21098 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21099 * include/grub/i386/freebsd_linker.h: ... here,
21100 * include/grub/i386/freebsd_reboot.h: ... here,
21101 * include/grub/i386/netbsd_bootinfo.h: ... here,
21102 * include/grub/i386/netbsd_reboot.h: ... here,
21103 * include/grub/i386/openbsd_bootarg.h: ... here,
21104 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21105 licence to each file.
21106
b2cab848
RM
211072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21108
21109 * acinclude.m4: Remove `nop' assembly instruction; it's not
21110 implemented by all architectures.
21111
2cb6be4b
RM
211122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21113
21114 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21115 ELILO. This is no longer necessary.
21116
a2eaee15
BC
211172010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21118
21119 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21120
21121 * util/grub-script-check.c: grub-script-check tool.
21122 * conf/common.rmk: Make rules for grub-script-check.
21123
88d17012
RM
211242010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21125
21126 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21127 spotting it back in 2008. Shame on me for forgetting he did.
21128
21129 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21130
8040619d
RM
211312010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21132
21133 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21134 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21135 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21136 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21137 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21138 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21139
a0c2a0f6
RM
211402010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21141
21142 * include/grub/test.h: Add license header.
21143 * tests/example_functional_test.c: Likewise.
21144 * tests/example_unit_test.c: Likewise.
21145 * tests/lib/functional_test.c: Likewise.
21146 * tests/lib/test.c: Likewise.
21147 * tests/lib/unit_test.c: Likewise.
21148
b0b13907
VS
211492010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21150
21151 Use flag-based instead of hook-based video mode selection and "auto"
21152 keyword.
21153
21154 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21155 (grub_video_set_mode): Changed prototype. All users updated.
21156 (grub_video_check_mode_flag): New inline function.
21157 * video/video.c (parse_modespec): New function.
21158 (grub_video_set_mode): Parse flags and keywords.
21159
ea379330 211602010-01-17 Carles Pina i Estany <carles@pina.cat>
21161
21162 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21163 fprintf call.
21164
e15c215e
FZ
211652010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21166
21167 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21168
409ae1c9 211692010-01-16 Carles Pina i Estany <carles@pina.cat>
21170
21171 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21172 string.
21173 * util/grub-emu.c (usage): Likewise.
21174 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21175 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21176 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21177 * util/i386/pc/grub-setup.c (usage): Likewise.
21178
70a14d3d 211792010-01-16 Carles Pina i Estany <carles@pina.cat>
21180
21181 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21182 the message.
21183 (grub_util_info): Likewise.
21184 (grub_util_error): Likewise.
21185 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21186 and/or new lines in `grub_util_warna', `grub_util_info',
21187 `grub_util_error' calls.
21188 * util/getroot.c: Likewise.
21189 * util/grub-editenv.c: Likewise.
21190 * util/grub-emu.c: Likewise.
21191 * util/grub-fstest.c: Likewise.
21192 * util/grub-mkdevicemap.c: Likewise.
21193 * util/grub-mkfont.c: Likewise.
21194 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21195 * util/grub-mkrelpath.c: Likewise.
21196 * util/grub-pe2elf.c: Likewise.
21197 * util/grub-probe.c: Likewise.
21198 * util/hostdisk.c: Likewise.
21199 * util/i386/efi/grub-mkimage.c: Likewise.
21200 * util/i386/pc/grub-mkimage.c: Likewise.
21201 * util/i386/pc/grub-setup.c: Likewise.
21202 * util/ieee1275/ofpath.c: Likewise.
21203 * util/mkisofs/eltorito.c: Likewise.
21204 * util/mkisofs/rock.c: Likewise.
21205 * util/mkisofs/write.c: Likewise.
21206 * util/raid.c: Likewise.
21207 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21208 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21209
a0b766fc
VS
212102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 Enable multiboot on non-pc.
21213
21214 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21215 multiboot.mod and multiboot2.mod to ...
21216 * conf/i386.rmk (pkglib_MODULES): ... here.
21217 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21218 Moved to ...
21219 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21220 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21221 Moved to ...
21222 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21223 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21224 Moved to ...
21225 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21226 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21227 Moved to ...
21228 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21229 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21230 relocator.mod.
21231 (ata_mod_SOURCES): Removed.
21232 (ata_mod_CFLAGS): Likewise.
21233 (ata_mod_LDFLAGS): Likewise.
21234 (relocator_mod_SOURCES): Removed.
21235 (relocator_mod_CFLAGS): Likewise.
21236 (relocator_mod_ASFLAGS): Likewise.
21237 (relocator_mod_LDFLAGS): Likewise.
21238 Include i386.mk.
21239 * include/grub/x86_64/multiboot.h: New file.
21240 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21241 Terminate EFI.
21242
884ade56
VS
212432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 Video multiboot support.
21246
21247 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21248 New prototype.
21249 * include/multiboot.h: Resynced with multiboot specification.
21250 * include/multiboot2.h: Likewise.
21251 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21252 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21253 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21254 (HAS_VGA_TEXT): Likewise.
21255 (accepts_video): New variable.
21256 (grub_multiboot_set_accepts_video): New function.
21257 (grub_multiboot_get_mbi_size): Account for video structures.
21258 (set_video_mode): New function.
21259 (retrieve_video_parameters): Likewise.
21260 (grub_multiboot_make_mbi): Fill video fields.
21261
0d90e8a6
VS
212622010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 Video driver ids.
21265
21266 * include/grub/video.h (grub_video_driver_id): New type.
21267 (grub_video_adapter): New member 'id'. All users updated.
21268 (grub_video_get_driver_id): New proto.
21269 * video/video.c (grub_video_get_driver_id): New function.
21270
5c71db1b 212712010-01-14 Carles Pina i Estany <carles@pina.cat>
21272
21273 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21274 `var=val'.
21275
cca15b52 212762010-01-14 Carles Pina i Estany <carles@pina.cat>
21277
21278 * normal/cmdline.c (print_completion): Gettextizze.
21279
c586fbb2 212802001-01-14 Carles Pina i Estany <carles@pina.cat>
21281
21282 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21283
ba2f6848 212842010-01-14 Carles Pina i Estany <carles@pina.cat>
21285
21286 * gettext/gettext.c (grub_gettext_translate): Push and pop
21287 grub_errno.
21288 (grub_gettext_delete_list): Change comment style.
21289 * kern/err.c (grub_error): Gettextizze.
21290 (grub_fatal): Gettextizze.
21291
0a46429a
RM
212922010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21293
21294 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21295 (grub_linux16_real_boot): ... this.
21296 * kern/i386/loader.S: Likewise.
21297 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21298 (grub_linux16_boot): New function. Switches to text mode and calls
21299 grub_linux16_real_boot().
21300
21301 * loader/i386/bsd.c: Include `<grub/video.h>'.
21302 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21303 text mode before calling grub_unix_real_boot().
21304
21305 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21306 (grub_multiboot_boot): Switch to text mode before calling
21307 grub_relocator32_boot().
21308
21309 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21310 (grub_chainloader_boot): Switch to text mode before calling
21311 grub_chainloader_real_boot().
21312
d6f93a66
RM
213132010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213142010-01-05 Colin Watson <cjwatson@ubuntu.com>
21315
21316 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21317 non-empty value.
21318
213192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213202010-01-05 Colin Watson <cjwatson@ubuntu.com>
21321
21322 * util/grub.d/00_header.in: Define a "savedefault" function for use
21323 in menu entries.
21324 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21325
213262010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
213272010-01-05 Colin Watson <cjwatson@ubuntu.com>
21328
21329 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21330 saved_entry if boot_once is unset.
21331 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21332 previous saved entry (i.e. grub-reboot).
21333
213342009-12-08 Colin Watson <cjwatson@ubuntu.com>
21335
21336 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21337
213382009-12-08 Colin Watson <cjwatson@ubuntu.com>
21339
21340 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21341 `var=val'.
21342 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21343
213442009-12-08 Colin Watson <cjwatson@ubuntu.com>
21345
21346 * util/grub-reboot.in: Fix --version output.
21347 * util/grub-set-default.in: Likewise.
21348
213492009-12-08 Colin Watson <cjwatson@ubuntu.com>
21350
21351 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21352 blocks.
21353
213542009-12-08 Colin Watson <cjwatson@ubuntu.com>
21355
21356 * util/grub.d/00_header.in: Quote the value assigned to `default',
21357 in case it contains spaces.
21358
213592009-12-08 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21362 `save_default_entry' call from the macosx case to the linux case.
21363
213642009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
213652009-10-25 Colin Watson <cjwatson@ubuntu.com>
21366
21367 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21368 in `chosen' environment variable.
21369 * normal/menu_text.c (get_entry_number): Check if the variable
21370 matches the title of a menu entry.
21371 (run_menu): Pass menu to get_entry_number.
21372
21373 * util/grub-reboot.in: New file.
21374 * util/grub-set-default.in: New file.
21375 * conf/common.rmk (grub-reboot): New utility.
21376 (grub-set-default): New utility.
21377
21378 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21379 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21380 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21381 move it to `saved_entry' for the next boot. Load environment on
21382 initialisation.
21383 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21384 * util/grub.d/10_hurd.in: Likewise.
21385 * util/grub.d/10_linux.in (linux_entry): Likewise.
21386 * util/grub.d/10_windows.in: Likewise.
21387 * util/grub.d/30_os-prober.in: Likewise.
21388
21389 * util/grub-install.in: Create environment block.
21390 * util/i386/efi/grub-install.in: Likewise.
21391 * util/ieee1275/grub-install.in: Likewise.
21392 * util/sparc64/ieee1275/grub-install.in: Likewise.
21393
0934d184
BC
213942010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21395
21396 Unit testing framework for GRUB.
21397
21398 * Makefile.in: Test framework build rules for 'make check'.
21399 * conf/tests.rmk: Build rules for individual tests and framework.
21400
21401 * include/grub/test.h: Header file for whitebox tests.
21402 * tests/lib/functional_test.c: Framework support for whitebox
21403 functional tests.
21404 * tests/lib/test.c: Common whitebox testing code for unit and
21405 functional tests.
21406 * tests/lib/unit_test.c: Framework support for whitebox unit
21407 tests.
21408
21409 * tests/util/grub-shell-tester.in: Support utility for grub-script
21410 tests.
21411 * tests/util/grub-shell.in: Utility to execute grub-script
21412 commands in a Qemu instance.
21413
21414 * tests/example_functional_test.c: Example whitebox functional
21415 test.
21416 * tests/example_grub_script_test.in: Example grub-script test.
21417 * tests/example_scripted_test.in: Example scripted test.
21418 * tests/example_unit_test.c: Example whitebox unit test.
21419
9c4ffeeb
VS
214202010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21421
21422 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21423 Add loader/i386/multiboot_mbi.c.
21424 (multiboot2_mod_SOURCES): Likewise.
21425 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21426 (multiboot2_mod_SOURCES): Likewise.
21427 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21428 (grub_multiboot_make_mbi): Likewise.
21429 (grub_multiboot_free_mbi): Likewise.
21430 (grub_multiboot_init_mbi): Likewise.
21431 (grub_multiboot_add_module): Likewise.
21432 (grub_multiboot_set_bootdev): Likewise.
21433 * loader/i386/multiboot.c (mbi): Removed.
21434 (mbi_dest): Likewise.
21435 (alloc_mbi): New variable.
21436 (grub_multiboot_payload_size): Removed. All users updated.
21437 (grub_multiboot_pure_size): New variable.
21438 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21439 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21440 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21441 (grub_fill_multiboot_mmap): Likewise.
21442 (grub_multiboot_get_bootdev): Likewise.
21443 (grub_multiboot): Use multiboot_mbi functions.
21444 * loader/i386/multiboot_mbi.c: New file.
21445
17383dfe
VS
214462010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21449 it would result in module crash.
21450
c1f28820
VS
214512010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21454 (grub_ofconsole_getwh): Split to ...
21455 (grub_ofconsole_getwh): ... this.
21456 (grub_ofconsole_dimensions): ...and this.
21457 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21458
58655a16
RM
214592010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21460
21461 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21462
10891398
VS
214632010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21464
21465 * loader/i386/pc/multiboot2.c: Removed stalled file.
21466
0b8a223c
VS
214672010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21470 Reported by: Grégoire Sutre
21471
92ab12b0
RM
214722010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21473
21474 * util/misc.c (canonicalize_file_name): New function.
21475 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21476 instead of realpath().
21477
a788afb6
CW
214782010-01-11 Colin Watson <cjwatson@ubuntu.com>
21479
21480 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21481 and make it clearer that it's optional. Based on confusion
21482 witnessed on IRC.
21483
ffa8e3d2
VS
214842010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21487 in premature implicit newline.
21488
e9060a9d
VS
214892010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21492 which resulted in garbled command line at the end of screen.
21493
f0d0c0b7
RM
214942010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21495
21496 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21497 initialization with similar approach as with other Linux loaders.
21498
0e60bae7
RM
214992010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21500
21501 Fix i386-ieee1275 build.
21502
21503 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21504 and grub_term_height() for video_{width,height} initialization.
21505
215062010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21507
21508 Fix grub-emu build.
21509
21510 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21511
cdb3f378
RM
215122010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
215132010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21514
21515 Support for multiple terminals.
21516
21517 * Makefile.in (pkglib_DATA): terminal.lst.
21518 (terminal.lst): New target.
21519 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21520 (GRUB_MOD_INIT(handler)): Likewise.
21521 (GRUB_MOD_FINI(handler)): Likewise.
21522 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21523 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21524 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21525 (grub_cmd_sleep): Use grub_term_save_pos.
21526 * commands/terminal.c: New file.
21527 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21528 commands/terminal.c and lib/charset.c.
21529 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21530 (pkglib_MODULES): Add terminal.mod.
21531 (terminal_mod_SOURCES): New variable.
21532 (terminal_mod_CFLAGS): Likewise.
21533 (terminal_mod_LDFLAGS): Likewise.
21534 * genhandlerlist.sh: Don't handle terminals.
21535 * genmk.rb: Generate terminal-*.lst.
21536 * genterminallist.sh: New file.
21537 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21538 (grub_is_valid_utf8): Likewise.
21539 (grub_utf8_to_ucs4_alloc): Likewise.
21540 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21541 (grub_menu_register_viewer): Changed argument.
21542 (grub_menu_try_text): New proto.
21543 (grub_gfxmenu_try_hook): New declaration.
21544 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21545 (grub_menu_init_page): Additional argument term.
21546 (grub_normal_init_page): Likewise.
21547 (grub_cmdline_get): Arguments simplified.
21548 (grub_utf8_to_ucs4_alloc): Removed.
21549 (grub_print_ucs4): Additional argument term.
21550 (grub_getstringwidth): Likewise.
21551 (grub_print_message_indented): Likewise.
21552 (grub_menu_text_register_instances): New proto.
21553 (grub_show_menu): Likewise.
21554 (read_terminal_list): Likewise.
21555 (grub_set_more): Likewise.
21556 * include/grub/parser.h: Include handler.h.
21557 * include/grub/reader.h: Rewritten.
21558 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21559 (GRUB_TERM_WIDTH): Changed to function.
21560 (GRUB_TERM_HEIGHT): Likewise.
21561 (GRUB_TERM_BORDER_WIDTH): Likewise.
21562 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21563 (GRUB_TERM_NUM_ENTRIES): Likewise.
21564 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21565 (GRUB_TERM_CURSOR_X): Likewise.
21566 (grub_term_input_class): Likewise.
21567 (grub_term_output_class): Likewise.
21568 (grub_term_outputs_disabled): New declaration.
21569 (grub_term_inputs_disabled): Likewise.
21570 (grub_term_outputs): Likewise.
21571 (grub_term_inputs): Likewise.
21572 (grub_term_register_input): Rewritten.
21573 (grub_term_register_output): Likewise.
21574 (grub_term_unregister_input): Likewise.
21575 (grub_term_unregister_output): Likewise.
21576 (FOR_ACTIVE_TERM_INPUTS): New macro.
21577 (FOR_DISABLED_TERM_INPUTS): Likewise.
21578 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21579 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21580 * include/grub/terminfo.h: Add oterm argument to all protypes.
21581 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21582 Use grub_rescue_run.
21583 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21584 All users updated.
21585 * kern/reader.c: Removed. All users updated.
21586 * kern/rescue_reader.c (grub_rescue_init): Removed.
21587 (grub_rescue_reader): Likewise.
21588 (grub_register_rescue_reader): Likewise.
21589 (grub_rescue_run): New function based on kern/reader.c.
21590 * kern/term.c: Adapted for multiterm.
21591 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21592 (grub_is_valid_utf8): Likewise.
21593 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21594 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21595 right terminal.
21596 * loader/i386/linux.c (grub_linux_boot): Likewise.
21597 * normal/auth.c (grub_username_get): New function.
21598 (grub_auth_check_authentication): Use grub_username_get.
21599 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21600 * normal/color.c: Adapt for multiterm.
21601 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21602 (grub_normal_init_page): Additional argument term.
21603 (read_lists): Call read_terminal_lists.
21604 (grub_enter_normal_mode): Call grub_cmdline_run.
21605 Handle grub_normal_exit_level.
21606 (grub_cmd_normal): Make reentrant.
21607 (grub_cmd_normal_exit): New function.
21608 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21609 * normal/menu.c: Adapt for multiterm.
21610 * normal/menu_entry.c: Likewise.
21611 * normal/menu_text.c: Likewise.
21612 * normal/menu_viewer.c: Removed. All users updated.
21613 * normal/term.c: New file.
21614 * util/console.c: Change order of includes to workaround a bug in
21615 ncurses headers.
21616 * term/terminfo.c: New argument oterm on all exported functions.
21617 All users updated.
21618 * util/grub-editenv.c (grub_term_input_class): Removed.
21619 (grub_term_output_class): Likewise.
21620
1a064917
RM
216212010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21622
21623 Make loader output a bit more user-friendly.
21624
21625 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21626 is being loaded. Likewise for the Hurd.
21627
21628 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21629 that kernel of FreeBSD ${version} is being loaded.
21630
21631 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21632 grub_dprintf().
21633 (grub_cmd_initrd): Likewise.
21634 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21635 that Linux ${version} is being loaded. Likewise for initrd.
21636
5ce0a83a 216372010-01-09 Carles Pina i Estany <carles@pina.cat>
21638
21639 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21640
809bbfeb 216412010-01-08 Carles Pina i Estany <carles@pina.cat>
21642
21643 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21644 (GRUB_MOD_INIT): Gettextizze.
21645 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21646 (GRUB_MOD_INIT): Gettextizze.
21647 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21648 (grub_cmd_linux): Capitalise Linux.
21649 (GRUB_MOD_INIT): Gettextizze.
21650 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21651 (grub_cmd_linux): Capitalise Linux.
21652 (GRUB_MOD_INIT): Gettextizze.
21653 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21654 (grub_cmd_linux): Capitalise Linux.
21655 (GRUB_MOD_INIT): Gettextizze.
21656 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21657 (GRUB_MOD_INIT): Gettextizze.
21658 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21659 (grub_cmd_linux): Capitalise Linux.
21660 (GRUB_MOD_INIT): Gettextizze.
21661 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21662 (grub_cpu_xnu_init): Gettextizze.
21663 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21664 (GRUB_MOD_INIT): Gettextizze.
21665 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21666 (GRUB_MOD_INIT): Gettextizze.
21667 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21668 (grub_linux_load64): Capitalise Linux.
21669 (GRUB_MOD_INIT): Gettextizze.
21670 * loader/xnu.c: Include `<grub/i18n.h>'.
21671 (GRUB_MOD_INIT): Gettextizze.
21672 * po/POTFILES: Add `loader/efi/appleloader.c',
21673 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21674 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21675 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21676 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21677 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21678 and `loader/xnu.c'.
21679
b394b2ca
RM
216802010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21683
216842010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21685
21686 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21687 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21688 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21689
bc8b32b3
RM
216902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21691
21692 Reset Multiboot 2 support. New loader implements the draft in
21693 /branches/multiboot2 and shares as much code as possible with the
21694 production Multiboot 1 implementation.
21695
21696 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21697 * loader/multiboot2.c: Likewise.
21698 * loader/i386/multiboot_helper.S: Likewise.
21699 * include/multiboot2.h: Replace with latest version from the draft
21700 in /branches/multiboot2.
21701
21702 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21703 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21704 and `loader/multiboot2.c'.
21705 (pkglib_MODULES): Add `multiboot2.mod'.
21706 (multiboot2_mod_SOURCES): New variable.
21707 (multiboot2_mod_LDFLAGS): Likewise.
21708 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21709
21710 * conf/i386-pc.rmk: Likewise.
21711
21712 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21713 (multiboot_mod_SOURCES): Remove variable.
21714 (multiboot_mod_LDFLAGS): Likewise.
21715 (multiboot_mod_CFLAGS): Likewise.
21716
21717 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21718 `<multiboot2.h>' instead of `<multiboot.h>'.
21719 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21720 (MULTIBOOT_HEADER_MAGIC): New macros.
21721
21722 * loader/multiboot_loader.c (module_version_status): Remove variable.
21723 (find_multi_boot2_header): Remove function.
21724 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21725 logic. Always check for the Multiboot version we're compiling for.
21726 (grub_cmd_module_loader): Likewise.
21727 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21728 command instead of `multiboot'.
21729
5d2c52b8
RM
217302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21731
21732 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21733 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21734 all users.
21735
53108d92
RM
217362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
217372010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21738
21739 Fix breakage introduced with previous commit.
21740
21741 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21742 commands.
21743 * normal/handler.c (read_handler_list): Revert part of previous commit
21744 affecting this file.
21745 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21746 (grub_normal_execute): ... here.
21747
e2e936b2
RM
217482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21749
21750 Merge prefix-redefinition-fix branch.
21751
21752 * normal/autofs.c (read_fs_list): Make function capable of being
21753 run multiple times, gracefuly replacing the previous data
21754 structures.
21755 * normal/dyncmd.c (read_command_list): Likewise.
21756 * normal/handler.c (read_handler_list): Likewise.
21757 * normal/main.c (read_lists): New function. Calls all the
21758 list reading functions.
21759 (grub_normal_execute): Use read_lists() instead of calling all
21760 list reading functions explicitly. Register read_lists() as a
21761 variable hook attached to ${prefix}.
21762
607a3701
VS
217632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21764
21765 Merge crypto branch.
21766
21767 * Makefile.in (pkglib_DATA): Add crypto.lst.
21768 (crypto.lst): New target.
21769 * commands/hashsum.c: New file.
21770 * commands/password.c (check_password): Use grub_crypto_memcmp.
21771 * commands/password_pbkdf2.c: New file.
21772 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21773 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21774 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21775 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21776 -I$(srcdir)/lib/libgcrypt_wrap.
21777 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21778 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21779 password_pbkdf2.mod.
21780 (crypto_mod_SOURCES): New variable.
21781 (crypto_mod_CFLAGS): Likewise.
21782 (crypto_mod_LDFLAGS): Likewise.
21783 (hashsum_mod_SOURCES): New variable.
21784 (hashsum_mod_CFLAGS): Likewise.
21785 (hashsum_mod_LDFLAGS): Likewise.
21786 (pbkdf2_mod_SOURCES): New variable.
21787 (pbkdf2_mod_CFLAGS): Likewise.
21788 (pbkdf2_mod_LDFLAGS): Likewise.
21789 (password_pbkdf2_mod_SOURCES): New variable.
21790 (password_pbkdf2_mod_CFLAGS): Likewise.
21791 (password_pbkdf2_mod_LDFLAGS): Likewise.
21792 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21793 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21794 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21795 Include conf/gcry.rmk.
21796 * include/grub/auth.h: Rewritten.
21797 * include/grub/crypto.h: New file.
21798 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21799 * include/grub/normal.h (read_crypto_list): New prototype.
21800 * lib/crypto.c: New file.
21801 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21802 * lib/pbkdf2.c: Likewise.
21803 * normal/auth.c (grub_auth_strcmp): Removed.
21804 (grub_iswordseparator): Likewise.
21805 (grub_auth_strword): Likewise.
21806 (is_authenticated): Use grub_strword.
21807 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21808 and grub_strword. Pass entered password to authentication callback.
21809 * normal/crypto.c: New file.
21810 * normal/main.c: Call read_crypto_list.
21811 * util/grub-mkpasswd-pbkdf2.c: New file.
21812 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21813
42841caa
VS
218142010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 Fix descent and ascent calculation.
21817
21818 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21819 (options): New option "asce".
21820 (usage): Likewise.
21821 (add_char): Ignore invalid glyphs for descent calculation.
21822 Calculate ascent from actual content.
21823 (print_glyphs): Use 'asce'.
21824 (write_font): Likewise. Allow ascent override.
21825 (main): Handle "asce" option.
21826
e7730de7 218272010-01-06 Carles Pina i Estany <carles@pina.cat>
21828
21829 * kern/err.c: Include `<grub/i18n.h>'.
21830 (grub_print_error): Add full stop. Gettextizze.
21831 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21832 (grub_bsd_load_elf): Capitalise ELF.
21833 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21834 (grub_cmd_freebsd_module): Likewise.
21835 (grub_cmd_freebsd_module_elf): Likewise.
21836 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21837
40e3a41f 218382010-01-06 Carles Pina i Estany <carles@pina.cat>
21839
21840 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21841 * commands/search_file.c (HELP_MESSAGE): New macro.
21842 * commands/search_label.c (HELP_MESSAGE): Likewise.
21843 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21844 * po/POTFILES: Add `commands/search_file.c',
21845 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21846 `commands/search.c'.
21847
83507e68
RM
218482010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21849
21850 * config.rpath: Update from Gnulib.
21851
465c787b
YB
218522010-01-05 Yves Blusseau <blusseau@zetam.org>
21853
21854 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21855
6581dd3a
YB
218562010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21857
21858 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21859
3bff18c5
CW
218602010-01-05 Colin Watson <cjwatson@ubuntu.com>
21861
21862 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21863 arguments to fread so that we get a return value in bytes, rather
21864 than something that will normally be rounded down to 0.
21865 Adjust error handling to avoid producing garbage when size_t is not
21866 the same size as long long.
21867
a1368118
CW
218682010-01-05 Colin Watson <cjwatson@ubuntu.com>
21869
21870 * util/mkisofs/write.c (padblock_write): Check return value of
21871 fread.
21872
7c302978
RM
218732010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21874
21875 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21876 floppy images now.
21877
21878 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21879
e33ace06
RM
218802010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21881
21882 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21883 instead of manual alignment.
21884 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21885 verbose). Avoid attempts to read past end of the device
21886 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21887 but GRUB_DISK_CACHE_SIZE may exceed that).
21888
4b856776
RM
218892010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21892 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21893 it to upper layer.
21894
52c2d97f
VS
218952010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21898 New constant.
21899 (grub_efi_piwg_device_path): New structure
21900 (grub_efi_piwg_device_path_t): New type.
21901 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21902 (devpath_1): Transform to a structure. All users updated.
21903 (devpath_2): Likewise.
21904 (devpath_3): Likewise.
21905 (devpath_4): Likewise.
21906 (devpath_5): Likewise.
21907
98ff6a54
VS
219082010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * loader/efi/appleloader.c: Restored. Update all users.
21911
3a73dcb6
RM
219122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21913
21914 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21915
21916 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21917 (struct boot_blocklist): Move from here ...
21918 * include/grub/i386/pc/boot.h [ASM_FILE]
21919 (struct grub_boot_blocklist): ... to here. Update all users.
21920 (setup): Only initialize `start' member of `first_block'
21921 structure. Add assert() calls to verify the other members.
21922
21923 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21924 (generate_image): Fix broken blocklist length initialization.
21925 Add assert() call to verify blocklist `segment' field.
21926
ab0eeb0c
RM
219272010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21928
21929 * loader/efi/appleloader.c: Remove. Update all users.
21930
58bc8bd5
RM
219312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * boot/i386/pc/boot.S: Update copyright year.
21934 * boot/i386/pc/cdboot.S: Likewise.
21935 * boot/i386/pc/diskboot.S: Likewise.
21936 * boot/i386/pc/lnxboot.S: Likewise.
21937 * boot/i386/pc/pxeboot.S: Likewise.
21938 * bus/pci.c: Likewise.
21939 * commands/cmp.c: Likewise.
21940 * commands/help.c: Likewise.
21941 * commands/hexdump.c: Likewise.
21942 * commands/i386/pc/halt.c: Likewise.
21943 * commands/i386/pc/play.c: Likewise.
21944 * commands/i386/pc/vbeinfo.c: Likewise.
21945 * commands/ls.c: Likewise.
21946 * commands/test.c: Likewise.
21947 * disk/dmraid_nvidia.c: Likewise.
21948 * disk/i386/pc/biosdisk.c: Likewise.
21949 * disk/ieee1275/nand.c: Likewise.
21950 * disk/ieee1275/ofdisk.c: Likewise.
21951 * disk/lvm.c: Likewise.
21952 * disk/raid.c: Likewise.
21953 * disk/raid6_recover.c: Likewise.
21954 * disk/scsi.c: Likewise.
21955 * fs/affs.c: Likewise.
21956 * fs/cpio.c: Likewise.
21957 * fs/ext2.c: Likewise.
21958 * fs/hfs.c: Likewise.
21959 * fs/iso9660.c: Likewise.
21960 * fs/ntfs.c: Likewise.
21961 * fs/sfs.c: Likewise.
21962 * fs/udf.c: Likewise.
21963 * fs/ufs.c: Likewise.
21964 * fs/xfs.c: Likewise.
21965 * gencmdlist.sh: Likewise.
21966 * genmk.rb: Likewise.
21967 * include/grub/disk.h: Likewise.
21968 * include/grub/efi/api.h: Likewise.
21969 * include/grub/efi/efi.h: Likewise.
21970 * include/grub/efi/pe32.h: Likewise.
21971 * include/grub/elf.h: Likewise.
21972 * include/grub/fs.h: Likewise.
21973 * include/grub/i386/at_keyboard.h: Likewise.
21974 * include/grub/i386/pc/memory.h: Likewise.
21975 * include/grub/i386/pc/vbe.h: Likewise.
21976 * include/grub/i386/pci.h: Likewise.
21977 * include/grub/i386/tsc.h: Likewise.
21978 * include/grub/ieee1275/ieee1275.h: Likewise.
21979 * include/grub/ntfs.h: Likewise.
21980 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21981 * include/grub/sparc64/libgcc.h: Likewise.
21982 * include/grub/symbol.h: Likewise.
21983 * include/grub/types.h: Likewise.
21984 * include/multiboot2.h: Likewise.
21985 * io/gzio.c: Likewise.
21986 * kern/device.c: Likewise.
21987 * kern/disk.c: Likewise.
21988 * kern/efi/efi.c: Likewise.
21989 * kern/efi/mm.c: Likewise.
21990 * kern/elf.c: Likewise.
21991 * kern/file.c: Likewise.
21992 * kern/i386/dl.c: Likewise.
21993 * kern/i386/pc/init.c: Likewise.
21994 * kern/i386/pc/startup.S: Likewise.
21995 * kern/ieee1275/ieee1275.c: Likewise.
21996 * kern/ieee1275/init.c: Likewise.
21997 * kern/main.c: Likewise.
21998 * kern/mm.c: Likewise.
21999 * kern/powerpc/dl.c: Likewise.
22000 * kern/sparc64/dl.c: Likewise.
22001 * kern/x86_64/dl.c: Likewise.
22002 * lib/hexdump.c: Likewise.
22003 * loader/efi/appleloader.c: Likewise.
22004 * loader/i386/ieee1275/linux.c: Likewise.
22005 * loader/i386/pc/chainloader.c: Likewise.
22006 * loader/i386/pc/linux.c: Likewise.
22007 * loader/i386/pc/multiboot2.c: Likewise.
22008 * loader/ieee1275/multiboot2.c: Likewise.
22009 * loader/multiboot2.c: Likewise.
22010 * loader/multiboot_loader.c: Likewise.
22011 * loader/powerpc/ieee1275/linux.c: Likewise.
22012 * normal/completion.c: Likewise.
22013 * normal/menu_entry.c: Likewise.
22014 * partmap/apple.c: Likewise.
22015 * util/grub.d/10_hurd.in: Likewise.
22016 * util/hostfs.c: Likewise.
22017 * video/readers/png.c: Likewise.
22018
e2d70b5c
CW
220192010-01-03 Colin Watson <cjwatson@ubuntu.com>
22020
22021 * include/grub/misc.h (GNUC_PREREQ): New macro.
22022 (ATTRIBUTE_ERROR): New macro.
22023 * include/grub/list.h (grub_bad_type_cast_real): Use
22024 ATTRIBUTE_ERROR.
22025
a173283f 220262010-01-03 Carles Pina i Estany <carles@pina.cat>
22027
22028 * normal/menu_text.c (print_message): Change messages.
22029
7fa7ff74 220302010-01-03 Carles Pina i Estany <carles@pina.cat>
22031
22032 * normal/menu_entry.c (store_completion): Gettextizze.
22033
136d24f6 220342010-01-03 Carles Pina i Estany <carles@pina.cat>
22035
22036 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22037
f936862e 220382010-01-03 Carles Pina i Estany <carles@pina.cat>
22039
22040 * po/POTFILES: Sort correctly.
22041
29c44ad1 220422010-01-03 Carles Pina i Estany <carles@pina.cat>
22043
22044 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22045 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22046 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22047 full stop.
22048 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22049 summary. Gettextizze the strings.
22050 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22051 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22052 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22053 full stop.
22054 (GRUB_MOD_INIT): Remove command name from summary.
22055 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22056 summary.
22057 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22058 * term/i386/pc/serial.c (options): Add full stops.
22059 (GRUB_MOD_INIT): Remove command name from the summary.
22060
77a79592 220612010-01-03 Carles Pina i Estany <carles@pina.cat>
22062
22063 * commands/acpi.c: Gettextizze help strings and/or options. Include
22064 `grub/i18n.h' if needed.
22065 * commands/blocklist.c: Likewise.
22066 * commands/boot.c: Likewise.
22067 * commands/cat.c: Likewise.
22068 * commands/cmp.c: Likewise.
22069 * commands/configfile.c: Likewise.
22070 * commands/crc.c: Likewise.
22071 * commands/date.c: Likewise.
22072 * commands/echo.c: Likewise.
22073 * commands/efi/fixvideo.c: Likewise.
22074 * commands/efi/loadbios.c: Likewise.
22075 * commands/gptsync.c: Likewise.
22076 * commands/halt.c: Likewise.
22077 * commands/handler.c: Likewise.
22078 * commands/hdparm.c: Likewise.
22079 * commands/hexdump.c: Likewise.
22080 * commands/i386/cpuid.c: Likewise.
22081 * commands/i386/pc/drivemap.c: Likewise.
22082 * commands/i386/pc/halt.c: Likewise.
22083 * commands/i386/pc/pxecmd.c: Likewise.
22084 * commands/i386/pc/vbeinfo.c: Likewise.
22085 * commands/i386/pc/vbetest.c: Likewise.
22086 * commands/ieee1275/suspend.c: Likewise.
22087 * commands/keystatus.c: Likewise.
22088 * commands/loadenv.c: Likewise.
22089 * commands/ls.c: Likewise.
22090 * commands/lsmmap.c: Likewise.
22091 * commands/lspci.c: Likewise.
22092 * commands/memrw.c: Likewise.
22093 * commands/minicmd.c: Likewise.
22094 * commands/parttool.c: Likewise.
22095 * commands/password.c: Likewise.
22096 * commands/probe.c: Likewise.
22097 * commands/read.c: Likewise.
22098 * commands/reboot.c: Likewise.
22099 * commands/search.c: Likewise.
22100 * commands/sleep.c: Likewise.
22101 * commands/test.c: Likewise.
22102 * commands/true.c: Likewise.
22103 * commands/usbtest.c: Likewise.
22104 * commands/videotest.c: Likewise.
22105 * commands/xnu_uuid.c: Likewise.
22106 * disk/loopback.c: Likewise.
22107 * hello/hello.c: Likewise.
22108 * loader/i386/bsd.c: Likewise.
22109 * term/i386/pc/serial.c: Likewise.
22110 * po/POTFILES: Add new files.
22111
da8d5c53
CW
221122010-01-02 Colin Watson <cjwatson@ubuntu.com>
22113
22114 * term/i386/pc/at_keyboard.c
22115 (keyboard_controller_wait_untill_ready): Rename to ...
22116 (keyboard_controller_wait_until_ready): ... this. Update all users.
22117
33937904 221182010-01-01 Carles Pina i Estany <carles@pina.cat>
22119
22120 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22121 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22122 string using string width.
22123 * normal/menu_text.c (grub_print_message_indented): Use
22124 grub_print_spaces and not print_spaces.
22125 (print_timeout): Likewise.
22126 (print_spaces): Move to...
22127 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22128
3fd3b8d8
RM
221292010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22130
22131 Import from Gnulib.
22132
22133 * gnulib/getdelim.c: New file.
22134 * gnulib/getline.c: Likewise.
22135
33433555
VS
221362009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22137
22138 * include/grub/list.h (grub_assert_fail): Removed.
22139 (grub_bad_type_cast_real): New function.
22140 (grub_bad_type_cast): New macro.
22141 (GRUB_AS_LIST): Use grub_bad_type_cast.
22142 (GRUB_AS_LIST_P): Likewise.
e44721e8 22143 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22144 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22145 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22146 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22147 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22148
f5a51306
VS
221492009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22152 Fix syntax error.
22153
90d1e879
RM
221542009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22155
22156 * configure.ac: Check for TARGET_CFLAGS initialization before we
22157 initialize it ourselves (sigh).
22158 Move a few modifications to TARGET_CFLAGS to be unconditional
22159 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22160 eh_frame)
22161
22162 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22163 * term/i386/pc/at_keyboard.c
22164 (keyboard_controller_wait_untill_ready): Likewise.
22165 (keyboard_controller_led): Rename `led_status' paramter to avoid
22166 name conflict.
22167
465b5a81 221682009-12-28 Carles Pina i Estany <carles@pina.cat>
22169
22170 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22171 quotes.
22172
c181849b
VS
221732009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22174
22175 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22176
9c8739a4
VS
221772009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22178
22179 * normal/menu_text.c (grub_print_message_indented): Prevent
22180 past-the-end-of-array dereference.
22181
3e74249c
VS
221822009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22183
22184 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22185 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22186
64fd18ed 221872009-12-27 Carles Pina i Estany <carles@pina.cat>
22188
22189 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22190 * normal/main.c (grub_normal_read_line): Remove a space from the
22191 default prompt.
22192
714af9b9 221932009-12-27 Carles Pina i Estany <carles@pina.cat>
22194
22195 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22196 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22197 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22198 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22199 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22200 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22201 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22202
82f3e412 222032009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22204
22205 * video/readers/jpeg.c (cmd): Declare.
22206 (grub_cmd_jpegtest): Use `grub_command_t' type.
22207 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22208 Assign to `cmd'.
22209 (GRUB_MOD_FINI): Use `cmd' to unregister.
22210 * video/readers/png.c (cmd): Declare.
22211 (grub_cmd_pngtest): Use `grub_command_t' type.
22212 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22213 Assign to `cmd'.
22214 (GRUB_MOD_FINI): Use `cmd' to unregister.
22215 * video/readers/tga.c (cmd): Declare.
22216 (grub_cmd_tgatest): Use `grub_command_t' type.
22217 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22218 Assign to `cmd'.
22219 (GRUB_MOD_FINI): Use `cmd' to unregister.
22220
82f3e412 222212009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22222
22223 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22224 stops.
22225 * kern/corecmd.c (grub_register_core_commands): Likewise.
22226 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22227 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22228 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22229 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22230 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22231 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22232 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22233 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22234 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22235 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22236 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22237 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22238 * normal/handler.c (insert_handler): Likewise.
22239 * normal/main.c (GRUB_MOD_INIT): Likewise.
22240 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22241
fdcdbb66 222422009-12-26 Carles Pina i Estany <carles@pina.cat>
22243
22244 * commands/help.c (grub_cmd_help): Print the command name before the
22245 summary.
22246 (GRUB_MOD_INIT): Remove command name from the summary.
22247 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22248 string as summary.
fdcdbb66 22249 * lib/arg.c (find_long): Print the command name before the summary.
22250 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22251 summary.
22252 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22253 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22254 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22255 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22256 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22257 * commands/date.c (GRUB_MOD_INIT): Likewise.
22258 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22259 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22260 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22261 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22262 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22263 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22264 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22265 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22266 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22267 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22268 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22269 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22270 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22271 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22272 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22273 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22274 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22275 * commands/password.c (GRUB_MOD_INIT): Likewise.
22276 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22277 * commands/read.c (GRUB_MOD_INIT): Likewise.
22278 * commands/search.c (GRUB_MOD_INIT): Likewise.
22279 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22280 * commands/test.c (GRUB_MOD_INIT): Likewise.
22281 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22282 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22283 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22284 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22285 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22286 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22287 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22288 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22289 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22290 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22291 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22292 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22293 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22294 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22295
9c288be2
VS
222962009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 Use search command for preliminar UUID search.
22299
22300 * commands/search.c: Split into ...
22301 * commands/search_wrap.c: ...this
22302 * commands/search.c: ...and this.
22303 * commands/search_file.c: New file.
22304 * commands/search_label.c: New file.
22305 * commands/search_uuid.c: New file.
22306 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22307 Add commands/search_wrap.c, commands/search_file.c,
22308 commands/search_label.c and commands/search_uuid.c.
22309 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22310 (search_mod_SOURCES): Set to commands/search_wrap.c.
22311 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22312 search_label.mod.
22313 (search_fs_file_mod_SOURCES): New variable.
22314 (search_fs_file_mod_CFLAGS): Likewise.
22315 (search_fs_file_mod_LDFLAGS): Likewise.
22316 (search_label_mod_SOURCES): Likewise.
22317 (search_label_mod_CFLAGS): Likewise.
22318 (search_label_mod_LDFLAGS): Likewise.
22319 (search_fs_uuid_mod_SOURCES): New variable.
22320 (search_fs_uuid_mod_CFLAGS): Likewise.
22321 (search_fs_uuid_mod_LDFLAGS): Likewise.
22322 (fs_file_mod_SOURCES): Removed.
22323 (fs_file_mod_CFLAGS): Likewise.
22324 (fs_file_mod_LDFLAGS): Likewise.
22325 (fs_uuid_mod_SOURCES): Removed.
22326 (fs_uuid_mod_CFLAGS): Likewise.
22327 (fs_uuid_mod_LDFLAGS): Likewise.
22328 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22329 Set to util/grub-install.in.
22330 * disk/fs_file.c: Removed.
22331 * disk/fs_uuid.c: Likewise.
22332 * include/grub/search.h: New file.
22333 * util/grub-install.in: Handle sparc64.
22334 Create and use load.cfg.
22335 * util/sparc64/ieee1275/grub-install.in: Removed.
22336
db943399
VS
223372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22338
22339 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22340 Ignore return status if CF is cleared.
22341 (grub_biosdisk_get_diskinfo_standard): Likewise.
22342
3fdae612
RM
223432009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22344
22345 * term/i386/pc/at_keyboard.c
22346 (keyboard_controller_wait_untill_ready): New function.
22347 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22348 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22349 for keyboard polling, rather than duplicate the same loop. This
22350 saves a few bytes in code size.
22351
7ebaa2b4
VS
223522009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22353
22354 Support for (pxe[:server[:gateway]]) syntax and
22355 use environment variable for PXE.
22356
22357 * commands/i386/pc/pxecmd.c (options): Removed.
22358 (print_ip): Removed.
22359 (grub_cmd_pxe): Removed
22360 (grub_cmd_pxe_unload): New function.
22361 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22362 (grub_pxe_your_ip): Made static.
22363 (grub_pxe_default_server_ip): Likewise.
22364 (grub_pxe_default_gateway_ip): Likewise.
22365 (grub_pxe_blksize): Likewise.
22366 (parse_ip): New function.
22367 (grub_pxe_open): Support server and gateway specification.
22368 (grub_pxe_close): Free disk->data.
22369 (grub_pxefs_open): Use disk->data.
22370 (grub_pxefs_read): Likewise.
22371 (grub_env_write_readonly): New function.
22372 (set_mac_env): Likewise.
22373 (set_env_limn_ro): Likewise.
22374 (parse_dhcp_vendor): Likewise.
22375 (grub_pxe_detect): Set the environment variables.
22376 (set_ip_env): New function.
22377 (write_ip_env): Likewise.
22378 (grub_env_write_pxe_default_server): Likewise.
22379 (grub_env_write_pxe_default_gateway): Likewise.
22380 (grub_env_write_pxe_blocksize): Likewise.
22381 (GRUB_MOD_INIT(pxe)): Set environment variables.
22382 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22383 (grub_pxe_mac_addr_t): ... this. All users updated.
22384 (grub_pxe_your_ip): Removed.
22385 (grub_pxe_server_ip): Likewise.
22386 (grub_pxe_gateway_ip): Likewise.
22387 (grub_pxe_blksize): Likewise.
22388
ec5f98ab 223892009-12-25 Carles Pina i Estany <carles@pina.cat>
22390
22391 * commands/help.c: Include `<grub/i18n.h>'.
22392 (grub_cmd_help): Gettextizze.
22393 (GRUB_MOD_INIT): Likewise.
22394 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22395 (GRUB_MOD_INIT): Gettextizze.
22396 * commands/search.c: Include `<grub/i18n.h>'.
22397 (options): Gettextizze.
22398 (GRUB_MOD_INIT): Gettextizze.
22399 * lib/arg.c: Include `<grub/i18n.h>'.
22400 (help_options): Gettextizze.
22401 (find_long): Likewise.
22402 (grub_arg_show_help): Likewise.
22403 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22404 (read_command_list): Gettextizze.
22405 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22406 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22407
22815526
RM
224082009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22411 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22412 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22413 (led_status): New variable.
22414 (keyboard_controller_led): New function.
22415 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22416 update led status for caps lock, num lock and scroll lock.
22417
0ad46fd7
FZ
224182009-12-25 Felix Zielcke <fzielcke@z-51.de>
22419
22420 * util/hostdisk.c (open_device): Fix a comment.
22421
d0e158c2
RM
224222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22423
22424 * util/grub-install.in (host_os): New variable.
22425 * util/i386/efi/grub-install.in (host_os): Likewise.
22426
401c0ad6
RM
224272009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22428
22429 * util/mkisofs/write.c (padblock_write): Abort when given an
22430 excedingly large embed image, instead of silently truncating it.
22431
d14d3370
RM
224322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22433
22434 * include/multiboot.h: Indentation fixes.
22435
eeed10b4
RM
224362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22437
22438 * include/multiboot.h (struct multiboot_aout_symbol_table)
22439 (struct multiboot_elf_section_header_table): New structure
22440 declarations (stolen from GRUB Legacy).
22441 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22442 table information.
22443
22444 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22445 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22446 type aliases.
22447
681c70ab
RM
224482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22449
22450 * include/multiboot.h: Make comments src2texi-friendly.
22451
e4d47d8d
RM
224522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22453
22454 For consistency with [multiboot]/docs/boot.S.
22455
22456 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22457 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22458 (MULTIBOOT_MAGIC2): Rename from this ...
22459 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22460
a0b70bda
RM
224612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22462
22463 * include/multiboot.h: Remove `<grub/types.h>'.
22464 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22465 types. Update all users.
22466
61ba42be 224672009-12-25 Carles Pina i Estany <carles@pina.cat>
22468
22469 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22470 `couldn't' and `can not' by `cannot'.
22471 * commands/i386/pc/drivemap.c: Likewise.
22472 * disk/ata.c: Likewise.
22473 * disk/ieee1275/nand.c: Likewise.
22474 * fs/affs.c: Likewise.
22475 * fs/fat.c: Likewise.
22476 * fs/hfs.c: Likewise.
22477 * fs/hfsplus.c: Likewise.
22478 * fs/iso9660.c: Likewise.
22479 * fs/jfs.c: Likewise.
22480 * fs/minix.c: Likewise.
22481 * fs/reiserfs.c: Likewise.
22482 * fs/sfs.c: Likewise.
22483 * fs/udf.c: Likewise.
22484 * fs/ufs.c: Likewise.
22485 * fs/xfs.c: Likewise.
22486 * loader/powerpc/ieee1275/linux.c: Likewise.
22487 * loader/sparc64/ieee1275/linux.c: Likewise.
22488 * util/grub-probe.c: Likewise.
22489 * util/misc.c: Likewise.
22490
7fd0baee 224912009-12-24 Carles Pina i Estany <carles@pina.cat>
22492
22493 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22494 grub_errno calls.
22495 * commands/acpi.c: Likewise.
22496 * commands/blocklist.c: Likewise.
22497 * commands/efi/loadbios.c: Likewise.
22498 * commands/i386/pc/drivemap.c: Likewise.
22499 * commands/loadenv.c: Likewise.
22500 * commands/memrw.c: Likewise.
22501 * commands/password.c: Likewise.
22502 * commands/videotest.c: Likewise.
22503 * disk/ata.c: Likewise.
22504 * disk/ata_pthru.c: Likewise.
22505 * disk/dmraid_nvidia.c: Likewise.
22506 * disk/ieee1275/nand.c: Likewise.
22507 * disk/ieee1275/ofdisk.c: Likewise.
22508 * disk/loopback.c: Likewise.
22509 * disk/lvm.c: Likewise.
22510 * disk/mdraid_linux.c: Likewise.
22511 * disk/raid.c: Likewise.
22512 * disk/raid6_recover.c: Likewise.
22513 * disk/scsi.c: Likewise.
22514 * efiemu/main.c: Likewise.
22515 * efiemu/mm.c: Likewise.
22516 * efiemu/pnvram.c: Likewise.
22517 * efiemu/symbols.c: Likewise.
22518 * font/font.c: Likewise.
22519 * fs/cpio.c: Likewise.
22520 * fs/hfsplus.c: Likewise.
22521 * fs/iso9660.c: Likewise.
22522 * fs/jfs.c: Likewise.
22523 * fs/minix.c: Likewise.
22524 * fs/ntfs.c: Likewise.
22525 * fs/ntfscomp.c: Likewise.
22526 * fs/reiserfs.c: Likewise.
22527 * fs/ufs.c: Likewise.
22528 * fs/xfs.c: Likewise.
22529 * gettext/gettext.c: Likewise.
22530 * include/grub/auth.h: Likewise.
22531 * kern/elf.c: Likewise.
22532 * kern/file.c: Likewise.
22533 * kern/ieee1275/init.c: Likewise.
22534 * kern/ieee1275/mmap.c: Likewise.
22535 * kern/ieee1275/openfw.c: Likewise.
22536 * kern/powerpc/dl.c: Likewise.
22537 * kern/sparc64/dl.c: Likewise.
22538 * lib/arg.c: Likewise.
22539 * loader/i386/bsd.c: Likewise.
22540 * loader/i386/bsdXX.c: Likewise.
22541 * loader/i386/efi/linux.c: Likewise.
22542 * loader/i386/efi/xnu.c: Likewise.
22543 * loader/i386/ieee1275/linux.c: Likewise.
22544 * loader/i386/linux.c: Likewise.
22545 * loader/i386/multiboot.c: Likewise.
22546 * loader/i386/pc/linux.c: Likewise.
22547 * loader/i386/pc/multiboot2.c: Likewise.
22548 * loader/i386/xnu.c: Likewise.
22549 * loader/ieee1275/multiboot2.c: Likewise.
22550 * loader/macho.c: Likewise.
22551 * loader/machoXX.c: Likewise.
22552 * loader/multiboot2.c: Likewise.
22553 * loader/multiboot_loader.c: Likewise.
22554 * loader/powerpc/ieee1275/linux.c: Likewise.
22555 * loader/sparc64/ieee1275/linux.c: Likewise.
22556 * loader/xnu.c: Likewise.
22557 * loader/xnu_resume.c: Likewise.
22558 * mmap/i386/pc/mmap.c: Likewise.
22559 * normal/menu_viewer.c: Likewise.
22560 * partmap/acorn.c: Likewise.
22561 * partmap/amiga.c: Likewise.
22562 * partmap/apple.c: Likewise.
22563 * script/lexer.c: Likewise.
22564 * term/gfxterm.c: Likewise.
22565 * term/i386/pc/serial.c: Likewise.
22566 * term/i386/pc/vga.c: Likewise.
22567 * term/ieee1275/ofconsole.c: Likewise.
22568 * term/terminfo.c: Likewise.
22569 * video/bitmap.c: Likewise.
22570 * video/efi_gop.c: Likewise.
22571 * video/efi_uga.c: Likewise.
22572 * video/fb/video_fb.c: Likewise.
22573 * video/i386/pc/vbe.c: Likewise.
22574 * video/readers/tga.c: Likewise.
22575 * video/video.c: Likewise.
22576
0ad46fd7 225772009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22578
22579 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22580 * commands/lspci.c: Likewise.
22581 * commands/probe.c: Likewise.
22582 * commands/xnu_uuid.c: Likewise.
22583 * conf/i386-coreboot.rmk: Likewise.
22584 * conf/i386-efi.rmk: Likewise.
22585 * conf/i386-ieee1275.rmk: Likewise.
22586 * conf/i386-pc.rmk: Likewise.
22587 * conf/powerpc-ieee1275.rmk: Likewise.
22588 * conf/sparc64-ieee1275.rmk: Likewise.
22589 * conf/x86_64-efi.rmk: Likewise.
22590 * fs/i386/pc/pxe.c: Likewise.
22591 * gettext/gettext.c: Likewise.
22592 * include/grub/efi/graphics_output.h: Likewise.
22593 * include/grub/i386/pc/memory.h: Likewise.
22594 * kern/env.c: Likewise.
22595 * kern/i386/qemu/startup.S: Likewise.
22596 * lib/i386/pc/biosnum.c: Likewise.
22597 * lib/i386/relocator.c: Likewise.
22598 * lib/i386/relocator_asm.S: Likewise.
22599 * lib/relocator.c: Likewise.
22600 * loader/i386/bsd.c: Likewise.
22601 * loader/i386/multiboot.c: Likewise.
22602 * loader/i386/pc/chainloader.c: Likewise.
22603 * loader/i386/xnu.c: Likewise.
22604 * loader/xnu.c: Likewise.
22605 * normal/main.c: Likewise.
22606 * normal/menu_text.c: Likewise.
22607 * util/getroot.c: Likewise.
22608 * util/grub-mkconfig_lib.in: Likewise.
22609 * util/grub.d/00_header.in: Likewise.
22610 * util/i386/pc/grub-mkimage.c: Likewise.
22611 * util/mkisofs/eltorito.c: Likewise.
22612 * util/mkisofs/exclude.h: Likewise.
22613 * util/mkisofs/hash.c: Likewise.
22614 * util/mkisofs/iso9660.h: Likewise.
22615 * util/mkisofs/joliet.c: Likewise.
22616 * util/mkisofs/mkisofs.c: Likewise.
22617 * util/mkisofs/mkisofs.h: Likewise.
22618 * util/mkisofs/multi.c: Likewise.
22619 * util/mkisofs/name.c: Likewise.
22620 * util/mkisofs/rock.c: Likewise.
22621 * util/mkisofs/tree.c: Likewise.
22622 * util/mkisofs/write.c: Likewise.
22623 * video/efi_gop.c: Likewise.
22624
009ec743
VS
226252009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22626
22627 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22628 size counting.
22629
0ad46fd7 226302009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22631
22632 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22633 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22634
d3d30ea0
VS
226352009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22638 (GRUB_MOD_INIT(memrw)): Update help line.
22639
a34f5c70
VS
226402009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22643 Use grub_extcmd_t. All users updated.
22644 (options): New variable.
22645 (grub_cmd_read): Restructure for readability. Support "-v" option.
22646 (grub_cmd_write): Restructure for readability.
22647
0ad46fd7 226482009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22649
22650 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22651
0ad46fd7 226522009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22653
22654 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22655 with the actual contents of the correspondending make variable.
22656 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22657 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22658 specifying `*.lst' and `efiemu??.o'
22659
0ad46fd7 226602009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22661
22662 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22663 after function name.
22664 Noticed by Rene Engelhard <rene@debian.org>.
22665
dc77a799
VS
226662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22667
22668 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22669 (options): New variable.
22670 (iospace): Likewise.
22671 (grub_lspci_iter): List IO spaces if "-i" was given.
22672 (grub_cmd_lspci): Parse options.
22673 (GRUB_MOD_INIT(lspci)): Use extcmd.
22674 (GRUB_MOD_FINI(lspci)): Likewise.
22675
0ad46fd7 226762009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22677
22678 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22679 `function' keyword.
22680 Patch by Tony Mancill <tmancill@debian.org>.
22681
b5d5993b
VS
226822009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22683
22684 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22685 (grub_uhci_portstatus): Likewise.
22686 (grub_uhci_portstatus): Add necessary delay.
11d18281 22687 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22688
941903f2 226892009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22690
941903f2 22691 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22692 (GRUB_MOD_INIT): Likewise.
22693 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22694 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22695 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22696 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22697 (enable_rom_area): Likewise.
22698 (GRUB_MOD_INIT): Likewise.
22699 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22700 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22701 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22702 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22703 * commands/hexdump.c (options): Likewise.
22704 * commands/i386/cpuid.c (options): Likewise.
22705 (GRUB_MOD_INIT): Likewise.
22706 * commands/i386/pc/drivemap.c (options): Likewise.
22707 (GRUB_MOD_INIT): Likewise.
22708 * commands/i386/pc/halt (options): Likewise.
22709 (GRUB_MOD_INIT): Likewise.
22710 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22711 * commands/i386/pc/pxecmd.c (options): Likewise.
22712 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22713 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22714 * commands/keystatus.c (options): Likewise.
22715 (GRUB_MOD_INIT): Likewise.
22716 * commands/loadenv.c (options): Likewise.
22717 * commands/ls.c (options): Likewise.
22718 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22719 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22720 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22721 * commands/parttool.c (helpmsg): Likewise.
22722 * commands/probe.c (options): Likewise.
22723 * commands/read.c (GRUB_MOD_INIT): Likewise.
22724 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22725 * commands/search.c (options): Likewise.
22726 * commands/sleep.c (options): Likewise.
22727 * commands/test.c (GRUB_MOD_INIT): Likewise.
22728 * commands/true.c (GRUB_MOD_INIT): Likewise.
22729 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22730 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22731 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22732 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22733 `$(XGETTEXT)'.
98a50553 22734 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22735
0ad46fd7 227362009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22737
ef3c2c3a 22738 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22739 instead of specifying them explicit.
22740
7922f68b
RM
227412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * NEWS: Add grub-probe support for GNU/Hurd.
22744
537ce47f
RM
227452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22746
22747 * NEWS: gettext was added after 1.97.
22748
9b214e3a
RM
227492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22750
22751 * util/mkisofs/msdos_partition.h: New file (based on
22752 include/grub/msdos_partition.h).
22753 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22754 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22755 (ld_options, main): Recognize --protective-msdos-label.
22756 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22757 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22758 (padblock_write): If `use_protective_msdos_label' is set, patch a
22759 protective DOS-style label in the output image.
22760
22761 * util/grub-mkrescue.in: Use --protective-msdos-label.
22762
e9309813
RM
227632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22766 boot.
22767
0ae56929
RM
227682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22769
22770 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22771 variables.
22772 (ld_options, main): Recognize `--embedded-boot'.
22773 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22774 declarations.
22775 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22776 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22777 (padblock_write): Likewise. Rewrite to support embedded boot image.
22778
22779 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22780 for BIOS-based disk boot instead of only ElTorito.
22781
b15937b1
RM
227822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22783
22784 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22785 build (not needed for bootstrap).
22786
52cc3ce0
RM
227872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22788
22789 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22790 from i386-pc build (not needed for bootstrap).
22791 Rewrite a pair of strings.
22792
36f5ff04
RM
227932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22794
22795 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22796
973c6c85 227972009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22798
22799 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22800
05d21547
AB
228012009-12-21 Andreas Born <futur.andy@googlemail.com>
22802
22803 * kern/env.c (grub_env_context_open): Mark exported variable for
22804 reexport.
22805
0175d51f
AB
228062009-12-21 Andreas Born <futur.andy@googlemail.com>
22807
22808 * kern/env.c (grub_env_export): Create nonexistent variables before
22809 exporting.
22810
7f39d92f 228112009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22812
7f39d92f 22813 * include/grub/auth.h: Include `<grub/i18n.h>'.
22814 (GRUB_GET_PASSWORD): Gettextizze string.
22815 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22816 menu_text.c.
22817 (grub_utf8_to_ucs4_alloc): Fix indentation.
22818 (grub_print_ucs4): Likewise.
22819 (grub_getstringwidth): Likewise.
22820 (print_message_indented): New declaration.
22821 * normal/auth.c: Include `<grub/i18n.h>'.
22822 (grub_auth_check_authentication): Gettexttize string.
22823 * normal/cmdline.c: Include `<grub/i18n.h>'.
22824 (grub_cmdline_get): Gettextizze.
22825 * normal/color.c: Include `<grub/i18n.h>'.
22826 (grub_parse_color_name_pair): Gettexttize strings.
22827 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22828 string (use `print_message_indented').
22829 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22830 `include/grub/normal.h'.
22831 (print_message_indented): Renamed to ...
22832 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22833 used in normal/main.c).
22834 (print_message): Use `grub_print_message_indented' instead of
22835 `print_message_indented'.
22836 (print_timeout): Likewise.
22837 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22838 (grub_normal_print_device_info): Gettexttize strings.
22839 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22840
3041d898
VS
228412009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22844 of arguments. Return number of tokens and not arguments. All users
22845 updated.
22846
de15bf8e
VS
228472009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22850 non-MSDOS paritions.
22851
e0a6ca52
VS
228522009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * include/grub/types.h (UNUSED): Removed since it conflicts with
22855 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22856 Reported by Grégoire Sutre.
22857
b99518d1 228582009-12-19 Carles Pina i Estany <carles@pina.cat>
22859
22860 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22861 (grub_print_ucs4_alloc): Likewise.
22862 (grub_getstringwidth): Likewise.
22863 * normal/main.c (grub_normal_init_page): Gettextize version string.
22864 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22865 (getstringwidth): Renamed to ...
22866 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22867 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22868 (grub_print_ucs4): Remove `static' qualifer (now used in
22869 normal/main.c).
22870 * po/POTFILES: Add normal/main.c.
22871
bfd5e52b 228722009-12-19 Carles Pina i Estany <carles@pina.cat>
22873
22874 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22875 (print_message_indented): Add `margin_left' and `margin_right'
22876 parameters.
22877 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22878 strings.
22879 (print_timeout): Use `print_message_indented' to print the message.
22880 Deletes `second_stage' parameter.
22881 (run_menu): Update `print_timeout' calls.
22882
5a1ad2b9
VS
228832009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22884
22885 Fix console palette on OpenFirmware.
22886
22887 * term/ieee1275/ofconsole.c (MAX): Removed.
22888 (colors): Redone based on VGA palette.
22889 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22890 colors are supported.
22891 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22892
b045f00a
VS
228932009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 Fix potential EfiEmu double prepare.
22896
22897 * efiemu/main.c (prepared): New variable
22898 (grub_efiemu_unload): Set prepare to '0'.
22899 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22900
22901 set_virtual_address_map support.
22902
22903 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22904 prototype.
22905 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22906 prototype.
22907 (grub_efiemu_crc32): Likewise.
22908 (grub_efiemu_crc64): Likewise.
22909 (grub_efiemu_set_virtual_address_map): Likewise.
22910 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22911 New definition.
22912 (grub_autoefi_set_virtual_address_map): Likewise.
22913 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22914 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22915 Restructure flow to accomodate it.
22916 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22917 (grub_efiemu_crc): Recompute CRC32.
22918 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22919 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22920 * efiemu/symbols.c (relocated_handle): New variable.
22921 (grub_efiemu_free_syms): Free relocated_handle.
22922 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22923 (grub_efiemu_write_sym_markers): New function.
22924 (grub_efiemu_set_virtual_address_map): Likewise.
22925
22926 Newer XNU parameters.
22927
22928 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22929 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22930 (grub_xnu_fill_devicetree): New prototype.
22931 (grub_xnu_heap_real_start): New variable.
22932 * loader/xnu.c (get_name_ptr): New function.
22933 (grub_xnu_load_driver): Fill namelen and name.
22934
22935 64-bit xnu support.
22936
22937 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22938 and 'loader/macho64.c'.
22939 * conf/i386-pc.rmk: Likewise.
22940 * conf/x86_64-efi.rmk: Likewise.
22941 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22942 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22943 * include/grub/macho.h (grub_macho_segment64): New structure.
22944 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22945 (grub_macho_size32): ... to this.
22946 (grub_macho32_get_entry_point): Renamed from ...
22947 (grub_macho_get_entry_point32): ... to this.
22948 (grub_macho_contains_macho64): New prototype.
22949 (grub_macho_size64): Likewise.
22950 (grub_macho_get_entry_point64): Likewise.
22951 (grub_macho32_load): Renamed from ...
22952 (grub_macho_load32): ... to this.
22953 (grub_macho32_filesize): Renamed from ...
22954 (grub_macho_filesize32): ... to this.
22955 (grub_macho32_readfile): Renamed from ...
22956 (grub_macho_readfile32): ... to this.
22957 (grub_macho_filesize64): New prototype.
22958 (grub_macho_readfile64): Likewise.
22959 (grub_macho_parse32): Likewise.
22960 (grub_macho_parse64): Likewise.
22961 * loader/macho.c: Split into ...
22962 * loader/machoXX.c: ... and this. Replace 32 with XX.
22963 * loader/macho32.c: New file.
22964 * loader/macho64.c: Likewise.
22965 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22966 (grub_cmd_xnu_kernel): Make 32-bit only.
22967 (grub_cmd_xnu_kernel64): New function.
22968 (grub_xnu_load_driver): Support Mach-O 64.
22969 (grub_cmd_xnu_mkext): Likewise.
22970 * util/grub.d/30_os-prober.in (osx_entry): New function.
22971 Generate entries for 64-bit boot too.
22972
22973 Eliminate ad-hoc tree format in XNU and EfiEmu.
22974
22975 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22976 * efiemu/pnvram.c: Rewritten to use environment variables.
22977 All users updated.
22978
22979 Inline utf16_to_utf8.
22980
22981 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22982 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22983 All users updated.
22984 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22985
22986 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22987 * commands/usbtest.c (grub_usb_get_string): ... move here.
22988 (usb_print_str): Fix error handling.
22989 * include/grub/usb.h (grub_usb_get_string): Remove.
22990
22991 UTF-8 to UTF-16 transformation.
22992
22993 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22994 (charset_mod_SOURCES): New variable.
22995 (charset_mod_CFLAGS): Likewise.
22996 (charset_mod_LDFLAGS): Likewise.
22997 * include/grub/utf.h: New file.
22998 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22999
23000 Support for device properties.
23001
23002 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23003 (grub_xnu_devprop_device_header): Likewise.
23004 (grub_xnu_devprop_device_descriptor): Likewise.
23005 (grub_xnu_devprop_add_device): New prototype.
23006 (grub_xnu_devprop_remove_device): Likewise.
23007 (grub_xnu_devprop_remove_property): Likewise.
23008 (grub_xnu_devprop_add_property_utf8): Likewise.
23009 (grub_xnu_devprop_add_property_utf16): Likewise.
23010 (grub_cpu_xnu_init): Likewise.
23011 (grub_cpu_xnu_fini): Likewise.
23012 (grub_cpu_xnu_unload): Likewise.
23013 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23014 (property_descriptor): Likewise.
23015 (devices): New variable.
23016 (grub_xnu_devprop_remove_property): New function.
23017 (grub_xnu_devprop_add_device): Likewise.
23018 (grub_xnu_devprop_remove_device): Likewise.
23019 (grub_xnu_devprop_add_property): Likewise.
23020 (grub_xnu_devprop_add_property_utf8): Likewise.
23021 (grub_xnu_devprop_add_property_utf16): Likewise.
23022 (hextoval): Likewise.
23023 (grub_cpu_xnu_fill_devprop): Likewise.
23024 (grub_cmd_devprop_load): Likewise.
23025 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23026 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23027 (cmd_devprop_load): New variable.
23028 (grub_cpu_xnu_init): New function.
23029 (grub_cpu_xnu_fini): Likewise.
23030 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23031 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23032 (grub_cmd_xnu_devtree): Likewise.
23033 (hextoval): New function.
23034 (unescape): Likewise.
23035 (grub_xnu_fill_devicetree): Likewise.
23036
23037 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23038 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23039
0945f181
VS
230402009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 Workaround for broken ATI VBE.
23043
23044 * video/i386/pc/vbe.c (last_set_mode): New variable.
23045 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23046 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23047 (grub_video_vbe_setup): Don't check for reserved flag.
23048
0ad46fd7 230492009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23050
23051 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23052 the `find' command.
23053
c179ebe4
VS
230542009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23055
23056 UUID support for HFS.
23057
23058 * fs/hfs.c (grub_hfs_uuid): New function.
23059 (grub_hfs_fs): New value .uuid.
23060 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23061
0ad46fd7 230622009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23063
23064 Fix a segfault with parsing unknown long options.
23065
23066 * util/grub-mkrelpath.c (options): Zero terminate it.
23067
c4a3e41a
CPE
230682009-12-13 Carles Pina i Estany <carles@pina.cat>
23069
23070 * include/grub/misc.h (grub_puts): New declaration.
23071 (grub_puts_): Likewise.
a22008a6 23072 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23073 (grub_puts_): Likewise.
23074
2e8a7602
RM
230752009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23076
23077 * util/grub-probe.c (probe): Improve error message.
23078
b50b77b9
RM
230792009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23080
23081 * loader/i386/multiboot_elfxx.c
23082 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23083 initialization.
23084
230852009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 Relocator framework
23088
23089 * loader/i386/xnu_helper.S: Removed. All users updated.
23090 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23091 (relocator_mod_SOURCES): New variable.
23092 (relocator_mod_CFLAGS): Likewise.
23093 (relocator_mod_LDFLAGS): Likewise.
23094 (relocator_mod_ASFLAGS): Likewise.
23095 * conf/x86_64.rmk: Likewise.
23096 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23097 (grub_multiboot_payload_entry_offset): Likewise.
23098 (grub_multiboot_forward_relocator): Likewise.
23099 (grub_multiboot_forward_relocator_end): Likewise.
23100 (grub_multiboot_backward_relocator): Likewise.
23101 (grub_multiboot_backward_relocator_end): Likewise.
23102 (grub_multiboot_payload_eip): New variable.
23103 (grub_multiboot_payload_orig): Likewise.
23104 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23105 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23106 * include/grub/i386/memory.h
23107 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23108 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23109 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23110 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23111 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23112 * include/grub/i386/relocator.h: New file.
23113 * include/grub/x86_64/relocator.h: Likewise.
23114 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23115 (XNU_RELOCATOR): New macro.
23116 (grub_xnu_launcher_start): Remove.
23117 (grub_xnu_launcher_end): Likewise.
23118 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23119 (grub_xnu_heap_real_start): Remove.
23120 (grub_xnu_heap_start): Change to void *. All users updated.
23121 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23122 * lib/i386/relocator.c: New file.
23123 * lib/i386/relocator_asm.S: Likewise.
23124 * lib/i386/relocator_backward.S: Likewise.
23125 * lib/mips/relocator.c: Likewise.
23126 * lib/mips/relocator_asm.S: Likewise.
23127 * lib/relocator.c: Likewise.
23128 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23129 (entry): Removed.
23130 (playground): Likewise.
23131 (grub_multiboot_payload_orig): New variable.
23132 (grub_multiboot_payload_dest): Likewise.
23133 (grub_multiboot_payload_size): Likewise.
23134 (grub_multiboot_payload_eip): Likewise.
23135 (grub_multiboot_payload_esp): Likewise.
23136 (grub_multiboot_boot): Use grub_relocator32_boot.
23137 (grub_multiboot_unload): Free relocators.
23138 (grub_multiboot): Setup stack. Use relocators.
23139 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23140 (grub_multiboot_load_elfXX): Use relocators.
23141 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23142 (grub_multiboot_payload_size): Likewise.
23143 (grub_multiboot_payload_dest): Likewise.
23144 (grub_multiboot_payload_entry_offset): Likewise.
23145 (grub_multiboot_forward_relocator): Likewise.
23146 (grub_multiboot_backward_relocator): Likewise.
23147 (grub_multiboot_real_boot): Likewise.
23148 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23149 (grub_xnu_entry_point): Likewise.
23150 (grub_xnu_arg1): Likewise.
23151 (grub_xnu_stack): Likewise.
23152 (grub_xnu_launch): Removed.
23153 (grub_xnu_boot_resume): New function.
23154 (grub_xnu_boot): Use relocators.
23155 * loader/i386/xnu_helper.S: Removed.
23156 * loader/xnu.c (grub_xnu_heap_start): New variable.
23157 (grub_xnu_heap_size): Likewise.
23158 (grub_xnu_heap_malloc): Use relocators.
23159 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23160
29eb90c6
VS
231612009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23162
23163 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23164 anything.
23165
31027430
CPE
231662009-12-13 Carles Pina i Estany <carles@pina.cat>
23167
23168 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23169 GRUB_ERR_NONE before calling grub_env_set.
23170
dc0c71d9
RM
231712009-12-12 Robert Millan <rmh@aybabtu.com>
23172
23173 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23174 * genmk.rb (video): New variable.
23175 (CLEANFILES, VIDEOFILES): Add #{video}.
23176 (#{video}): New target rule.
23177 * genvideolist.sh: New file.
23178 * Makefile.in (pkglib_DATA): Add video.lst.
23179 (video.lst): New target rule.
23180 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23181 `video.lst'.
23182 * util/grub.d/30_os-prober.in: Replace `vbe' with
23183 ${GRUB_VIDEO_BACKEND}.
23184
2a4bfcf0
RM
231852009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23186
23187 * THANKS: Add David Miller.
23188
2a3aa4d5
RM
231892009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 libpciaccess support.
23192
23193 * Makefile.in (LIBPCIACCESS): New variable.
23194 (enable_grub_emu_pci): Likewise.
23195 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23196 util/pci.c and commands/lspci.c.
23197 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23198 * configure.ac (grub-emu-pci): New option.
23199 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23200 (grub_pci_device_unmap_range): Likewise.
23201 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23202 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23203 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23204 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23205 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23206 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23207 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23208 * include/grub/pciutils.h: New file.
23209 * util/pci.c: Likewise.
23210
0ad46fd7 232112009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23212
23213 * util/misc.c: Don't include <errno.h> twice.
23214
0ad46fd7 232152009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23216
23217 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23218 name in an error message.
23219 (grub_biosdisk_rw): Likewise.
23220
2e59983c
VS
232212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 Eliminate NTFS 4Gib barrier.
23224
23225 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23226 (read_run_data): Likewise.
23227 (grub_ntfs_read_run_list): Likewise.
23228 (grub_ntfs_read_block): Likewise.
23229 (grub_ntfs_iterate_dir): Likewise.
23230 (read_mft): Likewise.
23231 (read_data): Likewise.
23232 Use COM_LOG_LEN.
23233 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23234 to avoid 64-bit division
23235 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23236 (grub_ntfs_rlst): Use grub_disk_addr_t.
23237
71ee178a
VS
232382009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23239
23240 Eliminate grub-fstest 4Gib barrier.
23241
23242 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23243 (read_file): Fix error reporting.
23244
2520d4b8
VS
232452009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23246
23247 Eliminate hexdump 4Gib barrier.
23248
23249 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23250 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23251
e1f27065
VS
232522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23253
23254 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23255 Fixes amarsh bug.
23256
1a0f7f45
RM
232572009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23258
23259 Remove miscellaneous files in distclean target.
23260
23261 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23262
c631d9fb
CW
232632009-12-09 Colin Watson <cjwatson@ubuntu.com>
23264
23265 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23266 if they're already set. This resolves the conflict between my
23267 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23268 fixing the --grub-probe option again.
23269 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23270 change on 2009-10-06, so that we now once again source
23271 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23272
7c7b6106
RM
232732009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23274
23275 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23276 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23277 `util/devicemap.c'.
23278
e3069ec1
CPE
232792009-12-08 Carles Pina i Estany <carles@pina.cat>
23280
23281 * include/grub/misc.h (grub_printf_): New declaration.
23282 * kern/misc.c (grub_printf_): New definition.
23283 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23284 instead of `grub_printf' and `_'.
23285 * normal/menu_entry.c (store_completion): Likewise.
23286 (run): Likewise.
23287 (grub_menu_entry_run): Likewise.
23288 * normal/menu_text.c (grub_wait_after_message): Likewise.
23289 (notify_booting): Likewise.
23290 (notify_fallback): Likewise.
23291 (notify_execution_failure): Likewise.
23292
d6ceebf1
CW
232932009-12-07 Colin Watson <cjwatson@ubuntu.com>
23294
23295 * configure.ac: Check for vasprintf.
23296 * util/misc.c (asprintf): Move allocation from here ...
23297 (vasprintf): ... to here. New function.
23298 (xasprintf): New function.
23299 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23300 prototypes.
23301 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23302 * util/grub-mkfont.c (write_font): Likewise.
23303 * util/grub-probe.c (probe): Likewise.
23304 * util/hostdisk.c (make_device_name): Likewise.
23305
de6daa8b
DM
233062009-12-06 David S. Miller <davem@sunset.davemloft.net>
23307
23308 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23309 anything even prefixed with 'cdrom' as a cdrom.
23310
0ad46fd7 233112009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23312
23313 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23314 mount points.
23315
98d3dc02
CPE
233162009-12-05 Carles Pina i Estany <carles@pina.cat>
23317
23318 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23319 grub_gettext_msg_list.
23320 (grub_gettext_gettranslation_from_position): Return const char *
23321 and not char *.
a2c1332b 23322 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23323 returns from the list if existing there.
23324 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23325 (grub_gettext_delete_list): Delete the list.
23326 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23327 lang environment variable is changed.
23328 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23329
b283f108
VS
233302009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23331
23332 Rename kernel.mod to kernel.img.
23333
23334 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23335 (kernel_mod_EXPORTS): Rename to ...
23336 (kernel_img_EXPORTS): ... this.
23337 (kernel_mod_SOURCES): Rename to ...
23338 (kernel_img_SOURCES): ... this.
23339 (kernel_mod_HEADERS): Rename to ...
23340 (kernel_img_HEADERS): ... this. All users updated.
23341 (kernel_mod_CFLAGS): Rename to ...
23342 (kernel_img_CFLAGS): ... this.
23343 (kernel_mod_ASFLAGS): Rename to ...
23344 (kernel_img_ASFLAGS): ... this.
23345 (kernel_mod_LDFLAGS): Rename to ...
23346 (kernel_img_LDFLAGS): ... this.
23347 * conf/x86_64-efi.rmk: Likewise.
23348 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23349 (read_kernel_image): ... this. All users updated.
23350 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23351
69055f8a
CPE
233522009-12-05 Carles Pina i Estany <carles@pina.cat>
23353
23354 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23355 (print_spaces): New function.
23356 (grub_print_ucs4): New function.
23357 (getstringwidth): New function.
23358 (print_message_indented): New function.
23359 (print_message): Gettexttize strings using print_message_indented.
23360 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23361 width.
23362 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23363 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23364 Gettextize.
23365 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23366 string.
23367 (run): Likewise.
23368 (grub_menu_entry_run): Likewise.
23369 * PO/POTFILES: Add normal/menu_entry.c.
23370
f616f51c
VS
233712009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23372
23373 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23374
57bbe3be
CPE
233752009-12-05 Carles Pina i Estany <carles@pina.cat>
23376
23377 * util/grub-install.in: Install gettext .mo files.
23378 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23379
013d67a1
CPE
233802009-12-05 Carles Pina i Estany <carles@pina.cat>
23381
23382 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23383 grub_dprintf.
23384
fb954db0
RM
233852009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23388 non-firmware-dependant one in realmode.S takes precedence.
23389
6b8474f8
RM
233902009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23391
23392 * commands/halt.c: Replace misc arch-specific headers with
23393 `<grub/misc.h>'.
23394 * commands/reboot.c: Likewise.
23395 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23396 `<grub/misc.h>'.
23397 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23398 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23399 (kernel_img_SOURCES): ... to here.
23400
23401 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23402 * include/grub/i386/pc/init.h: Likewise.
23403 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23404 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23405
23406 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23407
23408 * include/grub/i386/halt.h: Remove.
23409 * include/grub/i386/reboot.h: Likewise.
23410
23411 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23412
4b2e6ca2
DM
234132009-12-03 David S. Miller <davem@sunset.davemloft.net>
23414
23415 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23416 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23417 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23418 "progname.h"
23419 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23420 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23421 (usage): Add missing comma in printf.
23422
5239348f
RM
234232009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23424
23425 Use the same reboot approach on i386 coreboot and qemu as we do on
23426 BIOS.
23427
23428 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23429 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23430 * kern/i386/reboot.c: Remove.
23431 * include/grub/i386/reboot.h (grub_reboot): Export function.
23432 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23433 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23434 0xf000:0xfff0 instead of 0xffff:0x0000.
23435 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23436 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23437
ef34cbd4
RM
234382009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23439
23440 Fix $srcdir != $objdir build.
23441
23442 * Makefile.in (po/%.po): Rewrite as ...
23443 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23444
dc9837ea
ST
234452009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23446
23447 Fix GNU/Hurd grub-install crash.
23448 * util/grub-probe.c (probe): Try to access `path' only when it is not
23449 NULL.
23450
2f857f98
VS
234512009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 Correct module naming.
23454
23455 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23456 (GRUB_MOD_INIT(efi_uga)): ... to this
23457 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23458 (GRUB_MOD_FINI(efi_uga)): ... to this
23459 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23460 (GRUB_MOD_INIT(efi_gop)): ... to this
23461 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23462 (GRUB_MOD_FINI(efi_gop)): ... to this
23463
c5448046
RM
234642009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23465
23466 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23467 translatable.
23468 (usage): Translate `arg' strings using gettext().
23469 Thanks to Jordi Mallach for the suggestion.
23470
c85184ad
VS
234712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 GOP support. Based on patch from Bean
23474 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23475
23476 * video/efi_gop.c: New file.
23477 * include/grub/efi/graphics_output.h: Likewise.
23478 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23479 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23480 variables.
23481 * conf/x86_64-efi.rmk: Likewise.
23482
8a4c48d8
VS
234832009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 Rename efi_fb to efi_uga.
23486
23487 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23488 'efi_uga.mod'.
23489 (efi_fb_mod_SOURCES): Rename this ...
23490 (efi_uga_mod_SOURCES): ... to this.
23491 (efi_fb_mod_CFLAGS): Rename this ...
23492 (efi_uga_mod_CFLAGS): ... to this.
23493 (efi_fb_mod_LDFLAGS): Rename this ...
23494 (efi_uga_mod_LDFLAGS): ... to this.
23495 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23496 'efi_uga.mod'.
23497 (efi_fb_mod_SOURCES): Rename this ...
23498 (efi_uga_mod_SOURCES): ... to this.
23499 (efi_fb_mod_CFLAGS): Rename this ...
23500 (efi_uga_mod_CFLAGS): ... to this.
23501 (efi_fb_mod_LDFLAGS): Rename this ...
23502 (efi_uga_mod_LDFLAGS): ... to this.
23503 * video/efi_fb.c: Move this ...
23504 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23505
fb6c1a7b
RM
235062009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * po/README: New file. Explain our PO file workflow.
23509
3bc7896c
RM
235102009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23511
23512 * po/ChangeLog: Remove. Move relevant entries back to ...
23513 * ChangeLog: ... here.
23514 * po/ca.po: Remove (now handled by TLP).
23515 * po/id.po: Likewise.
23516 * po/zh_CN.po: Likewise.
23517 * Makefile.in (LINGUAS): Initialize in a way that supports
23518 empty set.
23519
9ed4841d
RM
235202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23521
23522 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23523 reliing on po/LINGUAS.
23524 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23525 (po/%.po): ... this.
23526
0ad46fd7 235272009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23528
23529 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23530 (main): Use `program_name' instead of nonexistent `progname'.
23531
e30dd392
FZ
235322009-11-26 Felix Zielcke <fzielcke@z-51.de>
23533
23534 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23535 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23536
7656de4f
RM
235372009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23538
23539 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23540 commit.
23541 * conf/i386-efi.rmk: Likewise.
23542 * conf/i386-ieee1275.rmk: Likewise.
23543 * conf/powerpc-ieee1275.rmk: Likewise.
23544 * conf/sparc64-ieee1275.rmk: Likewise.
23545 * conf/x86_64-efi.rmk: Likewise.
23546
db77c4d4
FZ
235472009-11-26 Felix Zielcke <fzielcke@z-51.de>
23548
23549 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23550
a755bb04
FZ
235512009-11-26 Felix Zielcke <fzielcke@z-51.de>
23552
23553 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23554
8a4c07fd
RM
235552009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23556
23557 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23558 (grub_mkdevicemap_SOURCES): New variable.
23559 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23560 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23561 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23562 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23563 (grub_mkdevicemap_SOURCES): Remove.
23564 * conf/i386-efi.rmk: Likewise.
23565 * conf/i386-ieee1275.rmk: Likewise.
23566 * conf/i386-pc.rmk: Likewise.
23567 * conf/powerpc-ieee1275.rmk: Likewise.
23568 * conf/sparc64-ieee1275.rmk: Likewise.
23569 * conf/x86_64-efi.rmk: Likewise.
23570 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23571 (usage): Fix strings to use `program_name'.
23572 (main): Initialize gettext.
23573 * util/grub-editenv.c: Likewise.
23574 * util/grub-emu.c: Likewise.
23575 * util/grub-fstest.c: Likewise.
23576 * util/grub-mkdevicemap.c: Likewise.
23577 * util/grub-mkfont.c: Likewise.
23578 * util/grub-mkrelpath.c: Likewise.
23579 * util/grub-pe2elf.c: Likewise.
23580 * util/grub-probe.c: Likewise.
23581 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23582 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23583 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23584
23585 * util/misc.c: Include `"progname.h"'.
23586 (progname): Remove variable.
23587 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23588
6f61ed55
FZ
235892009-11-25 Felix Zielcke <fzielcke@z-51.de>
23590
23591 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23592 printf and print a newline after the menuentry header line.
23593 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23594
f022876b
FZ
235952009-11-25 Felix Zielcke <fzielcke@z-51.de>
23596
23597 autoconf >= 2.60 support $(localedir).
23598
23599 * INSTALL: Note that autoconf 2.60 is required.
23600 * configure.ac (AC_PREREQ): Bump to 2.60.
23601 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23602 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23603
6717926e
YB
236042009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23605
23606 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23607 aclocal is run.
23608
08806a54
RM
236092009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23610
23611 * normal/main.c (grub_normal_read_line): Fix off-by-one
23612 buffer overflow.
23613
13b33fba
RM
236142009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23615
23616 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23617 "parser.grub" in grub_command_execute() call.
23618
4a8572e9
CPE
236192009-11-24 Carles Pina i Estany <carles@pina.cat>
23620
23621 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23622 * conf/i386-efi.rmk: Likewise.
23623 * conf/i386-ieee1275.rmk: Likewise.
23624 * conf/i386-pc.rmk: Likewise.
23625 * conf/powerpc-ieee1275.rmk: Likewise.
23626 * conf/sparc64-ieee1275.rmk: Likewise.
23627 * conf/x86_64-efi.rmk: Likewise.
23628 * gettext/gettex.c: Include <grub/i18n.h>.
23629 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23630 here ...
23631 * include/grub/i18n.h: ... to here
23632 * include/grub/i18n.h: ... to here.
23633 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23634 (grub_gettext_dummy): Move above user.
4a8572e9 23635
bee48093
FZ
236362009-11-24 Felix Zielcke <fzielcke@z-51.de>
23637
23638 * util/Makefile.in (install-local): Convert a `for' into a normal
23639 shell expansion.
23640
a031e91c
RM
236412009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23642
23643 * autogen.sh: Add automake call.
23644 * config.guess: Remove.
23645 * config.sub: Likewise.
23646 * install-sh: Likewise.
23647
26bec39d
FZ
236482009-11-24 Felix Zielcke <fzielcke@z-51.de>
23649
23650 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23651
8e2532fd
FZ
236522009-11-24 Felix Zielcke <fzielcke@z-51.de>
23653
23654 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23655 function to a normal shell `for'.
23656
fefa1b7d
FZ
236572009-11-24 Felix Zielcke <fzielcke@z-51.de>
23658
23659 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23660
4501250b
FZ
236612009-11-24 Felix Zielcke <fzielcke@z-51.de>
23662
23663 * util/grub-mkrelpath.c: New file.
23664 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23665 (grub_mkrelpath_SOURCES): New variable.
23666 * include/grub/util/misc.h: New function prototype.
23667 * util/misc.c (make_system_path_relative_to_its_root): New function.
23668
23669 * util/grub-mkconfig_lib.in (bindir): New variable.
23670 (grub_mkrelpath): Likewise.
23671 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23672
23673 * util/probe.c (probe): Make the file path relative to its root.
23674 Change a info message to use the GRUB path. Enable again the
23675 check if we can read the file with GRUB facilities.
23676
23677 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23678 to its root.
23679
11d9778b
FZ
236802009-11-24 Felix Zielcke <fzielcke@z-51.de>
23681
23682 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23683 platform.
23684
4465287d
FZ
236852009-11-24 Felix Zielcke <fzielcke@z-51.de>
23686
23687 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23688 strncmp().
23689
62b47f22
FZ
236902009-11-24 Felix Zielcke <fzielcke@z-51.de>
23691
23692 * util/getroot.c (grub_util_is_dmraid): New function.
23693 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23694 devices as normal ones, not as LVM.
23695
1eafb9b9 236962009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23697
23698 * conf/common.rmk: Add grub-gettext_lib target and updates
23699 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23700 LDFLAGS.
23701 * gettext/gettext.c: New file. (Reads mo files).
23702 * include/grub/file.h (grub_file_pread): New prototype.
23703 * include/grub/i18n.h (_): New prototype.
23704 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23705 prototypes.
23706 * kern/misc.c (grub_gettext_dummy): New function.
23707 * normal/menu_text.c: Include <grub/i18n.h>.
23708 * normal/menu_text.c (print_timeout): Gettexttize string.
23709 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23710 * po/POTFILES: Add `normal/menu_text.c'.
23711 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23712 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23713 gettext module and defines locale_dir and lang in grub.cfg.
23714 * NEWS: Add gettext support.
23715
0fdb2568
RM
237162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23717
23718 * util/hostdisk.c: Include `<grub/i18n.h>'.
23719 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23720 (make_device_name): Rewrite using asprintf.
23721 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23722 (find_system_device): If a device is not found, generate one just
23723 by reusing the OS path name.
23724 (read_device_map): Make it permissible for device.map not to exist.
23725
f515aa62
RM
237262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23727
23728 * script/sh/execute.c: Move from here ...
23729 * script/execute.c: ... to here. Update all users.
23730 * script/sh/function.c: Move from here ...
23731 * script/function.c: ... to here. Update all users.
23732 * script/sh/lexer.c: Move from here ...
23733 * script/lexer.c: ... to here. Update all users.
23734 * script/sh/main.c: Move from here ...
23735 * script/main.c: ... to here. Update all users.
23736 * script/sh/parser.y: Move from here ...
23737 * script/parser.y: ... to here. Update all users.
23738 * script/sh/script.c: Move from here ...
23739 * script/script.c: ... to here. Update all users.
23740
f84b481b
RM
237412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23742
23743 * configure.ac: Detect all `emu' platforms. Define
23744 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23745 --enable-grub-emu logic. Disable include/grub/machine
23746 symlink on `emu' platforms.
23747
23748 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23749 * gensymlist.sh.in: Likewise.
23750
23751 * include/grub/i386/coreboot/machine.h: Remove file.
23752 * include/grub/i386/efi/machine.h: Likewise.
23753 * include/grub/i386/ieee1275/machine.h: Likewise.
23754 * include/grub/i386/pc/machine.h: Likewise.
23755 * include/grub/i386/qemu/machine.h: Likewise.
23756 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23757 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23758 * include/grub/x86_64/efi/machine.h: Likewise.
23759
23760 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23761 * commands/halt.c: Likewise.
23762 * commands/reboot.c: Likewise.
23763 * include/grub/autoefi.h: Likewise.
23764 * include/grub/i386/at_keyboard.h: Likewise.
23765 * include/grub/i386/kernel.h: Likewise.
23766 * include/grub/i386/loader.h: Likewise.
23767 * include/grub/i386/pc/memory.h: Likewise.
23768 * kern/dl.c: Likewise.
23769 * kern/i386/coreboot/init.c: Likewise.
23770 * loader/i386/bsd.c: Likewise.
23771 * loader/i386/linux.c: Likewise.
23772 * loader/multiboot_loader.c: Likewise.
23773 * term/i386/pc/serial.c: Likewise.
23774 * term/usb_keyboard.c: Likewise.
23775
23776 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23777 `<grub/machine/machine.h>'
23778 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23779 * util/misc.c: Remove `<grub/machine/machine.h>' and
23780 `<grub/machine/time.h>'.
23781
23782 * Makefile.in (enable_grub_emu): Remove variable.
23783 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23784
23785 * conf/any-emu.rmk: New file.
23786 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23787 (grub_emu_init.c): Move from here ...
23788 * conf/any-emu.rmk: ... to here.
23789
23790 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23791 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23792 * conf/any-emu.rmk: ... to here.
23793
4efeab03
RM
237942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 * include/grub/parser.h (grub_parser_register): Document need
23797 of `name' parameter.
23798 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23799 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23800 "sh" to "grub".
23801
ea1dd8bf
RM
238022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23803
23804 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23805 `$(XGETTEXT)'.
23806 * include/grub/i18n.h (N_): New macro.
23807 * util/mkisofs/mkisofs.h: Likewise.
23808 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23809 around N_().
23810 (usage): Use gettext() to translate help strings when printing them.
23811
0c140626
RM
238122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23813
23814 Based on patch from Bean
23815 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23816
23817 * video/efi_fb.c: New file.
23818 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23819 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23820 variables.
23821 * conf/x86_64-efi.rmk: Likewise.
23822
87d58298
RM
238232009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23824
23825 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23826 * util/i386/pc/grub-setup.c: Likewise.
23827
994cc3a3
ST
238282009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23829
23830 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23831 <hurd/fs.h>
23832 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23833 file_get_storage_info to implement grub_guess_root_device.
23834
26a61d6a
FZ
238352009-11-21 Felix Zielcke <fzielcke@z-51.de>
23836
23837 * Makefile.in (target): Use make's builtin $(shell) function
23838 instead of calling directly $(SHELL) to create the locale directories,
23839 inside the $(foreach) function.
23840
74ff1dd5
FZ
238412009-11-21 Felix Zielcke <fzielcke@z-51.de>
23842
23843 * util/grub-mkrescue.in: Print an error and usage if output option
23844 has not been given.
23845
0b787d0e
FZ
238462009-11-21 Felix Zielcke <fzielcke@z-51.de>
23847
23848 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23849 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23850 root and /boot are on different devices.
23851
1164b270
RM
238522009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 Fix build for srcdir != objdir.
23855
23856 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23857 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23858 $(srcdir).
23859 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23860 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23861 reference for input.
23862
13774a2f
RM
238632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23864
23865 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23866 or hardlinking it). Remove -J option, Joliet is not compatible with
23867 multiple source directories.
23868
efda854e
RM
238692009-11-21 Carles Pina i Estany <carles@pina.cat>
238702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23871
23872 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23873 (process_input_dir): New function. Process an arbitrary input
23874 directory.
23875 Misc adjustments to support both "override mode" and system-wide mode.
23876
6c09890c
FZ
238772009-11-20 Felix Zielcke <fzielcke@z-51.de>
23878
23879 * configure.ac (UNIFONT_BDF): Rename to ...
23880 (FONT_SOURCE): ... this. Update all users.
23881
a797824f
FZ
238822009-11-20 Felix Zielcke <fzielcke@z-51.de>
23883
23884 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23885 to the list of unifont files to look for.
23886
cd4f42b0
RM
238872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23888
23889 Patch from Joe Auricchio <jauricchio@gmail.com>
23890 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23891 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23892 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23893
393c783d
FZ
238942009-11-19 Felix Zielcke <fzielcke@z-51.de>
23895
23896 * Makefile.in (install-local): Add a missing backslash.
23897
b2f1e327
FZ
238982009-11-19 Felix Zielcke <fzielcke@z-51.de>
23899
23900 * include/grub/x86_64/io.h: New file.
23901
f577f7a0
RM
239022009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23903
23904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23905 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23906 Include `"progname.h"'.
23907 (main): Initialize gettext.
23908 * util/i386/pc/grub-setup.c: Gettexttize.
23909 * util/i386/pc/grub-mkimage.c: Likewise.
23910
23911 * Makefile.in (po/*.po): Redefine as ...
23912 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23913
3bc7896c
RM
23914 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23915
c37943b6
RM
239162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23917
23918 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23919 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23920 (program_name): Remove.
23921 (main): Initialize gettext support.
6323f705
RM
23922 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23923 Include `<libintl.h>'.
23924 (_): New macro.
c37943b6
RM
23925
23926 * util/mkisofs/eltorito.c: Gettexttize.
23927 * util/mkisofs/joliet.c: Likewise.
23928 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23929 * util/mkisofs/multi.c: Likewise.
23930 * util/mkisofs/rock.c: Likewise.
23931 * util/mkisofs/tree.c: Likewise.
23932 * util/mkisofs/write.c: Likewise.
23933
3bc7896c
RM
23934 * po/POTFILES: Update with new files.
23935
5ce77c6e
RM
239362009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23939 * util/mkisofs/iso9660.h: Likewise.
23940 * util/mkisofs/joliet.c: Likewise.
23941 * util/mkisofs/mkisofs.c: Likewise.
23942 * util/mkisofs/mkisofs.h: Likewise.
23943 * util/mkisofs/rock.c: Likewise.
23944 * util/mkisofs/tree.c: Likewise.
23945 * util/mkisofs/write.c: Likewise.
23946
23947 * util/mkisofs/eltorito.c (rcsid): Remove.
23948 * util/mkisofs/hash.c: Likewise.
23949 * util/mkisofs/joliet.c: Likewise.
23950 * util/mkisofs/name.c: Likewise.
23951 * util/mkisofs/rock.c: Likewise.
23952 * util/mkisofs/tree.c: Likewise.
23953 * util/mkisofs/write.c: Likewise.
23954
1dabbc77
RM
239552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23956
23957 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23958 instead of static allocation.
23959 * util/mkisofs/match.h: Likewise.
23960
633877cb
RM
239612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23962
3bc7896c
RM
23963 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23964 and `util/grub.d/10_linux.in'.
633877cb
RM
23965 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23966 translatable Shell files.
23967
af1c0c85
RM
239682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23969
23970 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23971
769ae37b
RM
239722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23973
23974 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23975 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23976 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23977 Add gettext initialization.
23978 (kfreebsd_entry): Make menuentry output translatable.
23979
239802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23981
23982 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23983 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23984 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23985 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23986 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23987 * po/LINGUAS: New file.
769ae37b
RM
23988
239892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23990
23991 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23992 other things).
23993 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23994 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23995 bindtextdomain() calls for gettext initialization.
23996
239972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23998
23999 * gnulib/progname.c: New file (imported from Gnulib).
24000 * gnulib/progname.h: Likewise.
24001 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24002 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24003 (usage): Replace `progname' with `program_name'.
24004 (main): Use set_program_name() for program name initialization.
24005
240062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24007
24008 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24009 from here ...
24010 * Makefile.in (CPPFLAGS): ... to here.
24011
240122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24013
24014 * aclocal.m4: Move from here ...
24015 * acinclude.m4: ... to here.
24016 * autogen.sh: Add call to `aclocal'.
24017 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24018
240192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24020
24021 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24022 (LINGUAS): New variable.
24023 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24024 (install-local): Install MO files.
24025 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24026 * include/grub/i18n.h: New file.
3bc7896c
RM
24027 * po/POTFILES: New file.
24028 * po/ca.po: New file.
769ae37b
RM
24029 * util/grub.d/10_linux.in (bindir): New variable.
24030 Add gettext initialization.
24031 (linux_entry): Make menuentry output translatable.
24032 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24033 (usage): Make --help output translatable.
24034 (main): Initialize gettext.
24035
02c0a6ad
RM
240362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * import_gcry.py: New file (written by Vladimir with minor
24039 adjustments).
24040 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24041 ciphers.
24042 * INSTALL: Document that Python is required for bootstrap.
24043
240442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24045
24046 Import ciphers from libgcrypt 1.4.4.
24047
24048 * lib/libgcrypt/cipher/ChangeLog
24049 * lib/libgcrypt/cipher/ac.c
24050 * lib/libgcrypt/cipher/arcfour.c
24051 * lib/libgcrypt/cipher/bithelp.h
24052 * lib/libgcrypt/cipher/blowfish.c
24053 * lib/libgcrypt/cipher/camellia-glue.c
24054 * lib/libgcrypt/cipher/camellia.c
24055 * lib/libgcrypt/cipher/camellia.h
24056 * lib/libgcrypt/cipher/cast5.c
24057 * lib/libgcrypt/cipher/cipher.c
24058 * lib/libgcrypt/cipher/crc.c
24059 * lib/libgcrypt/cipher/des.c
24060 * lib/libgcrypt/cipher/dsa.c
24061 * lib/libgcrypt/cipher/ecc.c
24062 * lib/libgcrypt/cipher/elgamal.c
24063 * lib/libgcrypt/cipher/hash-common.c
24064 * lib/libgcrypt/cipher/hash-common.h
24065 * lib/libgcrypt/cipher/hmac-tests.c
24066 * lib/libgcrypt/cipher/md.c
24067 * lib/libgcrypt/cipher/md4.c
24068 * lib/libgcrypt/cipher/md5.c
24069 * lib/libgcrypt/cipher/primegen.c
24070 * lib/libgcrypt/cipher/pubkey.c
24071 * lib/libgcrypt/cipher/rfc2268.c
24072 * lib/libgcrypt/cipher/rijndael-tables.h
24073 * lib/libgcrypt/cipher/rijndael.c
24074 * lib/libgcrypt/cipher/rmd.h
24075 * lib/libgcrypt/cipher/rmd160.c
24076 * lib/libgcrypt/cipher/rsa.c
24077 * lib/libgcrypt/cipher/seed.c
24078 * lib/libgcrypt/cipher/serpent.c
24079 * lib/libgcrypt/cipher/sha1.c
24080 * lib/libgcrypt/cipher/sha256.c
24081 * lib/libgcrypt/cipher/sha512.c
24082 * lib/libgcrypt/cipher/tiger.c
24083 * lib/libgcrypt/cipher/twofish.c
24084 * lib/libgcrypt/cipher/whirlpool.c
24085
af2f93ac
RM
240862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24087
24088 Fix build for systems without error().
24089
24090 * gnulib/error.c: New file (imported from Gnulib).
24091 * gnulib/error.h: Likewise.
24092 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24093 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24094 (this variable is now used by error()).
24095
73fb3dd5
FZ
240962009-11-16 Felix Zielcke <fzielcke@z-51.de>
24097
814f5e96
FZ
24098 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24099 instead of relying that char is signed.
73fb3dd5 24100
a691ca33
VS
241012009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24104 blocksize different from specified.
24105 (grub_pxefs_read): Likewise.
24106
2af8f0f4
FZ
241072009-11-16 Felix Zielcke <fzielcke@z-51.de>
24108
24109 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24110
24111 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24112 (grub_ata_readwrite): Likewise. Update 2 format strings.
24113 (grub_atapi_read): Likewise.
24114
24115 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24116 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24117 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24118 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24119 (ata_mod_LDFLAGS): Move from here ...
24120 * conf/i386.rmk: ... to here ...
24121 * conf/x86_64-efi.rmk: ... and here.
24122 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24123 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24124
83bdecaf
RM
241252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24126
24127 Relicense multiboot.h, with RMS' blessing.
24128
24129 * include/multiboot.h: Change to X11 license.
24130
fd6fd3d7
RM
241312009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24132
24133 Support --version in grub-mkisofs.
24134
24135 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24136 (OPTION_VERSION): New macro.
24137 (ld_options): Recognize --version.
24138 (usage): Move `program_name' from here ...
24139 (program_name): ... to here. Add `static' qualifier.
24140 (main): Recognize `OPTION_VERSION'.
24141
16a88c49
FZ
241422009-11-15 Felix Zielcke <fzielcke@z-51.de>
24143
24144 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24145 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24146
a4158476
RM
241472009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24148
24149 Fix help2man generation for mkisofs.
24150
24151 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24152 (usage): Send output to stdout (rather than stderr).
24153
fc2208b0
RM
241542009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24155
24156 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24157 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24158 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24159 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24160 (bin_SCRIPTS): Add `grub-mkfloppy'.
24161 (grub_mkfloppy_SOURCES): New variable.
24162
24163 * util/grub-mkrescue.in: New file.
24164 * util/i386/pc/grub-mkfloppy.in: New file.
24165
24166 * util/i386/coreboot/grub-mkrescue.in: Remove.
24167 * util/i386/pc/grub-mkrescue.in: Remove.
24168
8d0edf4a
RM
241692009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24172 from here ...
24173 * include/multiboot.h (struct multiboot_header): ... to here. Update
24174 all users.
24175 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24176 from here ...
24177 * include/multiboot.h (struct multiboot_info): ... to here. Update
24178 all users.
24179 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24180 from here ...
24181 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24182 Update all users.
24183 * include/grub/multiboot.h (struct grub_mod_list): Move
24184 from here ...
24185 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24186 Update all users.
24187
a73f5969
RM
241882009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24189
24190 * include/multiboot2.h (multiboot_word): Rename from this ...
24191 (multiboot2_word): ... to this. Update all users.
24192 (multiboot_header): Rename from this ...
24193 (multiboot2_header): ... to this. Update all users.
24194 (multiboot_tag_header): Rename from this ...
24195 (multiboot2_tag_header): ... to this. Update all users.
24196 (multiboot_tag_start): Rename from this ...
24197 (multiboot2_tag_start): ... to this. Update all users.
24198 (multiboot_tag_name): Rename from this ...
24199 (multiboot2_tag_name): ... to this. Update all users.
24200 (multiboot_tag_module): Rename from this ...
24201 (multiboot2_tag_module): ... to this. Update all users.
24202 (multiboot_tag_memory): Rename from this ...
24203 (multiboot2_tag_memory): ... to this. Update all users.
24204 (multiboot_tag_unused): Rename from this ...
24205 (multiboot2_tag_unused): ... to this. Update all users.
24206 (multiboot_tag_end): Rename from this ...
24207 (multiboot2_tag_end): ... to this. Update all users.
24208
1c8927f0
RM
242092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24212 this platform we should support Multiboot1 first.
24213
24214 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24215 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24216 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24217
6e1e0d89
RM
242182009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24219
24220 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24221 of write calls (converting them to fwrite() if they aren't already).
24222 (get_torito_desc): Likewise.
24223 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24224
7f2b34d8
RM
242252009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24226
24227 * util/i386/pc/grub-install.in: Move from here ...
24228 * util/grub-install.in: ... to here. Update all users.
24229
c0ef3311
CW
242302009-11-11 Colin Watson <cjwatson@ubuntu.com>
24231
24232 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24233
e1f240ff
RM
242342009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24235
24236 Support for El Torito without floppy emulation.
24237
24238 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24239 (init_boot_catalog): Improve error handling.
24240 (get_torito_desc): Don't use floppy emulation unless requested by
24241 user. Patch boot information table when requested via
24242 `-boot-info-table'.
24243 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24244 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24245 (use_boot_info_table): New variables.
24246 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24247 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24248 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24249 `--eltorito-emul-floppy'.
24250 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24251 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24252 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24253 (use_boot_info_table, get_731): New prototypes.
24254 * util/mkisofs/write.c (get_731): New function.
24255
af7d4de5
FZ
242562009-11-11 Felix Zielcke <fzielcke@z-51.de>
24257
24258 Fix the generation of the man page.
24259
24260 * util/pc/i386/grub-install.in: Source
24261 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24262
2c55dbc0
RM
242632009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24264
24265 Large file support for grub-mkisofs.
24266
24267 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24268 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24269 (session_start): Upgrade type to `uint64_t'. Update all users.
24270 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24271 (struct directory_entry): Upgrade type of `starting_block' and
24272 `size' to `uint64_t'. Update all users.
24273 (struct deferred): Remove unused structure.
24274 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24275 Update all users.
24276 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24277 file is larger than `UINT32_MAX'.
24278 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24279 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24280 return value.
24281 (struct deferred_write): Upgrade type of `extent' and `size' to
24282 `uint64_t'. Update all users.
24283 (last_extent_written): Upgrade type to `uint64_t'. Update all
24284 users.
24285 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24286 Update all users. Upgrade type of `remain' to `int64_t' and
24287 `use' to `size_t'. Use error() to handle fread() errors.
24288 (write_files): Rely on write_one_file() rather than calling
24289 xfwrite() directly.
24290
6a9cead5
FZ
242912009-11-09 Felix Zielcke <fzielcke@z-51.de>
24292
24293 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24294
4825d790
RM
242952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24296
24297 * util/mkisofs/fnmatch.c: Remove.
24298 * util/mkisofs/getopt1.c: Likewise.
24299 * util/mkisofs/getopt.c: Likewise.
24300 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24301 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24302 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24303 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24304 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24305
24306 * configure.ac: Detect `mingw32msvc' host_os.
24307 Check for lstat(), getuid() and getgid().
24308
24309 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24310 instances of `u_char' with `uint8_t'.
24311
24312 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24313 [!HAVE_GETUID] (getuid): New function (stub).
24314 [!HAVE_GETGID] (getgid): Likewise.
24315 [!HAVE_LSTAT] (lstat): Likewise.
24316 [!S_IROTH] (S_IROTH): New macro (dummy).
24317 [!S_IRGRP] (S_IRGRP): Likewise.
24318
84b860d8
RM
243192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24320
24321 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24322 conditional expression).
24323
66e9b712
RM
243242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24325
24326 Import from Gnulib.
24327
24328 * gnulib/fnmatch.c: New file.
24329 * gnulib/fnmatch.h: Likewise.
24330 * gnulib/fnmatch_loop.c: Likewise.
24331 * gnulib/getopt.c: Likewise.
24332 * gnulib/getopt.h: Likewise.
24333 * gnulib/getopt1.c: Likewise.
24334 * gnulib/getopt_int.h: Likewise.
24335 * gnulib/gettext.h: Likewise.
24336
34f4a5b0
RM
243372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24338
24339 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24340 * normal/handler.c (read_handler_list): Likewise.
24341
ac451143
RM
243422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24343
24344 Misc cleanup.
24345
24346 * kern/command.c (grub_register_command_prio): Use
24347 grub_zalloc() instead of explicitly zeroing data.
24348 * kern/list.c: Include `<grub/mm.h>'.
24349 (grub_named_list_find): Replace `0' with `NULL'.
24350 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24351 (fs_module_list): Change type to `grub_named_list_t'. Update all
24352 users.
24353 * normal/dyncmd.c (read_command_list): Add space between function
24354 call and parenthesis.
24355 * normal/handler.c (read_handler_list): Likewise.
24356
4089b167
RM
243572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24358
24359 * normal/auth.c (punishment_delay): Moved from here ...
24360 (grub_auth_strcmp): ... to here (inside function).
24361
325f5037
RM
243622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24363
24364 * include/grub/list.h (struct grub_named_list): Remove `const'
24365 qualifier from `name'.
24366 (struct grub_prio_list): Likewise.
24367
7aea29a3
RM
243682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24369
24370 * normal/auth.c: Include `<grub/time.h>'.
24371 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24372
3fd6f044
RM
243732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24374
24375 * normal/auth.c (punishment_delay): New variable.
24376 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24377 (grub_auth_check_authentication): Punish failed login attempts with
24378 an incremental (2^N) delay.
24379
a4cd68e4
RM
243802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24383 path with $(srcdir).
24384
7ad12f43
VS
243852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24388
c1129f03
RM
243892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24390
24391 * util/i386/coreboot/grub-mkrescue.in: New file.
24392 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24393 variables.
24394
24395 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24396 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24397 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24398 requirements.
24399 * util/mkisofs/defaults.h: New file.
24400 * util/mkisofs/eltorito.c: Likewise.
24401 * util/mkisofs/exclude.h: Likewise.
24402 * util/mkisofs/fnmatch.c: Likewise.
24403 * util/mkisofs/getopt.c: Likewise.
24404 * util/mkisofs/getopt1.c: Likewise.
24405 * util/mkisofs/hash.c: Likewise.
24406 * util/mkisofs/include/fctldefs.h: Likewise.
24407 * util/mkisofs/include/mconfig.h: Likewise.
24408 * util/mkisofs/include/prototyp.h: Likewise.
24409 * util/mkisofs/include/statdefs.h: Likewise.
24410 * util/mkisofs/iso9660.h: Likewise.
24411 * util/mkisofs/joliet.c: Likewise.
24412 * util/mkisofs/match.c: Likewise.
24413 * util/mkisofs/match.h: Likewise.
24414 * util/mkisofs/mkisofs.c: Likewise.
24415 * util/mkisofs/mkisofs.h: Likewise.
24416 * util/mkisofs/multi.c: Likewise.
24417 * util/mkisofs/name.c: Likewise.
24418 * util/mkisofs/rock.c: Likewise.
24419 * util/mkisofs/tree.c: Likewise.
24420 * util/mkisofs/write.c: Likewise.
24421
ec8bb77d
VS
244222009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24423
24424 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24425 being insecure.
24426
3716b12c
RM
244272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24428
24429 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24430 `grub-mkimage' (and use $0 when possible).
24431
b97b7b91
RM
244322009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24433
24434 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24435 error message for excessively large memory map.
24436
04114812
RM
244372009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24438
24439 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24440 executable bit.
24441
e4eb2373
RM
244422009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24443
24444 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24445 message for coreboot users.
24446
c926e1d5 244472009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24448
24449 Fix build with GNU gold.
24450
24451 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24452 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24453 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24454 link addresses.
24455 * aclocal.m4: Likewise.
24456
86e5b1db 244572009-11-04 Felix Zielcke <fzielcke@z-51.de>
24458
24459 * configure.ac (AC_PREREQ): Bump to 2.59d.
24460 * INSTALL: Make it more clear when Autoconf and Ruby are
24461 needed and when to run `./autogen.sh'.
24462
246cd78f 244632009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24464
24465 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24466 OSes.
24467
4f9dfb37 244682009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24469
24470 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24471
b82bd5e1 244722009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24473
24474 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24475 giving it to GNU Mach.
24476
ff1a9bca 244772009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24478
24479 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24480 GNU partition number to get internal GRUB partition number.
24481
61697d9c 244822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24483
24484 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24485 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24486
a50569e1 244872009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24488
24489 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24490 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24491 case.
24492
5b153867 244932009-11-01 Felix Zielcke <fzielcke@z-51.de>
24494
24495 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24496
d9e2cd70 244972009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24498
24499 Fix build problem.
24500
24501 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24502 `-isystem=$(srcdir)/include'.
24503
805111a4 245042009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24505
24506 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24507 checked (grub-install doesn't currently rely on it).
24508
fa6e945f 245092009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24510
24511 Revert SVN r2660.
24512
24513 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24514 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24515 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24516 * conf/i386-ieee1275.rmk: Likewise.
24517 * conf/i386-pc.rmk: Likewise.
24518 * conf/powerpc-ieee1275.rmk: Likewise.
24519 * conf/sparc64-ieee1275.rmk: Likewise.
24520 * conf/x86_64-efi.rmk: Likewise.
24521
cee15086 245222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24523
24524 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24525
95b9239e 245262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * include/grub/misc.h: Stop checking for APPLE_CC.
24529
2ed19dfd 245302009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24531
24532 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24533 doesn't cause an infinite call loop.
24534
fdcdde19 245352009-10-28 Felix Zielcke <fzielcke@z-51.de>
24536
24537 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24538 strings.
24539
cefabfe1 245402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24541
24542 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24543 variable.
24544 * Makefile.in: Likewise.
24545
ed96ab6d 245462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24547
24548 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24549
0579b753 245502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24551
24552 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24553
478df409 245542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24555
24556 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24557
083d1679 245582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24559
24560 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24561 from here ...
24562 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24563
5947ae32 245642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24567 in $(MAKEINFO) invocation. This makes it clear in output that
24568 errors are being ignored.
24569
94180ff6 245702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24571
24572 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24573 from here ...
24574 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24575 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24576 * conf/i386-ieee1275.rmk: Likewise.
24577 * conf/i386-pc.rmk: Likewise.
24578 * conf/powerpc-ieee1275.rmk: Likewise.
24579 * conf/sparc64-ieee1275.rmk: Likewise.
24580 * conf/x86_64-efi.rmk: Likewise.
24581
9031b03a 245822009-10-26 Colin Watson <cjwatson@ubuntu.com>
24583
24584 * util/grub-editenv.c (main): If only a command is given, use
24585 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24586 (usage): FILENAME is now optional and has a default.
24587
e4f6809b 245882009-10-26 Colin Watson <cjwatson@ubuntu.com>
24589
24590 Improve grub-mkconfig performance when there are several menu
24591 entries on a single filesystem.
24592
24593 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24594 prepare_grub_to_access_device.
24595 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24596 * util/grub.d/30_os-prober.in: Likewise.
24597
67937d4d 245982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24599
24600 * util/grub.d/10_freebsd.in: Remove.
24601 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24602 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24603
ee3756cc 246042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24605
5c35048e 24606 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24607
4dea1c6f 246082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24609
24610 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24611 grub_util_error() call.
24612
042484d7 246132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24614
24615 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24616 `reserved_first_sector' member.
24617 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24618 `reserved_first_sector' to 1.
24619 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24620 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24621 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24622 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24623 filesystems which begin at first sector.
24624 (options): New option --skip-fs-probe.
24625 (main): Handle --skip-fs-probe and pass it to setup().
24626
d64448a7 246272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24628
24629 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24630 (memset): Fix function prototype.
24631
508d42ec 246322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
246332009-10-25 Vasily Averin <vvs@parallels.com>
24634
24635 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24636 `dirent.direntlen == 0'.
24637
b240e30c 246382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24639
24640 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24641 `cpio'.
24642 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24643
346e7fbe 246442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24645
24646 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24647 `__trampoline_setup' and `__ucmpdi2'.
24648 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24649 that libgcc provides.
24650
cdb308b0 246512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24652
24653 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24654 * include/grub/sparc64/libgcc.h (memset): Likewise.
24655 * include/grub/misc.h (memset, memcmp): New function prototypes.
24656
fb26abc2 246572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24660 `cpio'.
24661 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24662
f6693890 246632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24664
24665 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24666 * docs/grub.cfg: Compensate for recent change in multiboot
24667 loader (since 2009-08-14 it won't pass filename to payload).
24668 * util/grub.d/10_hurd.in: Likewise.
24669
0933cdc0 246702009-10-21 Felix Zielcke <fzielcke@z-51.de>
24671
24672 * config.guess: Update to latest version from config git
24673 repository.
24674 * config.sub: Likewise.
24675
3b2fe8c2 246762009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24677
24678 Fix build on sparc64.
24679
24680 * configure.ac: Perform checks for libgcc symbols before
24681 adding `-nostdlib' to LDFLAGS.
24682
46695a62 246832009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24684
24685 Let user specify OpenBSD root device.
24686
24687 * loader/i386/bsd.c (openbsd_root): New variable.
24688 (openbsd_opts): New option 'root'.
24689 (OPENBSD_ROOT_ARG): New macro.
24690 (grub_openbsd_boot): Use 'openbsd_root'.
24691 (grub_cmd_openbsd): Fill 'openbsd_root'.
24692
d2b6b7fc 246932009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24694
24695 * NEWS: Misc adjustments.
24696
421bd7ac 246972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24700
f1d29d87 247012009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24702
24703 * configure.ac: Bump version to 1.97.
24704
6f3cd880 247052009-10-16 Colin Watson <cjwatson@ubuntu.com>
24706
24707 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24708 -mno-3dnow on x86 architectures. Some toolchains enable these
24709 features by default, but they rely on registers that aren't enabled
24710 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24711
035f7122 247122009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24713
24714 Make entry text a bit more readable.
24715
24716 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24717
44998e58 247182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24721
cd2851b3 247222009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24723
24724 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24725 operations.
24726
c6f3b249 247272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24728
24729 * configure.ac: Add missing dollar.
24730
6b5886ba 247312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24732
24733 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24734
24735 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24736 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24737 exports.
24738 * include/grub/sparc64/libgcc.h: Likewise. Use
24739 preprocessor conditionals.
24740
e9d66f6d 247412009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24742
24743 * conf/common.rmk (grub-dumpbios): Remove rule.
24744 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24745 * util/grub-dumpbios.in: Remove file.
24746
9155bc17 247472009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24748
24749 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24750 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24751
24752 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24753 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24754 users.
24755
24756 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24757 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24758 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24759 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24760 users.
24761
bf7f7a18 247622009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24763
24764 * term/tparm.c: Switch to GPLv3.
24765
86564c26 247662009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24767
24768 * include/grub/i386/cpuid.h: Add header protection.
24769
5c936493 247702009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24771
24772 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24773
24774 * include/grub/i386/cpuid.h: New file.
24775 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24776 (has_longmode): Rename to ...
24777 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24778 `static' attribute.
24779 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24780 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24781 on a CPU that doesn't implement AMD64 instruction set.
24782
186e7cf2 247832009-10-06 Colin Watson <cjwatson@ubuntu.com>
24784
24785 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24786 that version.texi is rebuilt on version number changes.
24787
83b65c4a 247882009-10-06 Colin Watson <cjwatson@ubuntu.com>
24789
24790 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24791 Fixes bug #27602.
24792
d244281c 247932009-10-06 Colin Watson <cjwatson@ubuntu.com>
24794
24795 * util/i386/pc/grub-install.in: Source
24796 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24797 that the --grub-probe option will work.
24798 * util/sparc64/ieee1275/grub-install.in: Likewise.
24799
da25306d 248002009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24801
24802 * configure.ac: Bump version to 1.97~beta4.
24803
e8ee83c0 248042009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24805
24806 Resync grub-mkdevicemap in x86_64-efi.
24807
24808 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24809 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24810 `util/devicemap.c'.
24811
50dcabcf 248122009-10-01 Colin Watson <cjwatson@ubuntu.com>
24813
24814 * util/grub-editenv.c (create_envblk_file): Write new block with a
24815 .new suffix and then rename it into place, to ensure atomic
24816 creation.
24817
0e51c3a7 248182009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24819
24820 Do not automatically install headers.
24821
24822 * Makefile.in (include_DATA): Remove. Update all users.
24823
31299a95 248242009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24825
24826 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24827 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24828
24829 * util/osdetect.lua: Remove.
24830 * script/lua/lauxlib.c: Likewise.
24831 * script/lua/ldebug.c: Likewise.
24832 * script/lua/grub_main.c: Likewise.
24833 * script/lua/lauxlib.h: Likewise.
24834 * script/lua/ldebug.h: Likewise.
24835 * script/lua/ltablib.c: Likewise.
24836 * script/lua/liolib.c: Likewise.
24837 * script/lua/lstrlib.c: Likewise.
24838 * script/lua/lualib.h: Likewise.
24839 * script/lua/ldo.c: Likewise.
24840 * script/lua/ldump.c: Likewise.
24841 * script/lua/ldo.h: Likewise.
24842 * script/lua/loslib.c: Likewise.
24843 * script/lua/lundump.c: Likewise.
24844 * script/lua/grub_lib.c: Likewise.
24845 * script/lua/ldblib.c: Likewise.
24846 * script/lua/lundump.h: Likewise.
24847 * script/lua/lmem.c: Likewise.
24848 * script/lua/grub_lib.h: Likewise.
24849 * script/lua/lmathlib.c: Likewise.
24850 * script/lua/lstate.c: Likewise.
24851 * script/lua/ltm.c: Likewise.
24852 * script/lua/lvm.c: Likewise.
24853 * script/lua/lmem.h: Likewise.
24854 * script/lua/lstate.h: Likewise.
24855 * script/lua/ltm.h: Likewise.
24856 * script/lua/ltable.c: Likewise.
24857 * script/lua/lvm.h: Likewise.
24858 * script/lua/llex.c: Likewise.
24859 * script/lua/lgc.c: Likewise.
24860 * script/lua/grub_lua.h: Likewise.
24861 * script/lua/loadlib.c: Likewise.
24862 * script/lua/lfunc.c: Likewise.
24863 * script/lua/lopcodes.c: Likewise.
24864 * script/lua/lparser.c: Likewise.
24865 * script/lua/ltable.h: Likewise.
24866 * script/lua/llex.h: Likewise.
24867 * script/lua/lgc.h: Likewise.
24868 * script/lua/lfunc.h: Likewise.
24869 * script/lua/lbaselib.c: Likewise.
24870 * script/lua/lopcodes.h: Likewise.
24871 * script/lua/lparser.h: Likewise.
24872 * script/lua/lzio.c: Likewise.
24873 * script/lua/linit.c: Likewise.
24874 * script/lua/lobject.c: Likewise.
24875 * script/lua/llimits.h: Likewise.
24876 * script/lua/lstring.c: Likewise.
24877 * script/lua/lzio.h: Likewise.
24878 * script/lua/lapi.c: Likewise.
24879 * script/lua/lcode.c: Likewise.
24880 * script/lua/lua.h: Likewise.
24881 * script/lua/lobject.h: Likewise.
24882 * script/lua/lstring.h: Likewise.
24883 * script/lua/lapi.h: Likewise.
24884 * script/lua/lcode.h: Likewise.
24885 * script/lua/luaconf.h: Likewise.
24886
cb8a2c38 248872009-09-26 Colin Watson <cjwatson@ubuntu.com>
24888
24889 * docs/grub.texi (Command-line and menu entry commands): Document
24890 date and echo commands.
24891
6b9b6276 248922009-09-24 Pavel Roskin <proski@gnu.org>
24893
24894 * include/grub/kernel.h (struct grub_module_header): Remove
24895 `grub_module_header_types'. Make `type' unsigned. Make `size'
24896 32-bit on all platforms.
24897 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24898 8-bit field. Use grub_host_to_target32() for `size'.
24899 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24900 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24901 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24902
4e5a02a7 249032009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24904
24905 Fix "lost keypress" bug in at_keyboard.
24906
24907 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24908 Checks for readyness of input buffer (without flushing it).
24909 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24910 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24911
c6dcedf6 249122009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24913
24914 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24915 size check within GRUB_MACHINE_PCBIOS section.
24916
74c958b1 249172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24918
24919 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24920 return value.
24921 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24922 KEYBOARD_ISREADY check.
24923 (grub_at_keyboard_checkkey): Rename to ...
24924 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24925 Remove gratuitous cast.
24926
ff420223 249272009-09-23 Colin Watson <cjwatson@ubuntu.com>
24928
24929 * configure.ac: Call AC_PROG_MKDIR_P.
24930 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24931 version.texi in $(builddir) rather than $(srcdir).
24932 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24933 to makeinfo's @include search path.
24934
d96875df 249352009-09-23 Felix Zielcke <fzielcke@z-51.de>
24936
24937 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24938
9b3f8365 249392009-09-23 Felix Zielcke <fzielcke@z-51.de>
24940
24941 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24942 for `*.dpkg-new'.
24943
c44c90db 249442009-09-21 Colin Watson <cjwatson@ubuntu.com>
24945
24946 Build info documentation. Some code borrowed from Automake.
24947
24948 * configure.ac: Check for makeinfo.
24949 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24950 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24951 docs/version.texi.
24952 (MOSTLYCLEANFILES): Add vti.tmp.
24953 (docs/version.texi, docs/stamp-vti): Update automatically.
24954 (docs/grub.info): Build info documentation. Use --force and ignore
24955 errors for now.
24956 (all-local): Add $(INFOS).
24957 (install-local): Install info files.
24958 (uninstall): Uninstall info files.
24959 * docs/version.texi: Remove from revision control. This file is
24960 automatically generated on build now.
24961 * gendistlist.sh: Add `*.info'.
24962
e0b37bb5 249632009-09-21 Felix Zielcke <fzielcke@z-51.de>
24964
24965 * kern/term.c: Fix indentation.
24966
5a78865b 249672009-09-21 Felix Zielcke <fzielcke@z-51.de>
24968
24969 * util/hostdisk.c: Fix a comment.
24970
dace7e8a 249712009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24972
24973 Fix regression introduced in r2539.
24974
24975 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24976 to 0xA1.
24977
a83d079b 249782009-09-19 Colin Watson <cjwatson@ubuntu.com>
24979
24980 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24981 os-prober. Under normal operation, it does not print anything to
24982 stderr; if it does, we need to debug it, and throwing away stderr
24983 makes that excessively difficult.
a83d079b 24984
be94a509 249852009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24988
63f745e8 249892009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24990
24991 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24992 AC_LANG_PROGRAM from autoconf.
24993 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24994 prototypes (fixes warning).
24995
24996 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24997 `--disable-werror' was used.
24998
bbb2a70f 249992009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25000
25001 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25002 uninitialized `lastaddr'.
25003
77c24f1d 250042009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25005
0f0b8c87 25006 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25007
07197f23 250082009-09-14 Colin Watson <cjwatson@ubuntu.com>
25009
25010 * commands/test.c (get_fileinfo): Return immediately if
25011 grub_fs_probe fails.
25012
dabf1798 250132009-09-14 José Martínez <xosemp@gmail.com>
25014
25015 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25016
d52109a7 250172009-09-14 Colin Watson <cjwatson@ubuntu.com>
25018
25019 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25020 output.
25021
56532179 250222009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25023
25024 * configure.ac: Remove --enable-grub-pe2elf. Only build
25025 grub-pe2elf when needed by the build system itself.
25026 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25027
8ef070f5 250282009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25029
25030 * configure.ac: Bump version to 1.97~beta3.
25031 * docs/version.texi: Likewise.
25032
61229557 250332009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25034
25035 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25036 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25037 from here ...
25038 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25039 (grub_linux_setup_video): ... to here (with some adjustments).
25040
5c9f8d84 250412009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25042
25043 Fix memory corruption issue (spotted by Colin Watson).
25044
25045 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25046 causing returned size to be stored in an incorrect memory location.
25047 Fix use of uninitialized value when storing the returned size.
25048
e8f5d6e9 250492009-09-12 Yves Blusseau <blusseau@zetam.org>
25050
25051 Change clean rules to properly remove files
25052
25053 * genmk.rb: add new clean rules
25054 * Makefile.in (clean): add the new targets
25055 (mostlyclean): likewise
25056
cda2a409 250572009-09-11 Colin Watson <cjwatson@ubuntu.com>
25058
25059 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25060 to grub_uint64_t.
25061 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25062 non-resident files.
25063
86695375 250642009-09-11 Colin Watson <cjwatson@ubuntu.com>
25065
25066 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25067 part of bug #27349.
25068
8aa1541a 250692009-09-10 Felix Zielcke <fzielcke@z-51.de>
25070
25071 * util/grub-mkconfig.in: Make the created config mode 400 and
25072 print a warning if it fails.
25073
48d9bb0a 250742009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25075
25076 * util/grub.d/40_custom.in: Ask user to type custom entries below
25077 comment, rather than below 'exec tail' line.
25078
3b0521be 250792009-09-10 Colin Watson <cjwatson@ubuntu.com>
25080
25081 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25082 visible in grub.cfg.
25083
50051d55 250842009-09-10 Colin Watson <cjwatson@ubuntu.com>
25085
25086 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25087 file.
25088
c0d34387 250892009-09-10 Felix Zielcke <fzielcke@z-51.de>
25090
25091 * docs/grub.cfg: Add an example menu entry for memtest86+.
25092
80a608f3 250932009-09-09 Felix Zielcke <fzielcke@z-51.de>
25094
a2094832 25095 * config.guess: Update to latest version from config git.
80a608f3 25096 * config.sub: Likewise.
25097
99423078 250982009-09-08 Colin Watson <cjwatson@ubuntu.com>
25099
25100 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25101 unknown-command case. Fixes bug #27320.
25102
44454e4c 251032009-09-08 Felix Zielcke <fzielcke@z-51.de>
25104
25105 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25106 `help' if the command exists.
25107
e30d87ad 251082009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25109
25110 * INSTALL: Require GCC 4.1.3 or later.
25111
9a86f1ec 251122009-09-06 Yves Blusseau <blusseau@zetam.org>
25113
25114 * Makefile.in (RMKFILES): add i386-qemu.rmk
25115 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25116 $(srcdir)/stamp-h.in
25117
7f26d466 251182009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25119
25120 * util/grub-probe.c (probe): Comment out buggy codepath, which
25121 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25122 should be re-enabled after 1.97.
25123
3a613259 251242009-09-05 Felix Zielcke <fzielcke@z-51.de>
25125
25126 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25127 find searches for.
25128
197f76c7 251292009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25132 unnecessary calls to grub_error.
25133
70ba68ce 251342009-09-04 Colin Watson <cjwatson@ubuntu.com>
25135
25136 * NEWS: Mention `keystatus' and Unicode fonts.
25137
4ff0d7a4 251382009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25139
25140 * configure.ac: Bump version to 1.97~beta2.
25141 * docs/version.texi: Likewise.
25142
77c55a87 251432009-09-03 Colin Watson <cjwatson@ubuntu.com>
25144
25145 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25146 containing unwind information in some cases where it previously did
25147 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25148 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25149 discussion.
25150
f79572cd 251512009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25152
25153 Embedding loadenv module into grub-emu
25154
25155 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25156 commands/loadenv.c
25157 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25159 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25161 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25162 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25163
93a81088 251642009-09-03 Magnus Granberg <zorry@ume.nu>
25165
25166 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25167 include -fPIE in the default specs.
25168 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25169 to TARGET_CFLAGS.
25170
160034b2 251712009-09-03 Felix Zielcke <fzielcke@z-51.de>
25172
25173 * INSTALL: Note that GNU Bison 2.3 or later is required.
25174
087c07c4 251752009-09-03 Colin Watson <cjwatson@ubuntu.com>
25176
25177 * kern/i386/pc/startup.S: Fix typo.
25178
cbf978c0 251792009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25182 according to GCS.
25183
251842009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25185
25186 * docs/grub.texi (Naming convention): Describe one-based partition
25187 numbering.
25188 (Device syntax): Likewise.
25189 (File name syntax): Likewise.
25190 (Block list syntax): Likewise.
25191 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25192 menu.lst.
25193 (File name syntax): Likewise.
25194 (Command-line and menu entry commands): Document acpi, blocklist,
25195 crc, export, insmod, keystatus, ls, set, and unset commands.
25196
f3e8cdfd 251972009-09-02 Colin Watson <cjwatson@ubuntu.com>
25198
25199 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25200 to avoid implying that only one of --shift, --ctrl, or --alt may be
25201 used.
25202
c0bc232b 252032009-09-02 Colin Watson <cjwatson@ubuntu.com>
25204
25205 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25206 rather than comparing against S_IFREG, which will almost never work.
25207
aa0f752d 252082009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25209
25210 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25211 (write_blocklists): Likewise.
25212
ecb3166a 252132009-09-01 Colin Watson <cjwatson@ubuntu.com>
25214
25215 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25216 argument to grub_printf.
25217
c403a125 252182009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25219
25220 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25221 non GNU test.
31aba781 25222
b5e7312c 252232009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25224
25225 * kern/file.c (grub_file_read): Spelling fix
25226
fe00f472 252272009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25230 loading of headers in some cases.
25231
cc55302e 252322009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25233
25234 * configure.ac: Bump version to 1.97~beta1.
25235 * docs/version.texi: Likewise.
25236
5c90cdd2 252372009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25238
25239 * include/grub/i386/xnu.h: Add license header.
25240 include grub/err.h explicitly.
25241
c90edae4 252422009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25243
25244 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25245 to `ufs' in the vfs.root.mountfrom kernel parameter.
25246
d8888b5c 252472009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25248
25249 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25250
25251 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25252 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25253
25254 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25255 `ARRAY_SIZE' macro.
25256
6f07b921 252572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25258
25259 * kern/file.c (grub_file_read): Check offset.
25260 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25261 * fs/jfs.c (grub_jfs_read_file): Likewise.
25262 * fs/ntfs.c (grub_ntfs_read): Likewise.
25263 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25264 * fs/minix.c (grub_minix_read_file): Correct offset check.
25265 * fs/ufs.c (grub_ufs_read_file): Likewise.
25266
b4f34077 252672009-08-28 Colin Watson <cjwatson@ubuntu.com>
25268
25269 * term/i386/pc/console.c (bios_data_area): Cast
25270 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25271
e7c69859 252722009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 1-bit optimised blitters.
25275
25276 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25277 prototype.
25278 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25279 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25280 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25281 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25282 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25283 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25284 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25285 function.
25286 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25287 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25288 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25289 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25290 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25291 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25292 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25293 when possible.
25294 * video/video.c (grub_video_get_blit_format): Return
25295 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25296
a57da43f 252972009-08-28 Colin Watson <cjwatson@ubuntu.com>
25298
25299 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25300 the first argument to grub_printf.
25301
4cbe67e5 253022009-08-28 Colin Watson <cjwatson@ubuntu.com>
253032009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25304
25305 Add `getkeystatus' terminal method. Add a new `keystatus' command
25306 to query it.
25307
25308 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25309 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25310 modifier key bitmasks.
25311 (struct grub_term_input): Add `getkeystatus' member.
25312 (grub_getkeystatus): Add prototype.
25313 * kern/term.c (grub_getkeystatus): New function.
25314
25315 * include/grub/i386/pc/memory.h
25316 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25317 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25318 Data Area layout.
25319 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25320 (grub_console_term_input): Set `getkeystatus' member.
25321 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25322 constants.
25323 (grub_usb_keyboard_getreport): Likewise.
25324 (grub_usb_keyboard_checkkey): Likewise.
25325 (grub_usb_keyboard_getkeystatus): New function.
25326 (grub_usb_keyboard_term): Set `getkeystatus' member.
25327
25328 * commands/keystatus.c: New file.
25329 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25330 (keystatus_mod_SOURCES): New variable.
25331 (keystatus_mod_CFLAGS): Likewise.
25332 (keystatus_mod_LDFLAGS): Likewise.
25333 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25334 commands/keystatus.c.
25335 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25336 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25337 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25339 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25340 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25341
6e2a9085 253422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 Split befs.mod and afs.mod into *_be.mod and *.mod
25345
25346 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25347 (grub_fstest_SOURCES): Likewise.
25348 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25349 (afs_be_mod_SOURCES): New variable.
25350 (afs_be_mod_CFLAGS): Likewise.
25351 (afs_be_mod_LDFLAGS): Likewise.
25352 (befs_be_mod_SOURCES): Likewise.
25353 (befs_be_mod_CFLAGS): Likewise.
25354 (befs_be_mod_LDFLAGS): Likewise.
25355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25357 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25358 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25359 (grub_emu_SOURCES): Likewise.
25360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25361 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25362 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25363 * fs/afs_be.c: New file.
25364 * fs/befs_be.c: New file.
25365 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25366 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25367 (U16): Replaced with ...
25368 (grub_afs_to_cpu16): ...this. All users updated.
25369 (U32): Replaced with ...
25370 (grub_afs_to_cpu32): ...this. All users updated.
25371 (U64): Replaced with ...
25372 (grub_afs_to_cpu64): ...this. All users updated.
25373 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25374 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25375 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25376 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25377 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25378 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25379 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25380 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25381 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25382 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25383 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25384
32a71655 253852009-08-26 Bean <bean123ch@gmail.com>
25386
25387 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25388 64-bit number.
25389 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25390 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25391 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25392
552bf6c5 253932009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25394
25395 NetBSD memory map support.
25396
25397 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25398 (grub_netbsd_btinfo_mmap_header): New structure.
25399 (grub_netbsd_btinfo_mmap_entry): Likewise.
25400 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25401
1ae2078c 254022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25403
25404 Enable bsd.mod on coreboot.
25405
25406 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25407 (bsd_mod_SOURCES): New variable.
25408 (bsd_mod_CFLAGS): Likewise.
25409 (bsd_mod_LDFLAGS): Likewise.
25410 (bsd_mod_ASFLAGS): Likewise.
25411 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25412 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25413
beefc598 254142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 Cleanup NetBSD root support.
25417
25418 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25419 grub_bsd_get_device.
25420 Fix typo.
25421
3b76e68b 254222009-08-25 Felix Zielcke <fzielcke@z-51.de>
25423
25424 * util/grub.d/00_header.in: Move check for the video backend of
25425 gfxterm from here ...
25426 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25427 a suitable video backend.
25428
aea664ea 254292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 Fix breakage in grub-setup.
25432
25433 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25434 "msdos_partition_map".
25435
ff747d50 254362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 Fix breakage in normal/auth.c.
25439
25440 * normal/auth.c (grub_iswordseparator): New function.
25441
e7e1f93f 254422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 Authentication support.
25445
25446 * commands/password.c: New file.
25447 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25448 (password_mod_SOURCES): New variable.
25449 (password_mod_CFLAGS): Likewise.
25450 (password_mod_LDFLAGS): Likewise.
25451 (normal_mod_SOURCES): Add normal/auth.c.
25452 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25453 normal/auth.c.
25454 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25455 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25456 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25458 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25459 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25460 * include/grub/auth.h: New file.
25461 * include/grub/err.h (grub_err_t): New enum value
25462 GRUB_ERR_ACCESS_DENIED.
25463 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25464 'users'.
25465 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25466 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25467 users updated.
25468 * normal/auth.c: New file.
25469 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25470 (grub_cmdline_run): Don't allow to go to command line without
25471 authentication.
25472 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25473 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25474 menuentry without superuser rights.
25475 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25476 user isn't a superuser.
25477
70f1161d 254782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 Save space by inlining misc.c functions.
25481
25482 * kern/misc.c (grub_iswordseparator): Made static.
25483 * kern/misc.c (grub_strcat): Moved from here ...
25484 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25485 * kern/misc.c (grub_strncat): Moved from here ...
25486 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25487 * kern/misc.c (grub_strcasecmp): Moved from here ...
25488 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25489 * kern/misc.c (grub_strncasecmp): Moved from here ...
25490 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25491 * kern/misc.c (grub_isalpha): Moved from here ...
25492 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25493 * kern/misc.c (grub_isdigit): Moved from here ...
25494 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25495 * kern/misc.c (grub_isgraph): Moved from here ...
25496 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25497 * kern/misc.c (grub_tolower): Moved from here ...
25498 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25499
48e40bff 255002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * script/sh/function.c (grub_script_function_find): Cut error message
25503 not to flood terminal.
25504 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25505 limit.
25506 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25507
c385bfc3 255082009-08-24 Colin Watson <cjwatson@ubuntu.com>
25509
25510 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25511 `report' grub_uint8_t *.
25512 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25513 Use a 50-millisecond timeout rather than just repeating
25514 grub_usb_keyboard_getreport 50 times.
25515 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25516
2d21e3e8 255172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25518
25519 Rename *_partition_map to part_*
25520
25521 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25522 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25523 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25524 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25525 All users updated.
25526 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25527 All users updated.
25528 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25529 * util/grub-probe.c (probe_partmap): Don't transform partition name
25530 to get module name.
25531
dd103c4e 255322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25533
25534 Fix OpenBSD and NetBSD support.
25535
25536 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25537 memory address conflict.
25538 (OPENBSD_MMAP_ACPI): New definition.
25539 (OPENBSD_MMAP_NVS): Likewise.
25540 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25541 and OPENBSD_MMAP_NVS.
25542 Add memory map terminator
25543 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25544 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25545
16c84d74 255462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25547
25548 Let user specify NetBSD root device.
25549
25550 * loader/i386/bsd.c (netbsd_root): New variable.
25551 (netbsd_opts): New option 'root'.
25552 (NETBSD_ROOT_ARG): New macro.
25553 (grub_netbsd_boot): Use 'netbsd_root'.
25554 (grub_bsd_unload): Free 'netbsd_root'.
25555 (grub_cmd_netbsd): Fill 'netbsd_root'.
25556
adb29902 255572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25558
25559 Support for 64-bit NetBSD.
25560
25561 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25562 point when booting non-FreeBSD.
25563
f5ae9f74 255642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25565
25566 Support --no-smp and --no-acpi for NetBSD.
25567
25568 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25569 (NETBSD_AB_NOACPI): Likewise.
25570 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25571 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25572
de74f136 255732009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25574
25575 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25576 errors.
25577 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25578 errors. Call grub_error when needed.
25579
e9a925da 255802009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 * commands/search.c (search_fs): Try searching without autoload first.
25583 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25584 filesystem module explicitly for faster booting.
25585
5174302b 255862009-08-23 Colin Watson <cjwatson@ubuntu.com>
25587
25588 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25589
c8c80635 255902009-08-23 Colin Watson <cjwatson@ubuntu.com>
25591
25592 * util/grub.d/30_os-prober.in: Disable os-prober if
25593 `GRUB_DISABLE_OS_PROBER' was set to true.
25594
71acf5e5 255952009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25596
25597 * partmap/pc.c: Rename to ...
25598 * partmap/msdos.c: ... this. Update all users.
25599 (grub_pc_partition_map): Rename to ...
25600 (grub_msdos_partition_map): ... this. Update all users.
25601
25602 * parttool/pcpart.c: Rename to ...
25603 * parttool/msdospart.c: ... this. Update all users.
25604
25605 * include/grub/pc_partition.h: Rename to ...
25606 * include/grub/msdos_partition.h: ... this. Update all users.
25607 (grub_pc_partition_bsd_entry): Rename to ...
25608 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25609 (grub_pc_partition_disk_label): Rename to ...
25610 (grub_msdos_partition_disk_label): ... this. Update all users.
25611 (grub_pc_partition_entry): Rename to ...
25612 (grub_msdos_partition_entry): ... this. Update all users.
25613 (grub_pc_partition_mbr): Rename to ...
25614 (grub_msdos_partition_mbr): ... this. Update all users.
25615 (grub_pc_partition): Rename to ...
25616 (grub_msdos_partition): ... this. Update all users.
25617 (grub_pc_partition_is_empty): Rename to ...
25618 (grub_msdos_partition_is_empty): ... this. Update all users.
25619 (grub_pc_partition_is_extended): Rename to ...
25620 (grub_msdos_partition_is_extended): ... this. Update all users.
25621 (grub_pc_partition_is_bsd): Rename to ...
25622 (grub_msdos_partition_is_bsd): ... this. Update all users.
25623
25624 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25625 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25626 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25627 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25628 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25629 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25630 (gpt_mod_LDFLAGS): Rename to ...
25631 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25632 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25633 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25634 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25635 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25636 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25637 (part_gpt_mod_LDFLAGS): ... this.
25638 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25639 `pcpart.mod' to `msdospart.mod'.
25640 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25641 to ...
25642 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25643 (msdospart_mod_LDFLAGS): ... this.
25644
c11fded5 256452009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25646
25647 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25648 (openbsd_opts): Likewise.
25649 (netbsd_opts): Likewise.
25650 (freebsd_flags): Added 0 terminator.
25651 (openbsd_flags): Likewise.
25652 (netbsd_flags): Likewise.
25653 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25654 (grub_cmd_freebsd): Transformed into extended command.
25655 (grub_cmd_openbsd): Likewise.
25656 (grub_cmd_netbsd): Likewise.
25657 (cmd_freebsd): Changed type to grub_extcmd_t.
25658 (cmd_openbsd): Likewise.
25659 (cmd_netbsd): Likewise.
25660 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25661 grub_cmd_openbsd as extended commands.
25662 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25663 cmd_netbsd and cmd_openbsd
25664
11d1c769 256652009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25666
25667 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25668
7a9094e5 256692009-08-21 Pavel Roskin <proski@gnu.org>
25670
5496c37e 25671 * Makefile.in (install-local): When checking if a file is in the
25672 build directory, use "test -e" to detect symlinks.
25673
7a9094e5 25674 * Makefile.in (install-local): Remove all files in
25675 $(DESTDIR)$(pkglibdir) before installing new files there.
25676
e53cea11 256772009-08-18 Felix Zielcke <fzielcke@z-51.de>
25678
25679 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25680 grub-mkelfimage.
25681
9aced544 256822009-08-18 Felix Zielcke <fzielcke@z-51.de>
25683
25684 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25685 explicitly specified by the user.
25686
b7da6bab 256872009-08-18 Pavel Roskin <proski@gnu.org>
25688
25689 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25690 grub_uint8_t pointer for data.
25691 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25692 Likewise.
25693 * video/fb/fbutil.c: Remove unnecessary casts.
25694
19f1b335 256952009-08-17 Michal Suchanek <hramrach@centrum.cz>
25696
25697 VBE cleanup.
25698
25699 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25700 (grub_vbe_set_video_mode): Save active mode info
25701 only after setting the mode.
25702 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25703 second argument.
25704
2f467aa9 257052009-08-17 Michal Suchanek <hramrach@centrum.cz>
25706
25707 Rename variables for clarity.
25708
25709 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25710 (active_vbe_mode_info): ... this. All users updated.
25711 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25712 All users updated.
25713 (initial_mode): Rename to ...
25714 (initial_vbe_mode): ... this. All users updated.
25715 (mode_in_use): Rename to ..
25716 (vbe_mode_in_use): ... this. All users updated.
25717 (mode_list): Rename to ..
25718 (vbe_mode_list): ... this. All users updated.
25719 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25720 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25721 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25722 'mode_list_size' to 'vbe_mode_list_size'.
25723 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25724 'best_mode_info' to 'best_vbe_mode_info' and
25725 'best_mode' to 'best_vbe_mode'
25726
6025fcd7 257272009-08-17 Michal Suchanek <hramrach@centrum.cz>
25728
25729 Remove duplicate grub_video_fb_get_video_ptr.
25730
25731 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25732 (grub_video_fb_get_video_ptr): ... this.
25733 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25734 * video/fb/fbutil.c: Add comment about addressing.
25735 (get_data_ptr): Rename to ...
25736 (grub_video_fb_get_video_ptr): ... this. All users updated.
25737 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25738
cc8c6faf 257392009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25740
25741 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25742 grub_dprintf() that was just added.
25743
08aa61f0 257442009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25745
25746 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25747 (DEFAULT_VIDEO_MODE): Remove macros.
25748 (grub_linux_boot): Remove assumption that Linux has FB support,
25749 and use "text" as default video mode.
25750
7cef4f75 257512009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25752
25753 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25754 grub_dprintf.
25755 * fs/fat.c (grub_fat_read_data): Likewise.
25756
e1f39873 257572009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25758
25759 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25760 payload.
25761 (grub_module): Likewise.
25762
c166d79e 257632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25764
25765 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25766 mbi->cmdline but free playground.
25767
c60cee8e 257682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25769
25770 Handle group offset on UFS1.
25771
25772 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25773 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25774
c0d8b5d4 257752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25776
25777 Split ufs.mod into ufs1.mod and ufs2.mod.
25778
25779 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25780 (grub_fstest_SOURCES): Likewise.
25781 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25782 (ufs_mod_SOURCES): Remove.
25783 (ufs_mod_CFLAGS): Likewise.
25784 (ufs_mod_LDFLAGS): Likewise.
25785 (ufs1_mod_SOURCES): New variable.
25786 (ufs1_mod_CFLAGS): Likewise.
25787 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25788 (ufs2_mod_SOURCES): New variable.
25789 (ufs2_mod_CFLAGS): Likewise.
25790 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25792 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25793 Likewise.
25794 (grub_emu_SOURCES): Likewise.
25795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25796 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25797 (grub_setup_SOURCES): Likewise.
25798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25799 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25800 (grub_setup_SOURCES): Likewise.
25801 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25802 Likewise.
25803 * fs/ufs2.c: New file.
25804 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25805
d3539132 258062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 Framebuffer split.
25809
25810 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25811 subsystem at the end.
25812 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25813 (video_fb_mod_SOURCES): New variable.
25814 (video_fb_mod_CFLAGS): Likewise.
25815 (video_fb_mod_LDFLAGS): Likewise.
25816 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25817 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25818 * video/i386/pc/vbeblit.c: Moved from here ...
25819 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25820 * video/i386/pc/vbefill.c: Moved from here ...
25821 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25822 * video/i386/pc/vbeutil.c: Moved from here ...
25823 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25824 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25825 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25826 * include/grub/i386/pc/vbefill.h: Moved from here ...
25827 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25828 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25829 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25830 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25831 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25832 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25833 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25834 (grub_video_adapter): Added 'get_info_and_fini'.
25835 (grub_video_get_info_and_fini): New prototype.
25836 (grub_video_set_mode): make modestring const char *.
25837 * loader/i386/linux.c (grub_linux_setup_video): Use
25838 grub_video_get_info_and_fini.
25839 (grub_linux_boot): Move modesetting just before booting.
25840 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25841 grub_video_get_info_and_fini.
25842 * video/i386/pc/vbe.c: Moved framebuffer part ...
25843 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25844 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25845 grub_video_fbstd_colors and grub_video_fb_set_palette.
25846 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25847 grub_video_fb_init.
25848 (grub_video_vbe_fini): Use grub_video_fb_fini.
25849 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25850 render_target and use grub_video_fb_set_active_render_target and
25851 grub_video_fb_set_palette.
25852 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25853 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25854 (grub_video_vbe_adapter): Use framebuffer.
25855 * video/video.c (grub_video_get_info_and_fini): New function.
25856 (grub_video_set_mode): Make modestring const char *.
25857 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25858 values are already initialised.
25859
d404ee56 258602009-08-14 Pavel Roskin <proski@gnu.org>
25861
25862 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25863 ABS and APPLE_CC.
25864 * boot/i386/pc/diskboot.S: Likewise.
25865 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25866 sectors allow compilation on MacOSX.
25867 * conf/i386-pc.rmk: Enable unconditional compilation of
25868 lnxboot.img.
25869
9a10df16 258702009-08-13 Colin Watson <cjwatson@ubuntu.com>
25871
25872 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25873 * util/grub.d/00_header.in: Enter interruptible sleep if
25874 GRUB_HIDDEN_TIMEOUT is set.
25875
be3c9ca7 258762009-08-13 Yves Blusseau <blusseau@zetam.org>
25877
25878 * include/grub/symbol.h: Add the LOCAL macro.
25879 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25880 starting with "L_".
25881
1f9e557e 258822009-08-13 Pavel Roskin <proski@gnu.org>
25883
9ca62843 25884 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25885 any modern compilers we support.
25886
1f9e557e 25887 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25888 Use local labels starting with "L_" so that Apple assembler
25889 knows they are local.
25890
81623db6 258912009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25892
25893 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25894 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25895 (bsd_kernel_types): ... this enum.
25896
25897 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25898 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25899 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25900
25901 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25902 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25903 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25904 messages.
25905
f5d35e7a 259062009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25907
25908 * util/grub-dumpdevtree: Moved from here ...
25909 * util/i386/efi/grub-dumpdevtree: ... to here.
25910 (hexify): New function. Converts a string to its hex version.
25911 Generate hex versions of "efi" and "device-properties" by calling
25912 hexify() on the ASCII strings rather than by hardcoding numbers.
25913
d1e1d527 259142009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25915
25916 * fs/jfs.c: Update copyright year.
25917
1ebbe064 259182009-08-08 Felix Zielcke <fzielcke@z-51.de>
25919
25920 * util/grub.d/00_header.in: Fix a comment.
25921 * util/grub.d/10_linux.in: Likewise.
25922 * util/grub.d/10_windows.in: Likewise.
25923 * util/grub.d/10_hurd.in: Likewise.
25924
a78c8d24 259252009-08-08 Felix Zielcke <fzielcke@z-51.de>
25926
25927 * util/grub-mkconfig.in: Allow the user to specify the used font
25928 with GRUB_FONT.
25929
29a6b9e8 259302009-08-08 Pavel Roskin <proski@gnu.org>
25931
b5f16cc4 25932 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25933 available, xfs.mod needs it now.
25934
2f5cb827 25935 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25936 the "g" modifier in sed when the intention is to strip something
25937 once. This fixes comparison of kernels with multiple dashes.
25938
29a6b9e8 25939 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25940 on it. Add missing space before closing bracket. Fix
25941 misleading formatting.
25942
892a3d98 259432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25944
25945 * docs/grub.texi: Major overhaul. Remove all sections that are
25946 specific to GRUB Legacy, or mostly composed of Legacy-specific
25947 information.
25948
ed94253f 259492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25950
25951 * docs/version.texi: New file. Provides version information for
25952 grub.texi.
25953
126d6628 259542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25955
25956 * docs/grub.texi: Update CVS information to SVN.
25957 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25958
998b5aa9 259592009-08-07 Felix Zielcke <fzielcke@z-51.de>
25960
25961 * util/grub-mkconfig.in: Remove a wrong `fi'.
25962
818e094a 259632009-08-07 Felix Zielcke <fzielcke@z-51.de>
25964
25965 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25966 (grub_jfs_uuid): New function.
25967 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25968
b969c52f 259692009-08-07 Felix Zielcke <fzielcke@z-51.de>
25970
25971 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25972 of it to ...
25973 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25974 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25975
7a4894cc 259762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25977
25978 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25979 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25980 Update all users.
25981
25982 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25983 not just "vmlinu[zx]".
25984 Moved from here ...
25985 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25986 all users.
25987
25988 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25989 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25990 all users.
25991
4e2171f8 259922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25993
25994 * util/grub.d/10_freebsd.in: Use an absolute device path for
25995 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25996
6dcfcb32 259972009-08-06 Felix Zielcke <fzielcke@z-51.de>
25998
25999 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26000 handling of multiple abstraction modules.
26001
f56a8756 260022009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26003
26004 Fix a bug resulting in black screen when loading Linux using a
26005 packed video mode.
26006
26007 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26008 function.
26009
26010 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26011 (grub_vbe_bios_getset_dac_palette_width): New function.
26012 (grub_vbe_bios_get_dac_palette_width)
26013 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26014 grub_vbe_bios_getset_dac_palette_width()).
26015
26016 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26017 check for return status.
26018 (grub_vbe_get_video_mode_info): When getting information for a packed
26019 mode (<= 8 bpp), obtain DAC palette width using
26020 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26021 {red,green,blue}_mark_size.
26022
222671b2 260232009-08-04 Felix Zielcke <fzielcke@z-51.de>
26024
ecb1a6d9 26025 * commands/search.c (options): Fix help output to match actual code.
222671b2 26026
f84114f5 260272009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26028
26029 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26030 of homegrown code.
26031
bd288a20 260322009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26033
26034 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26035 on XFS or ReiserFS.
26036
8aab5e25 260372009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26038
26039 Support Apple partition map with sector size different from 512 bytes.
26040
26041 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26042 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26043 and 'apart.partmap_size'.
26044
6ad6258a 260452009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
260462009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26047
26048 Fix cpuid command.
26049
26050 * commands/i386/cpuid.c (options): New variable.
26051 (grub_cmd_cpuid): Return real error.
26052 (GRUB_MOD_INIT(cpuid)): Declare options.
26053
67459bc6 260542009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26057 valid.
26058
fbc6ab54 260592009-07-31 Bean <bean123ch@gmail.com>
26060
26061 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26062 log2_inode.
26063 (grub_fshelp_node): Move inode field to the end.
26064 (grub_xfs_data): Remove inode field.
26065 (grub_xfs_inode_block): Calculate inode size using sblock.
26066 (grub_xfs_inode_offset): Likewise.
26067 (grub_xfs_read_inode): Calculate inode size using sblock.
26068 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26069 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26070 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26071 to match inode size.
26072 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26073 not accessible when data is null.
26074 (grub_xfs_open): Likewise.
26075
f45d6cfc 260762009-07-31 Bean <bean123ch@gmail.com>
26077
26078 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26079 Don't change pv->disk if it's already set.
26080
26081 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26082 (grub_raid_register): ... here.
26083 (grub_raid_rescan): Removed.
26084
26085 * include/grub/raid.h (grub_raid_rescan): Removed.
26086
26087 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26088 (fstest): Replace grub_raid_rescan with module fini function followed
26089 by init function.
26090
26091 * util/grub-probe.c: Add include file <grub/raid.h>.
26092 (probe_raid_level): New function.
26093 (probe): Detect abstraction by walking the disk device, support two
26094 level of abstraction (LVM on RAID) when detecting partition map.
26095
24443b5a 260962009-07-31 Pavel Roskin <proski@gnu.org>
26097
26098 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26099 to grub_zalloc(), it was erroneous.
26100 Reported by Bean <bean123ch@gmail.com>
26101
a275d9e7 261022009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26103
26104 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26105 embedding zone, not only the first one.
a275d9e7 26106
56c5a47f 261072009-07-29 Joe Auricchio <jauricchio@gmail.com>
26108
26109 * term/gfxterm.c (clear_char): New function.
26110 (grub_virtual_screen_setup): Use clear_char.
26111 (scroll_up): Likewise.
26112 (grub_virtual_screen_cls): Likewise.
26113
67bb323a 261142009-07-29 Felix Zielcke <fzielcke@z-51.de>
26115
26116 * util/deviceiter.c (get_acceleraid_disk_name): New static
26117 function.
26118 (grub_util_iterate_devices): Handle Accelraid devices.
26119 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26120
388a7c75 261212009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26122
26123 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26124 separator for the suggested gfxpayload string (';' collides with the
26125 parser and needs escaping).
26126
3bb7abcf 261272009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26128
26129 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26130 Clear direction flag before jumping to OS.
26131 (grub_multiboot2_real_boot): Likewise.
26132
2ddd36d7 261332009-07-28 Felix Zielcke <fzielcke@z-51.de>
26134
26135 * util/i386/pc/grub-install: Fix parsing of --disk-module
26136 option.
26137
c521b62b 261382009-07-28 Felix Zielcke <fzielcke@z-51.de>
26139
26140 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26141 when embedding.
26142
880e0a0c 261432009-07-26 Felix Zielcke <fzielcke@z-51.de>
26144
26145 * util/grub-mkconfig.in (package_version): New variable.
26146 Use it do display the version.
26147
2366e356 261482009-07-25 Felix Zielcke <fzielcke@z-51.de>
26149
26150 * kern/file.c (grub_file_open): Revert to previous check with
26151 grub_errno.
26152
7ad8c80e 261532009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26154
26155 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26156 from help line. It's out of sync with code.
26157
72b9658b 261582009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26159
26160 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26161 entries on failed boot.
26162
77435277 261632009-07-25 Felix Zielcke <fzielcke@z-51.de>
26164
26165 * kern/file.c (grub_file_open): Fix an error check.
26166
fcaa8b21 261672009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26168
35d16c74 26169 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26170 partition map couldn't be identified.
fcaa8b21 26171
48904cd1 261722009-07-23 Pavel Roskin <proski@gnu.org>
26173
ef3c317f 26174 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26175 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26176 case of little endian words becomes just an optimization.
26177 Respect const modifier.
ad8ea1f4 26178 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26179
48904cd1 26180 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26181 to avoid loss of upper bits if align is unsigned and shorter
26182 than addr.
26183
260c9a89 261842009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26185
26186 UUID support for UFS
26187
26188 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26189 (grub_ufs_uuid): New function.
26190 (grub_ufs_fs): add .uuid
26191
f76ce889 261922009-07-21 Pavel Roskin <proski@gnu.org>
26193
26194 * kern/dl.c (grub_dl_check_header): Make static.
26195
6a6cbcaf 261962009-07-21 Felix Zielcke <fzielcke@z-51.de>
26197
26198 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26199 add drivemap for Vista. It breaks Windows 7.
26200
cffcddb2 262012009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26204 128 bytes
26205
1ef44b80 262062009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26207
26208 Add BFS support
26209
26210 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26211 (grub_fstest_SOURCES): Likewise.
26212 (pkglib_MODULES): Add befs.mod.
26213 (befs_mod_SOURCES): New variable.
26214 (befs_mod_CFLAGS): Likewise.
26215 (befs_mod_LDFLAGS): Likewise.
26216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26219 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26220 (grub_setup_SOURCES): Likewise.
26221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26222 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26223 (grub_setup_SOURCES): Likewise.
26224 * fs/befs.c: New file.
26225 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26226 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26227 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26228 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26229 (B_KEY_INDEX_ALIGN): New declaration.
26230 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26231 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26232 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26233 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26234 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26235 (grub_afs_mount) [MODE_BFS]: Likewise.
26236 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26237 (grub_afs_fs): Use GRUB_AFS_FSNAME
26238 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26239 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26240 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26241 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26242
4f253044 262432009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26244
26245 * util/getroot.c (find_root_device): Add support for MacOSX.
26246 * util/hostdisk.c: Likewise.
26247
57a55913 262482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26249
26250 * font/font.c (find_glyph): Check whether a font is present to avoid
26251 segmentation fault.
75421ca9 26252
262532009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26254
26255 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26256
e98cd0c2 262572009-07-20 Pavel Roskin <proski@gnu.org>
26258
26259 * configure.ac: Trim excessively wordy excuses.
26260
1d2d169a 262612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 Add symlink, mtime and label support to AtheFS.
26264
26265 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26266 (grub_afs_iterate_dir): Handle symlinks.
26267 (grub_afs_open): Use grub_afs_read_symlink.
26268 (grub_afs_dir): Likewise.
26269 Pass mtime.
26270 (grub_afs_label): New function.
26271 (grub_afs_fs): Add grub_afs_label.
26272 (grub_afs_read_symlink): New function.
26273
186f3189 262742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26275
26276 Fix AtheFS support.
26277
26278 * fs/afs.c: Fix comments style.
26279 (grub_afs_blockrun): Declare as packed.
26280 (grub_afs_datastream): Likewise.
26281 (grub_afs_bnode): Likewise.
26282 (grub_afs_btree): Likewise.
26283 (grub_afs_sblock): Likewise.
26284 Declare `name' as char.
26285 (grub_afs_inode): Declare as packed.
26286 Change void *vnode to grub_uint32_t unused.
26287 (grub_afs_iterate_dir): Check that key_size is positive.
26288 (grub_afs_mount): Don't read superblock twice.
75421ca9 26289 (grub_afs_dir): Don't free node in case of error,
186f3189 26290 grub_fshelp_find_file already handles this.
26291 (grub_afs_open): Likewise.
26292
5680109e 262932009-07-19 Pavel Roskin <proski@gnu.org>
26294
26295 * Makefile.in: Remove LIBLZO and enable_lzo.
26296 * conf/i386-pc.rmk: Remove lzo support.
26297 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26298 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26299 support.
26300 * kern/i386/pc/lzo1x.S: Remove.
26301 * kern/i386/pc/startup.S: Remove lzo support.
26302 * util/i386/pc/grub-mkimage.c: Likewise.
26303
ac70fa32 263042009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26307 * fs/xfs.c (grub_xfs_dir): Likewise.
26308 * fs/afs.c (grub_afs_dir): Likewise.
26309 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26310 (grub_iso9660_open): Likewise.
26311 * fs/jfs.c (grub_jfs_open): Likewise.
26312 * fs/ext2.c (grub_ext2_dir): Likewise.
26313 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26314 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26315
eab58da2 263162009-07-16 Pavel Roskin <proski@gnu.org>
26317
d2838156 26318 * configure.ac: Never add "-c" to CFLAGS.
26319
55c70904 26320 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26321
43e6200c 26322 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26323 grub_cv_cc_efiemu should be used.
26324
ce7a733d 26325 * configure.ac: Typo fixes.
26326
eab58da2 26327 * kern/mm.c (grub_zalloc): New function.
26328 (grub_debug_zalloc): Likewise.
26329 * include/grub/mm.h: Declare grub_zalloc() and
26330 grub_debug_zalloc().
26331 * util/misc.c (grub_zalloc): New function.
26332 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26333 instead of grub_malloc(), remove unneeded initializations.
26334 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26335 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26336 * commands/parttool.c (grub_cmd_parttool): Likewise.
26337 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26338 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26339 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26340 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26341 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26342 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26343 (grub_cmd_efiemu_pnvram): Likewise.
26344 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26345 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26346 (grub_iso9660_iterate_dir): Likewise.
26347 * fs/jfs.c (grub_jfs_opendir): Likewise.
26348 * fs/ntfs.c (list_file): Likewise.
26349 (grub_ntfs_mount): Likewise.
26350 * kern/disk.c (grub_disk_open): Likewise.
26351 * kern/dl.c (grub_dl_load_core): Likewise.
26352 * kern/elf.c (grub_elf_file): Likewise.
26353 * kern/env.c (grub_env_context_open): Likewise.
26354 (grub_env_set): Likewise.
26355 (grub_env_set_data_slot): Likewise.
26356 * kern/file.c (grub_file_open): Likewise.
26357 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26358 * loader/i386/multiboot.c (grub_module): Likewise.
26359 * loader/xnu.c (grub_xnu_create_key): Likewise.
26360 (grub_xnu_create_value): Likewise.
26361 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26362 (read_config_file): Likewise.
26363 * normal/menu_entry.c (make_screen): Likewise.
26364 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26365 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26366 * script/sh/script.c (grub_script_parse): Likewise.
26367 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26368 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26369 * video/readers/png.c (grub_png_output_byte): Likewise.
26370 (grub_video_reader_png): Likewise.
26371
830afef7 263722009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26373
26374 Enable all targets that can be built by default
26375
830afef7 26376 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26377 grub-mkfont and grub-fstest if they can be built
26378
ee293aee 263792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26380
26381 Fix hang and segmentation fault in grub-emu-usb
26382
26383 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26384 * util/usb.c (grub_libusb_devices): likewise
26385 (grub_libusb_init): rename to ...
26386 (GRUB_MOD_INIT (libusb)):...this
26387 (grub_libusb_fini): rename to ..
26388 (GRUB_MOD_FINI (libusb)):...this
26389 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26390 * include/grub/disk.h (grub_raid_init): removed, it's useless
26391 (grub_raid_fini): likewise
26392 (grub_lvm_init): likewise
26393 (grub_lvm_fini): likewise
26394 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26395 by grub_init_all
26396
94414221 263972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26398
26399 Fix libusb
26400
26401 * Makefile.in (LIBUSB): new macro
26402 * genmk.rb (Utility/print_tail): new method
26403 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26404 (top level): call util.print_tail at the end.
26405
59ade63d 264062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 Make FreeBSD accept zpool.cache
26409
26410 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26411 type is /boot/zfs/zpool.cache
26412
a58da8c7 264132009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 Fix 64-bit efiemu
26416
26417 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26418 correct wrong typedef
26419 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26420
20591577 264212009-07-15 Pavel Roskin <proski@gnu.org>
26422
560ca572 26423 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26424 * kern/disk.c (struct grub_disk_cache): Likewise.
26425
e8e8e4fd 26426 * commands/probe.c (options): Typo fix.
26427
fde24e10 26428 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26429 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26430 accordingly.
26431 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26432
379c54c1 26433 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26434 the end of "Error" to make the message more readable.
26435
7bd8f5bf 26436 * boot/i386/pc/boot.S (kernel_segment): Remove.
26437 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26438 for destination.
26439
40b132c5 26440 * boot/i386/pc/boot.S (boot_version): Remove.
26441 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26442 Remove.
26443
20591577 26444 * include/grub/i386/pc/boot.h: Sort all offsets.
26445 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26446 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26447 * boot/i386/pc/boot.S: Assert location of every offset listed in
26448 include/grub/i386/pc/boot.h.
26449
2df32b2c 264502009-07-13 Pavel Roskin <proski@gnu.org>
26451
44b5d879 26452 * include/grub/i386/coreboot/machine.h: Rename
26453 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26454 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26455 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26456
17dc3751 26457 * kern/dl.c: Force native word size to suppress warnings when
26458 compiling grub-emu.
26459
2df32b2c 26460 * kern/device.c (grub_device_iterate): Change struct part_ent to
26461 hold the name, not a pointer to it. Use one grub_malloc() per
26462 partition, not two. Free partition_name if grub_malloc() fails.
26463 Set ents to NULL only before grub_partition_iterate() is called.
26464
75c59f59 264652009-07-11 Bean <bean123ch@gmail.com>
26466
26467 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26468 childname.
26469
0ae1bf88 264702009-07-10 Bean <bean123ch@gmail.com>
264712009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26472
26473 * kern/ieee1275/openfw.c (grub_children_iterate)
26474 (grub_devalias_iterate): Fix size evaluation for property or path
26475 strings, which was broken since r2132.
26476
8279cade 264772009-07-07 Pavel Roskin <proski@gnu.org>
26478
7d8a52d3 26479 * commands/search.c (search_file): Merge into ...
26480 (search_fs): ... this. Accept search type as argument.
26481 (grub_cmd_search): Pass search type to search_fs().
26482
25f9a05a 26483 * include/grub/util/console.h: New file.
26484 * util/console.c: Use it instead of grub/machine/console.h.
26485 * util/grub-emu.c: Likewise.
26486
8279cade 26487 * lib/arg.c (find_long_option): Remove.
26488 (find_long): Add `len' argument, make `s' const char *.
26489 (grub_arg_parse): Parse long options in place, not in a
26490 temporary buffer.
26491
4a11b60f 264922009-07-06 Pavel Roskin <proski@gnu.org>
26493
99f68041 26494 * commands/search.c (search_fs): Fix potential NULL pointer
26495 dereference.
26496
4a11b60f 26497 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26498 function pointer.
26499
e110f4de 265002009-07-06 Daniel Mierswa <impulze@impulze.org>
26501
26502 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26503 comparison.
26504
46eeb6a2 265052009-07-05 Pavel Roskin <proski@gnu.org>
26506
bab74958 26507 * include/grub/i386/linux.h (struct linux_kernel_params):
26508 Restore padding3, it's still needed.
26509
46eeb6a2 26510 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26511 FreeBSD.
26512 * util/osdetect.lua: Likewise.
26513
b4a1dc79 265142009-07-05 Bean <bean123ch@gmail.com>
26515
26516 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26517
26518 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26519 (grub_lua_getenv): Likewise.
26520 (grub_lua_setenv): Likewise.
26521 (save_errno): New function.
26522 (push_result): Likewise.
26523 (grub_lua_enum_device): Likewise.
26524 (grub_lua_enum_file): Likewise.
26525 (grub_lua_file_open): Likewise.
26526 (grub_lua_file_close): Likewise.
26527 (grub_lua_file_seek): Likewise.
26528 (grub_lua_file_read): Likewise.
26529 (grub_lua_file_getline): Likewise.
26530 (grub_lua_file_getsize): Likewise.
26531 (grub_lua_file_getpos): Likewise.
26532 (grub_lua_file_eof): Likewise.
26533 (grub_lua_file_exist): Likewise.
26534 (grub_lua_add_menu): Likewise.
26535
26536 * script/lua/grub_lua.h (isupper): New inline function.
26537 (islower): Likewise.
26538 (ispunct): Likewise.
26539 (isxdigit): Likewise.
26540 (strcspn): Change to normal function.
26541 (strpbkr): New function declaration.
26542 (memchr): Likewise.
26543
26544 * script/lua/grub_main.c (scan_str): New function.
26545 (strcspn): Likewise.
26546 (strpbrk): Likewise.
26547 (memchr): Likewise.
26548
26549 * script/lua/linit.c (lualibs): Enable the string library.
26550
26551 * util/osdetect.lua: New file.
26552
2da92295 265532009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26554
26555 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26556 `capabilities' member.
26557
b2582ec9 265582009-07-02 Pavel Roskin <proski@gnu.org>
26559
26560 * genparttoollist.sh: Add missing newline at the end.
26561
32622956 265622009-07-01 Pavel Roskin <proski@gnu.org>
26563
87a7339e 26564 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26565
d23af54e 26566 * util/hostdisk.c (open_device): Remove `const' from
26567 `sysctl_size', as sysctlbyname() can change it (in this case it
26568 doesn't actually happen).
26569
c94b18a9 26570 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26571 using signed long int constants.
26572
c6cd3ef0 26573 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26574 constant to avoid a warning on FreeBSD.
26575
0df63420 26576 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26577 where it's needed.
26578
999577f1 26579 * Makefile.in: Install include/grub/machine symlink.
26580
6f41557f 26581 * Makefile.in: When installing symlinks, use "cp -fR", which
26582 works on FreeBSD and MacOSX.
26583 From Yves Blusseau <cl7m42e02@sneakemail.com>
26584
c8d22988 26585 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26586 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26587
1b96e952 26588 * util/misc.c: Move grub_reboot() and grub_halt() ...
26589 * util/grub-emu.c: ... here. Make main_env static.
26590 * include/grub/util/misc.h: Remove main_env.
26591
2ef0084d 26592 * kern/mm.c: Use correct format to print size_t.
26593
32622956 26594 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26595 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26596 * kern/powerpc/dl.c: Likewise.
26597 * kern/sparc64/dl.c: Likewise.
26598 * kern/x86_64/dl.c: Likewise.
26599
3f7f0cd0 266002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26601
26602 Fix grub-emu build on sparc64-ieee1275.
26603
75421ca9 26604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26606
211d06b5 266072009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26608
26609 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26610 (grub_reboot, grub_halt): New functions.
26611
26612 * util/i386/pc/misc.c: Delete. Update all users.
26613 * util/sparc64/ieee1275/misc.c: Likewise.
26614 * util/powerpc/ieee1275/misc.c: Likewise.
26615
aaf53e3c 266162009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * conf/i386.rmk (setjmp_mod_SOURCES)
26619 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26620 * conf/common.rmk (setjmp_mod_SOURCES)
26621 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26622 to use $(target_cpu).
26623 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26624 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26625 * conf/powerpc-ieee1275.rmk: Likewise.
26626 * conf/sparc64-ieee1275.rmk: Likewise.
26627
26628 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26629 $(target_cpu) for kern/$(target_cpu)/dl.c.
26630 * conf/i386-efi.rmk: Likewise.
26631 * conf/i386-ieee1275.rmk: Likewise.
26632 * conf/x86_64-efi.rmk: Likewise.
26633 * conf/i386-coreboot.rmk: Likewise.
26634 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26635 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26636 kern/$(target_cpu)/cache.S.
26637 * conf/sparc64-ieee1275.rmk: Likewise.
26638
a337130b 266392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26640
26641 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26642 type to `grub_uint8_t', and adjust `padding9' accordingly.
26643
c6fe4d53 266442009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26645
b09db61d 26646 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26647
c6fe4d53 26648 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26649 assembly in final jump, using register constraints.
26650
b09db61d 26651 (grub_linux_boot): For text mode, initialize `have_vga' using
26652 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26653
26654 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26655 right before the final jump.
26656
26657 Set `video_mode' to 0x3.
26658
26659 Document initialization of `video_page', `video_mode' and
26660 `video_ega_bx'.
26661
28333ad0 266622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26663
26664 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26665 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26666 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26667
02164e1b 266682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26669
26670 Fix build on Debian / sparc.
26671
26672 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26673
18b6c557 266742009-06-28 Pavel Roskin <proski@gnu.org>
26675
85f2aab6 26676 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26677 fix a warning.
26678
18b6c557 26679 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26680
ad760f81 266812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26682
26683 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26684 `err'.
26685
87a4623b 266862009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26687
26688 Revert r2338.
26689
26690 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26691 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26692 grub_errno / grub_errmsg appropriately.
87a4623b 26693 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26694
8231fb77 266952009-06-27 Pavel Roskin <proski@gnu.org>
266962009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26697
26698 * include/grub/dl.h: Include grub/elf.h.
26699 (struct grub_dl): Add symtab field.
26700 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26701 GRUB_MODULES_MACHINE_READONLY.
26702 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26703 of the header for read-only modules.
26704 (grub_dl_unload): Free mod->symtab for read-only modules.
26705 * kern/i386/dl.c: Use mod->symtab.
26706 * kern/powerpc/dl.c: Likewise.
26707 * kern/sparc64/dl.c: Likewise.
26708 * kern/x86_64/dl.c: Likewise.
26709
26710 * conf/i386-qemu.rmk: New file.
26711 * kern/i386/qemu/startup.S: Likewise.
26712 * kern/i386/qemu/mmap.c: Likewise.
26713 * boot/i386/qemu/boot.S: Likewise.
26714 * include/grub/i386/qemu/time.h: Likewise.
26715 * include/grub/i386/qemu/serial.h: Likewise.
26716 * include/grub/i386/qemu/kernel.h: Likewise.
26717 * include/grub/i386/qemu/console.h: Likewise.
26718 * include/grub/i386/qemu/boot.h: Likewise.
26719 * include/grub/i386/qemu/init.h: Likewise.
26720 * include/grub/i386/qemu/machine.h: Likewise.
26721 * include/grub/i386/qemu/loader.h: Likewise.
26722 * include/grub/i386/qemu/memory.h: Likewise.
26723
26724 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26725 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26726 [qemu] (pkglib_IMAGES): Add `boot.img'.
26727 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26728 [qemu] (boot_img_FORMAT): New variables.
26729 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26730 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26731 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26732 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26733 [qemu] (kernel_img_FORMAT): New variables.
26734
26735 * configure.ac: Recognise `i386-qemu'.
26736
26737 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26738 (for no compression).
26739 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26740 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26741 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26742 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26743 ifdefs).
26744
97fe384e 267452009-06-27 Pavel Roskin <proski@gnu.org>
26746
26747 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26748 read.
26749 * efiemu/prepare32.c: Likewise.
26750 * efiemu/prepare64.c: Likewise.
26751
c402ab17 267522009-06-26 Pavel Roskin <proski@gnu.org>
26753
26754 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26755 * include/grub/elf.h: Define symbols without "32" or "64" based
26756 on GRUB_TARGET_WORDSIZE.
26757 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26758 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26759 ELF definitions.
26760 * efiemu/loadcore64.c: Likewise.
26761 * loader/i386/bsd32.c: Likewise.
26762 * loader/i386/bsd64.c: Likewise.
26763 * kern/dl.c: Remove own ELF definitions.
26764 * util/i386/efi/grub-mkimage.c: Likewise.
26765
9bbdfd4d 267662009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26767
26768 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26769 segment 0x0 unconditionally, because the reference generated by
26770 GAS is an absolute address.
26771
a42ce6e9 267722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26773
26774 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26775 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26776
c952cf92 267772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26778
26779 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26780 indexes. Check for -f explicitly.
cc3752ad 26781 (search_file): Improve error message.
26782 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26783
132a0a59 267842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26785
26786 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26787 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26788
387a140c 267892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26790
26791 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26792 * conf/i386-ieee1275.rmk: Likewise.
26793 * conf/i386-coreboot.rmk: Likewise.
26794
26795 * kern/i386/pc/startup.S (grub_stop): Remove function.
26796 * kern/i386/ieee1275/startup.S: Likewise.
26797 * kern/i386/coreboot/startup.S: Likewise.
26798 * kern/i386/misc.S (grub_stop): New function.
26799
41da9665 268002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26801
26802 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26803 * kern/i386/realmode.S (real_to_prot): ... to here.
26804
bf337234 268052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26806
26807 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26808 with `kernel.img'.
26809 (kernel_elf_SOURCES): Rename to ...
26810 (kernel_img_SOURCES): ... this.
26811 (kernel_elf_HEADERS): Rename to ...
26812 (kernel_img_HEADERS): ... this. Update all users.
26813 (kernel_elf_ASFLAGS): Rename to ...
26814 (kernel_img_ASFLAGS): ... this.
26815 (kernel_elf_CFLAGS): Rename to ...
26816 (kernel_img_CFLAGS): ... this.
26817 (kernel_elf_LDFLAGS): Rename to ...
26818 (kernel_img_LDFLAGS): ... this.
26819 * conf/i386-coreboot.rmk: Likewise.
26820 * conf/powerpc-ieee1275.rmk: Likewise.
26821
26822 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26823 with "kernel.img".
26824
f52196ff 268252009-06-21 Pavel Roskin <proski@gnu.org>
26826
c3cee413 26827 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26828 to match nested functions.
26829 * loader/sparc64/ieee1275/linux.c: Likewise.
26830
f52196ff 26831 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26832
58750afc 268332009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26834
26835 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26836 all i386 platforms.
26837
15355c7d 268382009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26839
26840 Fix asm file handling on ELF, and remove workarounds.
26841
26842 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26843 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26844 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26845 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26846
3f3ec72b 268472009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26848
26849 Load BSD ELF modules
26850
26851 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26852 and loader/i386/bsd64.c
26853 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26854 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26855 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26856 (grub_freebsd_load_elfmodule32): New declaration
26857 (grub_freebsd_load_elfmoduleobj64): Likewise
26858 (grub_freebsd_load_elf_meta32): Likewise
26859 (grub_freebsd_load_elf_meta64): Likewise
26860 (grub_freebsd_add_meta): Likewise
26861 (grub_freebsd_add_meta_module): Likewise
26862 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26863 (grub_freebsd_add_meta_module): Likewise and move module-specific
26864 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26865 (grub_cmd_freebsd): Add elf-kernel specific parts
26866 based on grub_freebsd_add_meta_module
26867 (grub_cmd_freebsd_module): Add type parsing moved from
26868 grub_freebsd_add_meta_module
26869 (grub_cmd_freebsd_module_elf): New function
26870 (cmd_freebsd_module_elf): New variable
26871 (GRUB_MOD_INIT): Register freebsd_module_elf
26872 * loader/i386/bsd32.c: New file
26873 * loader/i386/bsd64.c: Likewise
26874 * loader/i386/bsdXX.c: Likewise
26875 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26876 (grub_elf64_load): Likewise
26877 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26878 All users updated
26879 (grub_elf64_load_hook_t): Likewise
26880
0db15301 268812009-06-21 Colin Watson <cjwatson@ubuntu.com>
26882
26883 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26884 variable.
26885 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26886 don't write a menu entry for recovery mode.
26887
546796c1 268882009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26889
26890 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26891 after it's no longer needed.
26892
cd7310d5 268932009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26894
26895 * include/grub/i386/loader.h (grub_linux_prot_size)
26896 (grub_linux_tmp_addr, grub_linux_real_addr)
26897 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26898 GRUB_MACHINE_PCBIOS.
26899 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26900 common grub_util_info() call to ...
26901 (generate_image): ... here.
26902 Fix use of uninitialized memory, comparison of signed with
26903 unsigned integers and memory leak.
26904 Remove bogus module address message.
26905
ab32d3b5 269062009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26909 grub_raid_register
26910 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26911
024ef597 269122009-06-19 Pavel Roskin <proski@gnu.org>
26913
26914 * configure.ac: Remove stray AC_MSG_CHECKING.
26915
3ac72b51 269162009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26919
e14cd814 269202009-06-18 Pavel Roskin <proski@gnu.org>
26921
26922 * conf/common.rmk: Add fs_file.mod.
26923 * disk/fs_file.c: New file.
26924 * include/grub/disk.h (enum grub_disk_dev_id): Add
26925 GRUB_DISK_DEVICE_FILE_ID.
26926
26586d98 269272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26928
26929 Fix build with Apple's toolchain. Part 2
26930
26931 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26932 a fake start
26933
26de2bcd 269342009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 Fix build with Apple's toolchain. Part 1
26937
26938 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26939 for long calls
26940 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26941 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26942 Apple's toolchain
26943
09b3490b 269442009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 Fix warnings
26947
26948 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26949 (decomp_block): initialize ch
26950 use grub_memcpy instead of memcpy
26951
c22a006a 269522009-06-17 Pavel Roskin <proski@gnu.org>
26953
d3638678 26954 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26955 version, use declarations needed to use vga_text as the startup
26956 console.
26957
c22a006a 26958 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26959 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26960 the kernel.
26961 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26962 and grub_at_keyboard_fini(), it's done on module load and
26963 unload.
26964
05b129e0 269652009-06-17 Felix Zielcke <fzielcke@z-51.de>
26966
26967 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26968 file can't be found.
26969 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26970
cf24ed9e 269712009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26972
26973 Fix newline handling
26974
26975 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26976 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26977 (grub_script_yylex): don't segfault on unterminated script
26978 newline terminates command and variable
26979
74aa8e4b 269802009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26981
26982 avoid double grub_adjust_range call. Bug reported by David Simner
26983
26984 * kern/disk.c (grub_disk_write): change to raw disk access before
26985 calling disk_read
26986
1bd265f3 269872009-06-17 Colin Watson <cjwatson@ubuntu.com>
26988
26989 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26990 spaces, for the benefit of help2man.
26991 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26992
a2d08c06 269932009-06-16 Pavel Roskin <proski@gnu.org>
26994
26995 * kern/i386/halt.c: Include grub/machine/init.h.
26996 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26997
b97bcb19 269982009-06-16 Felix Zielcke <fzielcke@z-51.de>
26999
27000 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27001 drivemap menuentry.
27002
0644f96c 270032009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27004
27005 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27006 `echo' command.
27007
3ef17a2e 270082009-06-16 Pavel Roskin <proski@gnu.org>
27009
27010 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27011 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27012 save %dx, we only need %dl and we never change it.
27013 * boot/i386/pc/cdboot.S: Don't set the root drive.
27014 * boot/i386/pc/pxeboot.S: Likewise.
27015 * include/grub/i386/pc/boot.h: Remove
27016 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27017 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27018 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27019 * kern/i386/pc/init.c (make_install_device): Remove references
27020 to grub_root_drive.
27021 * kern/i386/pc/startup.S: Likewise.
27022 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27023
693fe637 270242009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27025
27026 xnu_uuid command
27027
27028 * commands/xnu_uuid.c: new file
27029 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27030 (xnu_uuid_mod_SOURCES): new variable
27031 (xnu_uuid_mod_CFLAGS): likewise
27032 (xnu_uuid_mod_LDFLAGS): likewise
27033 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27034 * conf/i386-ieee1275.rmk: likewise
27035 * conf/i386-pc.rmk: likewise
27036 * conf/powerpc-ieee1275.rmk: likewise
27037 * conf/sparc64-ieee1275.rmk: likewise
27038 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27039
c9da87d0 270402009-06-16 Pavel Roskin <proski@gnu.org>
27041
27042 * configure.ac: Avoid '==' in test command, it's not portable.
27043
9c6f4596 270442009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Probe command
27047
27048 * commands/probe.c: new file
27049 * conf/common.rmk (pkglib_MODULES): add probe.mod
27050 (probe_mod_SOURCES): new variable
27051 (probe_mod_CFLAGS): likewise
27052 (probe_mod_LDFLAGS): likewise
27053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27054 * conf/i386-ieee1275.rmk: likewise
27055 * conf/i386-pc.rmk: likewise
27056 * conf/powerpc-ieee1275.rmk: likewise
27057 * conf/sparc64-ieee1275.rmk: likewise
27058
70b7f9fd 270592009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 Fix handling of string like \"hello\" and "a
27062 b"
27063
27064 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27065 (grub_script_yylex): fix parsing of quoting, escaping and newline
27066
71c79a6b 270672009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27068
dd74360c 27069 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27070 handling
dd74360c 27071
0644f96c 270722009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27073
27074 * util/grub-mkconfig.in: Fix parsing of --output option.
27075
e40893c3 270762009-06-12 Pavel Roskin <proski@gnu.org>
27077
27078 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27079 genmk.rb don't need to be generated or installed.
27080
3a1acfe2 270812009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27082
27083 * commands/i386/pc/drivemap_int13h.S: add more comments
27084
3a4575d4 270852009-06-11 Pavel Roskin <proski@gnu.org>
27086
0658e928 27087 * Makefile.in (uninstall): Uninstall manuals.
27088
ca0388f0 27089 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27090 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27091 and update-grub_lib in two places.
27092 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27093
e3b27c39 27094 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27095 a compiler warning.
27096
3a4575d4 27097 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27098 `entry_lo' to fix variable shadowing.
27099
af1f4f55 271002009-06-11 Christian Franke <franke@computer.org>
27101
27102 * kern/misc.c (__enable_execute_stack): Add missing return type
27103 to prevent gcc warning.
27104
5225e649 271052009-06-11 Felix Zielcke <fzielcke@z-51.de>
27106
27107 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27108
7d83bd47 271092009-06-11 Pavel Roskin <proski@gnu.org>
27110
c1cb63ba 27111 * Makefile.in: Don't rely on any scripts being executable.
27112 Always use $(SHELL) to run shell scripts.
27113
7d83bd47 27114 * configure.ac: Always define ___main if using -nostdlib. This
27115 fixes tests on Cygwin.
27116
948f48e7 271172009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27118
27119 UDF fix
27120
7d83bd47 27121 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27122 is in bytes and not in blocks
7d83bd47 27123
8ada9bc1 271242009-06-11 Pavel Roskin <proski@gnu.org>
27125
27126 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27127 warning.
27128
25ad2323 271292009-06-11 Felix Zielcke <fzielcke@z-51.de>
27130
27131 * util/grub.d/30_os-prober.in: Fix a comment. Source
27132 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27133 to set the root device. Place drivemap command in the generated
27134 chain entry.
27135
e65acb0c 271362009-06-11 Pavel Roskin <proski@gnu.org>
27137
27138 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27139 have long been resolved.
27140
f285fe2d 271412009-06-11 Colin Watson <cjwatson@ubuntu.com>
27142
bd47b0b5 27143 * util/grub.d/10_linux.in: Capitalise "Linux".
27144
f285fe2d 27145 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27146
a0c62e4e 271472009-06-11 Pavel Roskin <proski@gnu.org>
27148
b6783cb2 27149 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27150 fix a gcc warning and ensure that the function won't ever exit.
27151
dde032e8 27152 * kern/i386/ieee1275/init.c: Add missing prototype for
27153 grub_stop_floppy().
27154
22cd079d 27155 * loader/ieee1275/multiboot2.c [__i386__]: Include
27156 grub/cpu/multiboot.h.
27157
a0c62e4e 27158 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27159 casts to short - they are not portable and cause warnings. Fix
27160 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27161
63963d17 271622009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 Drivemap fixes
27165
27166 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27167 new function
27168 (grub_get_root_biosnumber_saved): new variable
27169 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27170 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27171 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27172 %dx after the call if necessary
27173 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27174 (boot_mod_SOURCES): remove
27175 (boot_mod_CFLAGS): remove
27176 (boot_mod_LDFLAGS): remove
27177 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27178 (boot_mod_SOURCES): new variable
27179 (boot_mod_CFLAGS): likewise
27180 (boot_mod_LDFLAGS): likewise
27181 * conf/i386-efi.rmk: likewise
27182 * conf/i386-ieee1275.rmk: likewise
27183 * conf/i386-pc.rmk: likewise
27184 * conf/powerpc-ieee1275.rmk: likewise
27185 * conf/sparc64-ieee1275.rmk: likewise
27186 * conf/x86_64-efi.rmk: likewise
27187 * include/grub/i386/pc/biosnum.h: new file
27188 * lib/i386/pc/biosnum.c: likewise
27189 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27190 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27191 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27192
33abf7ae 271932009-06-10 Pavel Roskin <proski@gnu.org>
27194
5ac35b35 27195 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27196 Use separate variables. Read only the file size at the end, but
27197 not the checksum that we don't use.
27198
5c5215d5 27199 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27200 Adjust all callers.
27201
27d5fef7 27202 * kern/ieee1275/openfw.c: Remove libc includes.
27203 * kern/ieee1275/cmain.c: Likewise.
27204 * include/grub/ieee1275/ieee1275.h: Likewise.
27205
33abf7ae 27206 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27207 compiler warnings.
27208
19d50c2b 272092009-06-10 Felix Zielcke <fzielcke@z-51.de>
27210
27211 * Makefile.in: Remove all trailing whitespace.
27212 * conf/i386-pc.rmk: Likewise.
27213 * conf/powerpc-ieee1275.rmk: Likewise.
27214 * conf/sparc64-ieee1275.rmk: Likewise.
27215 * docs/grub.texi: Likewise.
27216 * docs/texinfo.tex: Likewise.
27217 * disk/fs_uuid.c: Likewise.
27218 * disk/lvm.c: Likewise.
27219 * disk/scsi.c: Likewise.
27220 * disk/ata.c: Likewise.
27221 * disk/ieee1275/ofdisk.c: Likewise.
27222 * disk/i386/pc/biosdisk.c: Likewise.
27223 * disk/host.c: Likewise.
27224 * disk/raid.c: Likewise.
27225 * disk/efi/efidisk.c: Likewise.
27226 * disk/usbms.c: Likewise.
27227 * disk/memdisk.c: Likewise.
27228 * disk/loopback.c: Likewise.
27229 * kern/powerpc/dl.c: Likewise.
27230 * kern/device.c: Likewise.
27231 * kern/dl.c: Likewise.
27232 * kern/sparc64/dl.c: Likewise.
27233 * kern/ieee1275/ieee1275.c: Likewise.
27234 * kern/term.c: Likewise.
27235 * kern/fs.c: Likewise.
27236 * kern/i386/dl.c: Likewise.
27237 * kern/i386/pc/startup.S: Likewise.
27238 * kern/i386/pc/init.c: Likewise.
27239 * kern/i386/pc/mmap.c: Likewise.
27240 * kern/i386/pc/lzo1x.S: Likewise.
27241 * kern/i386/ieee1275/init.c: Likewise.
27242 * kern/i386/realmode.S: Likewise.
27243 * kern/i386/tsc.c: Likewise.
27244 * kern/partition.c: Likewise.
27245 * kern/corecmd.c: Likewise.
27246 * kern/file.c: Likewise.
27247 * kern/efi/efi.c: Likewise.
27248 * kern/efi/init.c: Likewise.
27249 * kern/efi/mm.c: Likewise.
27250 * kern/main.c: Likewise.
27251 * kern/err.c: Likewise.
27252 * kern/env.c: Likewise.
27253 * kern/disk.c: Likewise.
27254 * kern/generic/millisleep.c: Likewise.
27255 * kern/generic/rtc_get_time_ms.c: Likewise.
27256 * kern/misc.c: Likewise.
27257 * kern/parser.c: Likewise.
27258 * genmk.rb: Likewise.
27259 * configure.ac: Likewise.
27260 * boot/i386/pc/diskboot.S: Likewise.
27261 * boot/i386/pc/pxeboot.S: Likewise.
27262 * boot/i386/pc/boot.S: Likewise.
27263 * boot/i386/pc/lnxboot.S: Likewise.
27264 * boot/i386/pc/cdboot.S: Likewise.
27265 * parttool/pcpart.c: Likewise.
27266 * video/readers/tga.c: Likewise.
27267 * video/video.c: Likewise.
27268 * video/bitmap.c: Likewise.
27269 * lib/envblk.c: Likewise.
27270 * lib/i386/setjmp.S: Likewise.
27271 * fs/xfs.c: Likewise.
27272 * fs/afs.c: Likewise.
27273 * fs/fat.c: Likewise.
27274 * fs/ntfs.c: Likewise.
27275 * fs/udf.c: Likewise.
27276 * fs/affs.c: Likewise.
27277 * fs/iso9660.c: Likewise.
27278 * fs/hfs.c: Likewise.
27279 * fs/fshelp.c: Likewise.
27280 * fs/ext2.c: Likewise.
27281 * fs/jfs.c: Likewise.
27282 * fs/reiserfs.c: Likewise.
27283 * fs/hfsplus.c: Likewise.
27284 * fs/minix.c: Likewise.
27285 * fs/cpio.c: Likewise.
27286 * fs/sfs.c: Likewise.
27287 * fs/ufs.c: Likewise.
27288 * efiemu/prepare.c: Likewise.
27289 * efiemu/loadcore_common.c: Likewise.
27290 * efiemu/runtime/efiemu.sh: Likewise.
27291 * efiemu/runtime/efiemu.S: Likewise.
27292 * efiemu/runtime/efiemu.c: Likewise.
27293 * efiemu/pnvram.c: Likewise.
27294 * efiemu/main.c: Likewise.
27295 * efiemu/i386/pc/cfgtables.c: Likewise.
27296 * efiemu/i386/loadcore64.c: Likewise.
27297 * efiemu/i386/loadcore32.c: Likewise.
27298 * efiemu/loadcore.c: Likewise.
27299 * efiemu/symbols.c: Likewise.
27300 * efiemu/mm.c: Likewise.
27301 * include/grub/autoefi.h: Likewise.
27302 * include/grub/datetime.h: Likewise.
27303 * include/grub/term.h: Likewise.
27304 * include/grub/hfs.h: Likewise.
27305 * include/grub/lvm.h: Likewise.
27306 * include/grub/i386/tsc.h: Likewise.
27307 * include/grub/i386/linux.h: Likewise.
27308 * include/grub/i386/xnu.h: Likewise.
27309 * include/grub/i386/efiemu.h: Likewise.
27310 * include/grub/i386/pc/biosdisk.h: Likewise.
27311 * include/grub/i386/pc/memory.h: Likewise.
27312 * include/grub/i386/pc/vbe.h: Likewise.
27313 * include/grub/parttool.h: Likewise.
27314 * include/grub/video.h: Likewise.
27315 * include/grub/memory.h: Likewise.
27316 * include/grub/fs.h: Likewise.
27317 * include/grub/partition.h: Likewise.
27318 * include/grub/xnu.h: Likewise.
27319 * include/grub/efi/api.h: Likewise.
27320 * include/grub/efi/pe32.h: Likewise.
27321 * include/grub/efi/memory.h: Likewise.
27322 * include/grub/multiboot.h: Likewise.
27323 * include/grub/usbdesc.h: Likewise.
27324 * include/grub/multiboot2.h: Likewise.
27325 * include/grub/acpi.h: Likewise.
27326 * include/grub/efiemu/efiemu.h: Likewise.
27327 * include/grub/disk.h: Likewise.
27328 * include/grub/ieee1275/ieee1275.h: Likewise.
27329 * include/grub/net.h: Likewise.
27330 * include/grub/machoload.h: Likewise.
27331 * include/grub/macho.h: Likewise.
27332 * include/multiboot.h: Likewise.
27333 * genmoddep.awk: Likewise.
27334 * normal/main.c: Likewise.
27335 * normal/menu_entry.c: Likewise.
27336 * normal/menu_viewer.c: Likewise.
27337 * normal/completion.c: Likewise.
27338 * normal/cmdline.c: Likewise.
27339 * normal/misc.c: Likewise.
27340 * normal/datetime.c: Likewise.
27341 * bus/usb/usbtrans.c: Likewise.
27342 * bus/usb/ohci.c: Likewise.
27343 * bus/usb/uhci.c: Likewise.
27344 * bus/usb/usb.c: Likewise.
27345 * mmap/efi/mmap.c: Likewise.
27346 * mmap/i386/pc/mmap_helper.S: Likewise.
27347 * mmap/i386/pc/mmap.c: Likewise.
27348 * mmap/i386/mmap.c: Likewise.
27349 * mmap/i386/uppermem.c: Likewise.
27350 * mmap/mmap.c: Likewise.
27351 * commands/acpi.c: Likewise.
27352 * commands/echo.c: Likewise.
27353 * commands/blocklist.c: Likewise.
27354 * commands/loadenv.c: Likewise.
27355 * commands/usbtest.c: Likewise.
27356 * commands/boot.c: Likewise.
27357 * commands/parttool.c: Likewise.
27358 * commands/search.c: Likewise.
27359 * commands/cat.c: Likewise.
27360 * commands/i386/pc/play.c: Likewise.
27361 * commands/i386/pc/drivemap.c: Likewise.
27362 * commands/i386/pc/vbeinfo.c: Likewise.
27363 * commands/i386/pc/acpi.c: Likewise.
27364 * commands/i386/pc/vbetest.c: Likewise.
27365 * commands/ls.c: Likewise.
27366 * commands/cmp.c: Likewise.
27367 * commands/test.c: Likewise.
27368 * commands/efi/acpi.c: Likewise.
27369 * commands/gptsync.c: Likewise.
27370 * commands/help.c: Likewise.
27371 * partmap/amiga.c: Likewise.
27372 * partmap/apple.c: Likewise.
27373 * partmap/acorn.c: Likewise.
27374 * partmap/pc.c: Likewise.
27375 * partmap/sun.c: Likewise.
27376 * partmap/gpt.c: Likewise.
27377 * script/sh/lexer.c: Likewise.
27378 * script/sh/function.c: Likewise.
27379 * font/font.c: Likewise.
27380 * font/font_cmd.c: Likewise.
27381 * loader/powerpc/ieee1275/linux.c: Likewise.
27382 * loader/efi/chainloader.c: Likewise.
27383 * loader/multiboot_loader.c: Likewise.
27384 * loader/macho.c: Likewise.
27385 * loader/i386/multiboot.c: Likewise.
27386 * loader/i386/linux.c: Likewise.
27387 * loader/i386/pc/linux.c: Likewise.
27388 * loader/i386/pc/multiboot2.c: Likewise.
27389 * loader/i386/pc/chainloader.c: Likewise.
27390 * loader/i386/pc/xnu.c: Likewise.
27391 * loader/i386/bsd_trampoline.S: Likewise.
27392 * loader/i386/efi/linux.c: Likewise.
27393 * loader/i386/multiboot_elfxx.c: Likewise.
27394 * loader/i386/bsd_helper.S: Likewise.
27395 * loader/i386/bsd.c: Likewise.
27396 * loader/i386/linux_trampoline.S: Likewise.
27397 * loader/i386/xnu_helper.S: Likewise.
27398 * loader/i386/xnu.c: Likewise.
27399 * loader/i386/bsd_pagetable.c: Likewise.
27400 * loader/i386/multiboot_helper.S: Likewise.
27401 * loader/xnu.c: Likewise.
27402 * loader/xnu_resume.c: Likewise.
27403 * io/gzio.c: Likewise.
27404 * term/efi/console.c: Likewise.
27405 * term/terminfo.c: Likewise.
27406 * term/ieee1275/ofconsole.c: Likewise.
27407 * term/i386/pc/serial.c: Likewise.
27408 * term/i386/pc/vesafb.c: Likewise.
27409 * term/i386/pc/vga.c: Likewise.
27410 * term/usb_keyboard.c: Likewise.
27411 * term/gfxterm.c: Likewise.
27412 * aclocal.m4: Likewise.
27413 * util/lvm.c: Likewise.
27414 * util/grub.d/30_os-prober.in: Likewise.
27415 * util/grub.d/10_hurd.in: Likewise.
27416 * util/console.c: Likewise.
27417 * util/grub-macho2img.c: Likewise.
27418 * util/grub-probe.c: Likewise.
27419 * util/hostfs.c: Likewise.
27420 * util/i386/pc/grub-mkimage.c: Likewise.
27421 * util/i386/pc/grub-setup.c: Likewise.
27422 * util/i386/efi/grub-mkimage.c: Likewise.
27423 * util/grub-mkconfig.in: Likewise.
27424 * util/raid.c: Likewise.
27425 * util/resolve.c: Likewise.
27426 * util/grub-mkdevicemap.c: Likewise.
27427 * util/grub-emu.c: Likewise.
27428 * util/getroot.c: Likewise.
27429 * util/hostdisk.c: Likewise.
27430 * util/usb.c: Likewise.
27431 * util/grub-editenv.c: Likewise.
27432 * util/misc.c: Likewise.
27433
d2d49665 274342009-06-10 Felix Zielcke <fzielcke@z-51.de>
27435
27436 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27437 `genparttoollist.sh'.
27438 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27439 Add `*.sh' to the list find searches for and change `mdate.sh'
27440 to `mdate-sh'.
27441
fe052e37 274422009-06-10 Pavel Roskin <proski@gnu.org>
27443
2763ac18 27444 * include/grub/multiboot2.h: Provide compatibility defines for
27445 multiboot2.h.
27446 * include/multiboot2.h: Include stdint.h only if needed, using
27447 angle brackets.
27448 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27449 grub/multiboot2.h.
27450 * loader/ieee1275/multiboot2.c: Likewise.
27451 * loader/multiboot2.c: Likewise.
27452 * loader/multiboot_loader.c: Likewise.
27453
437e6adc 27454 * configure.ac: Use -nostdlib when probing for the target. It
27455 should not be required to have libc for the target.
27456
06a6836c 27457 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27458 they fail without libc headers for the target.
27459 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27460 exports.
27461 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27462 preprocessor conditionals.
27463
fe052e37 27464 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27465 build system doesn't need to be aware of the tar.c internals.
27466
afd22553 274672009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27468
afd22553 27469 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27470
6b787c4f 274712009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27472
27473 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27474 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27475
274762009-06-09 Felix Zielcke <fzielcke@z-51.de>
27477
27478 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27479 aren't available if ata.mod gets used.
6b787c4f 27480
473d1e45 274812009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27482
473d1e45 27483 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27484 initialising controller.
473d1e45 27485 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27486
255a27d4 274872009-06-08 Felix Zielcke <fzielcke@z-51.de>
27488
27489 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27490 to choose between ata and biosdisk module on i386-pc.
27491
473d1e45 274922009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27493
d55842d8 27494 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27495 Subclass and Programming Interface fields in terms of the 3 byte
27496 Class Code register.
27497 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27498
fa5db0b1 27499 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27500 interface is OHCI. Add grub_dprintf for symmetry with
27501 bus/usb/uhci.c.
27502 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27503 interface is UHCI. Add interf variable for programming
27504 interface. Print interface with class/subclass.
27505
c0947beb 27506 * bus/usb/ohci.c: Set interf with correct field.
27507
69da8877 27508 * bus/usb/uhci.c: Remove unneeded doubled lines.
27509 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27510 Remove whitespace inside comment.
27511
9e172e30 275122009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27515 as fallback an equivalent option without depth.
27516
de65ee2b 275172009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27518
27519 Not fail if unable to retrieve C/H/S on LBA disks
27520
473d1e45 27521 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27522 if unable to retrieve C/H/S on LBA disks
27523
b57ea2c9 275242009-06-08 Pavel Roskin <proski@gnu.org>
27525
27526 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27527 about aliasing.
27528
af361263 275292009-06-08 Felix Zielcke <fzielcke@z-51.de>
27530
27531 * Makefile.in (uninstall): Remove all $lib_DATA files.
27532
4c9ec6b3 275332009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27534
27535 Bugfix: install on partitionless device
27536
27537 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27538 is a whole disk
27539
e76fc924 275402009-06-08 Felix Zielcke <fzielcke@z-51.de>
27541
27542 * Makefile.in (uninstall): Remove all $include_DATA files.
27543
ba5a0d05 275442009-06-08 Felix Zielcke <fzielcke@z-51.de>
27545
27546 * commands/true.c: New file. Implement the true and false commands.
27547 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27548 (true_mod_SOURCES): New variable.
27549 (true_mod_CFLAGS): Likewise.
27550 (true_mod_LDFLAGS): Likewise.
27551
c8048e32 275522009-06-05 Colin D Bennett <colin@gibibit.com>
27553
27554 Optimized font character lookup using binary search instead of linear
27555 search. Fonts now are required to have the character index ordered by
27556 code point.
27557
27558 * font/font.c (load_font_index): Verify that fonts have ordered
27559 character indices.
27560 (find_glyph): Use binary search instead of linear search to find a
27561 character in a font.
27562
408305be 275632009-06-05 Michael Scherer <misc@mandriva.org>
27564
27565 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27566 uses case sensitive btree.
27567 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27568 only for case insensitive filesystems.
27569
8ee1e0d9 275702009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27571
27572 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27573 * conf/common.rmk (search_mod_CFLAGS): likewise
27574
a9966eb1 275752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27576
473d1e45 27577 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27578 compensate a compiler bug
27579
9e7100fb 275802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27581
473d1e45 27582 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27583 instead of '\b'
473d1e45 27584
ede21d71 275852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27586
27587 Definitions for creating asm symbols with Apple's CC
27588
27589 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27590 [APPLE_CC] (VARIABLE): likewise
27591
9dbf7653 275922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27593
27594 Disable lnxboot.img when compiled
27595 with Apple's CC
27596
27597 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27598 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27599 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27600 [! APPLE_CC] (CODE_LENG): skip
27601 [! APPLE_CC] (setup_sects): likewise
27602 [! APPLE_CC]: skip filling
473d1e45 27603
e93cdc3d 276042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27605
27606 Address in trampolines based on 32-bit registers when compiled
27607 with Apple's CC
27608
473d1e45 27609 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27610 for addresses
27611 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27612
6c688477 276132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27614
27615 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27616
27617 * kern/misc.c [APPLE_CC] (memcpy): new function
27618 [APPLE_CC] (memmove): likewise
27619 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27620 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27621 (memset): likewise
27622 (abort): likewise
27623 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27624 APPLE_CC are defined
27625 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27626 (grub_assert_fail): make prototype conditional
27627
e37ffc5c 276282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27629
27630 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27631
473d1e45 27632 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27633 grub-macho2img
e37ffc5c 27634 (CLEANFILES): add grub-macho2img
27635 (grub_macho2img_SOURCES): new variable
27636 * kern/i386/pc/startup.S (bss_start): new variable
27637 (bss_end): likewise
27638 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27639 * util/grub-macho2img.c: new file
27640
cf00df31 276412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 Use objconv when compiling with Apple's CC
27644
27645 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27646 (efiemu64.o): likewise
27647 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27648 when compiling with Apple's CC
27649 (efiemu64_s.o): likewise
27650 * configure.ac: check for objconv when compiling with Apple's CC
27651 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27652
d119a20c 276532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27654
27655 Define segment as well as section when compiling with
27656 Apple's CC
27657
27658 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27659 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27660 (efiemu_convert_pointer): likewise
27661 (efiemu_set_virtual_address_map): likewise
27662 (efiemu_convert_pointer): likewise
27663 (efiemu_getcrc32): likewise
27664 (init_crc32_table): likewise
27665 (reflect): likewise
27666 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27667 (GRUB_MOD_DEP): likewise
473d1e45 27668
c8600122 276692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27670
27671 Allow a compilation without -mcmodel=large
27672
27673 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27674 when compiled without -mcmodel=large
473d1e45 27675 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27676 without -mcmodel=large
473d1e45 27677 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27678 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27679
e8df1d4e 276802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27681
27682 Remove nested functions in efiemu core
27683
27684 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27685
cc6c3ac1 276862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27687
27688 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27689
27690 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27691 temporary storage
473d1e45 27692 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27693 using Apple's CC
cc6c3ac1 27694 (grub_cpu_is_tsc_supported): likewise
27695 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27696
3e325901 276972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27698
27699 Absolute addressing through constant with Apple's cc
27700
27701 * kern/i386/pc/startup.S: Define necessary constants
27702 and address through it when using ABS with Apple's CC
27703 * boot/i386/pc/diskboot.S: likewise
27704 * boot/i386/pc/boot.S: likewise
27705 * boot/i386/pc/lnxboot.S: likewise
27706 * boot/i386/pc/cdboot.S: likewise
27707 * mmap/i386/pc/mmap_helper.S: likewise
27708 * commands/i386/pc/drivemap_int13h.S: likewise
27709
2b167a72 277102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27711
27712 Check if compiler is apple cc
27713
27714 * Makefile.in (ASFLAGS): new variable
27715 (TARGET_ASFLAGS): likewise
27716 (TARGET_MODULE_FORMAT): likewise
27717 (TARGET_APPLE_CC): likewise
27718 (OBJCONV): likewise
27719 (TARGET_IMG_CFLAGS): likewise
27720 (TARGET_CPPFLAGS): add includedir
27721 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27722 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27723 Check for linker script only if compiler isn't Apple's CC
27724 (TARGET_MODULE_FORMAT): set
27725 (TARGET_APPLE_CC): likewise
27726 (TARGET_ASFLAGS): likewise
27727 (ASFLAGS): likewise
27728 Check for objcopy only if compiler isn't Apple's CC
27729 Check for BSS symbol only if compiler isn't Apple's CC
27730 * genmk.rb: adapt nm options if we use Apple's utils
27731 * aclocal.m4 (grub_apple_cc): new test
27732 (grub_apple_target_cc): likewise
473d1e45 27733
fb14123e 277342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 Simplify sed expressions and improve awk
27737
27738 * Makefile.in (install-local): simplify sed expression
27739 * gencmdlist.sh: likewise
27740 * genmoddep.awk: avoid adding module as a dependency of itself
27741
5b889789 277422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 Add missing start symbols
27745
27746 * boot/i386/pc/boot.S: add start
fb14123e 27747 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27748
fd2bf2e3 277492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27752
27753 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27754 (relocate_addresses): consider both r_addend and value at offset
27755 (make_mods_section): zerofill modinfo and header
27756 (convert_elf): write prefix here
473d1e45 27757
5389763d 277582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 Use .asciz instead of .string
27761
27762 * i386/pc/diskboot.S: use .asciz instead of .string
27763 * i386/pc/boot.S: likewise
27764 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27765 (GRUB_MOD_NAME): likewise
473d1e45 27766
3eb5ed4e 277672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27768
27769 gfxpayload support
27770
27771 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27772 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27773 (grub_video_setup): remove
27774 (grub_video_set_mode): new prototype
27775 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27776 (vid_mode): remove
27777 (linux_vesafb_res): compile only on PCBIOS
27778 (grub_linux_boot): support gfxpayload
27779 * loader/i386/pc/xnu.c (video_hook): new function
27780 (grub_xnu_set_video): support gfxpayload
27781 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27782 (DEFAULT_VIDEO_HEIGHT): likewise
27783 (DEFAULT_VIDEO_FLAGS): likewise
27784 (DEFAULT_VIDEO_MODE): new definition
27785 (video_hook): new function
27786 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27787 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27788 loading xnu
27789 * video/video.c (grub_video_setup): removed
473d1e45 27790 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27791 grub_video_setup
27792
4b0e1143 277932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27794
27795 Avoid calling biosdisk in drivemap
27796
27797 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27798 (revparse_biosdisk): likewise
27799 (list_mappings): derive name from id directly
27800 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27801
fda6cb98 278022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 Script fixes
27805
27806 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27807 (grub_lexer_param): add tokenonhold
27808 (grub_script_create_cmdline): remove cmdline. All callers updated
27809 (grub_script_function_create): make functionname
27810 grub_script_arg. All callers updated
27811 (grub_script_execute_argument_to_string): new prototype
27812 * kern/parser.c (state_transitions): reorder
27813 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27814 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27815 make global
27816 (grub_script_execute_cmdline): use new format
27817 * script/sh/function.c (grub_script_function_create): make functionname
27818 grub_script_arg. All callers updated
473d1e45 27819 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27820 (grub_script_yylex): remove
27821 (grub_script_yylex2): renamed to ...
27822 (grub_script_yylex): ...renamed
27823 parse the expressions like a${b}c
27824 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27825 (GRUB_PARSER_TOKEN_VAR): remove
27826 (GRUB_PARSER_TOKEN_NAME): likewise
27827 ("if"): declare as typeless
27828 ("while"): likewise
27829 ("function"): likewise
27830 ("else"): likewise
27831 ("then"): likewise
27832 ("fi"): likewise
27833 (text): remove
27834 (argument): likewise
27835 (script): accept empty scripts and make exit on error
27836 (arguments): use GRUB_PARSER_TOKEN_ARG
27837 (function): likewise
27838 (command): move error handling to script
27839 (menuentry): move grub_script_lexer_ref before
473d1e45 27840 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27841 argument. All callers updated
27842
f4448a07 278432009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27844
27845 Prevent GRUB from probing floppies during boot.
27846
27847 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27848 * commands/search.c (options): Add --no-floppy.
27849 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27850 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27851 --no-floppy when searching for UUIDs.
27852
2bf5885a 278532009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27854
27855 Simplify the code duplication in commands/search.c.
27856
27857 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27858 (search_fs): ... this. Update all users.
27859
f6fd460a 278602009-06-03 Felix Zielcke <fzielcke@z-51.de>
27861
27862 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27863
cbb3c83e 278642009-05-28 Pavel Roskin <proski@gnu.org>
27865
57788cfd 27866 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27867 Remove the original symlink explicitly.
27868
cbb3c83e 27869 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27870 just one slash. That's how grub_fshelp_find_file() does it.
27871
cd0d5e30 278722009-05-26 Pavel Roskin <proski@gnu.org>
27873
f0f8bbe2 27874 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27875 to `str'.
27876
cd0d5e30 27877 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27878 possibly unused.
27879
8c2cab51 278802009-05-25 Christian Franke <franke@computer.org>
27881
27882 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27883 register.
27884 (grub_atapi_identify): Add wait after drive select.
27885 (grub_ata_identify): Do more strict status register check before
27886 calling grub_atapi_identify (). Suppress error message if status
27887 register is 0x00 after command failure. Add status register
27888 check after PIO read to avoid bogus identify due to stuck DRQ.
27889 Thanks to Pavel Roskin for testing.
27890 (grub_device_initialize): Remove unsafe status register check.
27891 Thanks to 'phcoder' for problem report and patch.
27892 Prevent sign extension in debug message.
27893
230c0ad6 278942009-05-23 Colin D Bennett <colin@gibibit.com>
27895
27896 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27897 definition file, and functions defined in `normal/menu.c' have had
27898 their prototypes moved to `include/grub/menu.h' for consistency.
27899
27900 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27901 from normal.h.
27902 (grub_menu_get_entry): Likewise.
27903 (grub_menu_get_timeout): Likewise.
27904 (grub_menu_set_timeout): Likewise.
27905 (grub_menu_execute_entry): Likewise.
27906 (grub_menu_execute_with_fallback): Likewise.
27907 (grub_menu_entry_run): Likewise.
27908
27909 * include/grub/normal.h: Re-ordered and grouped function
27910 prototypes by file that the function is defined in.
27911 (grub_menu_execute_callback): Removed; moved to menu.h.
27912 (grub_menu_get_entry): Likewise.
27913 (grub_menu_get_timeout): Likewise.
27914 (grub_menu_set_timeout): Likewise.
27915 (grub_menu_execute_entry): Likewise.
27916 (grub_menu_execute_with_fallback): Likewise.
27917 (grub_menu_entry_run): Likewise.
27918 (grub_menu_addentry): Renamed from this ...
27919 (grub_normal_add_menu_entry): ... to this.
27920
27921 * normal/main.c (grub_menu_addentry): Renamed from this ...
27922 (grub_normal_add_menu_entry): ... to this.
27923
27924 * script/sh/execute.c (grub_script_execute_menuentry): Update
27925 reference to renamed grub_menu_addentry function.
27926
861f03a5 279272009-05-23 Felix Zielcke <fzielcke@z-51.de>
27928
27929 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27930
96b1619a 279312009-05-22 Pavel Roskin <proski@gnu.org>
27932
bf6a5fb2 27933 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27934 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27935 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27936 compiling for the i386 targets, but not for the utilities.
27937
96b1619a 27938 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27939 to grub_uint8_t.
27940 (grub_root_drive): Likewise.
27941 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27942 remove alignment.
27943 (grub_root_drive): Change size to byte.
27944 (grub_start_addr): Remove.
27945 (grub_end_addr): Likewise.
27946 (grub_apm_bios_info): Likewise.
27947
b729776b 279482009-05-21 Felix Zielcke <fzielcke@z-51.de>
27949
27950 * normal/i386: Remove.
27951 * normal/powerpc: Likewise.
27952 * normal/sparc64: Likewise.
27953 * normal/x86_64: Likewise.
27954
0a15ce80 279552009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27958 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27959 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27960
33db9015 279612009-05-18 Colin D Bennett <colin@gibibit.com>
27962
d6da58e6 27963 Display error messages when parsing a Lua statement fails.
27964 Previously, executing a syntactically invalid statement like
27965 ")foo" or "bar;" would silently fail.
33db9015 27966
27967 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27968 (grub_lua_parse_line): Improved reporting of Lua parser and
27969 execution errors.
33db9015 27970
46422c89 279712009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27972
27973 Remove -Werror which causes build to fail on some systems
27974
27975 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27976 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27977 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27978
22f53a96 279792009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 trampoline for linux on 64-bit platform
27982
18f547ad 27983 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27984 loader/i386/efi/linux_trampoline.S
27985 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27986 declaration
d6da58e6 27987 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27988 here
22f53a96 27989 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27990 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27991 trampoline
22f53a96 27992 (jumpvector): removed
27993 (grub_linux_trampoline_start): new declaration
27994 (grub_linux_trampoline_end): likewise
27995 (grub_linux_boot): use trampoline when on 64-bit platform
27996 * loader/i386/linux.c: likewise
27997
cb5a0f40 279982009-05-16 Pavel Roskin <proski@gnu.org>
27999
28000 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28001 const to avoid a warning.
28002 (grub_lua_setenv): Likewise.
28003 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28004 lmsg to fix a warning.
28005
334f2c28 280062009-05-16 Felix Zielcke <fzielcke@z-51.de>
28007
28008 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28009 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28010 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28011 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28012 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28013 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28014 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28015 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28016
59e5d3ec 280172009-05-16 Felix Zielcke <fzielcke@z-51.de>
28018
28019 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28020
9d87a1ba 280212009-05-16 Bean <bean123ch@gmail.com>
28022
28023 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28024 (lua_mod_SOURCES): New variable.
28025 (lua_mod_CFLAGS): Likewise.
28026 (lua_mod_LDFLAGS): Likewise.
28027
28028 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28029 (setjmp_mod_SOURCES): New variable.
28030 (setjmp_mod_CFLAGS): Likewise.
28031 (setjmp_LDFLAGS): Likewise.
28032
28033 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28034 (setjmp_mod_SOURCES): New variable.
28035 (setjmp_mod_CFLAGS): Likewise.
28036 (setjmp_LDFLAGS): Likewise.
28037
28038 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28039 (setjmp_mod_SOURCES): New variable.
28040 (setjmp_mod_CFLAGS): Likewise.
28041 (setjmp_LDFLAGS): Likewise.
28042
28043 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28044 (setjmp_mod_SOURCES): New variable.
28045 (setjmp_mod_CFLAGS): Likewise.
28046 (setjmp_LDFLAGS): Likewise.
28047
28048 * normal/i386/setjmp.S: Moved from here ...
28049 * lib/i386/setjmp.S: ... Moved here
28050 * normal/x86_64/setjmp.S: Moved from here ...
28051 * lib/x86_64/setjmp.S: ... Moved here
28052 * normal/powerpc/setjmp.S: Moved from here ...
28053 * lib/powerpc/setjmp.S: ... Moved here
28054 * normal/sparc64/setjmp.S: Moved from here ...
28055 * lib/sparc64/setjmp.S: ... Moved here
28056
28057 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28058 returns_twice in mingw.
28059
28060 * script/lua/grub_lib.c: New file.
28061 * script/lua/grub_lib.h: Likewise.
28062 * script/lua/grub_lua.h: Likewise.
28063 * script/lua/grub_main.c: Likewise.
28064 * script/lua/lapi.c: Likewise.
28065 * script/lua/lapi.h: Likewise.
28066 * script/lua/lauxlib.c: Likewise.
28067 * script/lua/lauxlib.h: Likewise.
28068 * script/lua/lbaselib.c: Likewise.
28069 * script/lua/lcode.c: Likewise.
28070 * script/lua/lcode.h: Likewise.
28071 * script/lua/ldblib.c: Likewise.
28072 * script/lua/ldebug.c: Likewise.
28073 * script/lua/ldebug.h: Likewise.
28074 * script/lua/ldo.c: Likewise.
28075 * script/lua/ldo.h: Likewise.
28076 * script/lua/ldump.c: Likewise.
28077 * script/lua/lfunc.c: Likewise.
28078 * script/lua/lfunc.h: Likewise.
28079 * script/lua/lgc.c: Likewise.
28080 * script/lua/lgc.h: Likewise.
28081 * script/lua/linit.c: Likewise.
28082 * script/lua/liolib.c: Likewise.
28083 * script/lua/llex.c: Likewise.
28084 * script/lua/llex.h: Likewise.
28085 * script/lua/llimits.h: Likewise.
28086 * script/lua/lmathlib.c: Likewise.
28087 * script/lua/lmem.c: Likewise.
28088 * script/lua/lmem.h: Likewise.
28089 * script/lua/loadlib.c: Likewise.
28090 * script/lua/lobject.c: Likewise.
28091 * script/lua/lobject.h: Likewise.
28092 * script/lua/lopcodes.c: Likewise.
28093 * script/lua/lopcodes.h: Likewise.
28094 * script/lua/loslib.c: Likewise.
28095 * script/lua/lparser.c: Likewise.
28096 * script/lua/lparser.h: Likewise.
28097 * script/lua/lstate.c: Likewise.
28098 * script/lua/lstate.h: Likewise.
28099 * script/lua/lstring.c: Likewise.
28100 * script/lua/lstring.h: Likewise.
28101 * script/lua/lstrlib.c: Likewise.
28102 * script/lua/ltable.c: Likewise.
28103 * script/lua/ltable.h: Likewise.
28104 * script/lua/ltablib.c: Likewise.
28105 * script/lua/ltm.c: Likewise.
28106 * script/lua/ltm.h: Likewise.
28107 * script/lua/lua.h: Likewise.
28108 * script/lua/luaconf.h: Likewise.
28109 * script/lua/lualib.h: Likewise.
28110 * script/lua/lundump.c: Likewise.
28111 * script/lua/lundump.h: Likewise.
28112 * script/lua/lvm.c: Likewise.
28113 * script/lua/lvm.h: Likewise.
28114 * script/lua/lzio.c: Likewise.
28115 * script/lua/lzio.h: Likewise.
28116
5e898c9d 281172009-05-16 Bean <bean123ch@gmail.com>
28118
28119 * include/grub/kernel.h (grub_module_header_types): Add type
28120 OBJ_TYPE_CONFIG.
28121
28122 * kern/main.c (grub_load_config): New function.
28123 (grub_main): Call grub_load_config to read boot config.
28124
28125 * grub-mkimage (generate_image): New parameter config_path.
28126 (options): New option --config.
28127 (main): Parse --config option, and pass it to generate_image.
28128
cf353a47 281292009-05-14 Christian Franke <franke@computer.org>
28130
28131 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28132 This fixes build on Cygwin.
28133
3834887f 281342009-05-14 Pavel Roskin <proski@gnu.org>
28135
28136 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28137 jump. This saves two bytes, so the typical case of 2 swapped
28138 drives would fit 32 bytes.
28139
8090fc01 281402009-05-13 Pavel Roskin <proski@gnu.org>
28141
ac963883 28142 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28143 grub_uint32_t to avoid a warning.
28144
8090fc01 28145 * loader/i386/linux.c (allocate_pages): When assigning
28146 real_mode_mem, cast through grub_size_t to fix a warning. The
28147 code already makes sure that the value would fit a pointer.
28148 (grub_linux_setup_video): Cast render_target->data to
28149 grub_size_t to fix a warning.
28150
18f547ad 281512009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28152
28153 * commands/i386/pc/drivemap.c: New file - implement drivemap
28154 command.
28155 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28156 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28157
6f6a8b28 281582009-05-13 Pavel Roskin <proski@gnu.org>
28159
28160 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28161 embedding_area_exists.
28162
15fbf4c4 281632009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28164
28165 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28166 it easier to understand / work with.
59978c8a 28167 Improve warning messages for cases where there's no embedding area,
28168 or when it is too small (or core.img too large).
15fbf4c4 28169
238e871f 281702009-05-13 Pavel Roskin <proski@gnu.org>
28171
0ab3a9a4 28172 * loader/i386/pc/multiboot2.c: Add necessary includes for
28173 grub_multiboot2_real_boot().
28174
a2c8c5f8 28175 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28176 PX record is always little-endian. We only need the lower 2
28177 bytes of the mode.
28178
faec96af 28179 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28180 facilitate code reuse.
28181 (grub_cpio_mount): Use "struct head", not a char buffer. This
28182 fixes a warning reported by gcc 4.4.
28183
238e871f 28184 * kernel/disk.c (grub_disk_read): Use void pointer for the
28185 buffer.
28186 (grub_disk_write): Use const void pointer for the buffer.
28187 Adjust all callers. Remove unnecessary casts.
28188
901d2f0c 281892009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28190
28191 * util/i386/pc/grub-install.in: Update copyright year.
28192
18f547ad 281932009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28194
28195 gptsync
28196
28197 * commands/gptsync.c: new file
28198 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28199 (gptsync_mod_SOURCES): new variable
28200 (gptsync_mod_CFLAGS): likewise
28201 (gptsync_mod_LDFLAGS): likewise
18f547ad 28202 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28203 new definition
28204 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28206 * conf/i386-ieee1275.rmk: likewise
28207 * conf/i386-pc.rmk: likewise
28208 * conf/powerpc-ieee1275.rmk: likewise
28209
b4ba690a 282102009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28211
28212 Fixed grub-emu
28213
28214 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28215 (grub_dl_ref): likewise
28216
317e1a44 282172009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28218
28219 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28220 split in two functions (one for msdos and one for gpt).
28221
041b8094 282222009-05-08 Pavel Roskin <proski@gnu.org>
28223
752473c2 28224 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28225 not modified.
28226
041b8094 28227 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28228 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28229 Initialize them with -1. Add sanity check for bad1. Eliminate
28230 nerr variable.
28231
172800ce 282322009-05-08 David S. Miller <davem@davemloft.net>
28233
28234 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28235
29aa5e81 282362009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28237
28238 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28239 existence.
29aa5e81 28240
96613b62 282412009-05-05 Felix Zielcke <fzielcke@z-51.de>
28242
28243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28244 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28245
eef73c8a 282462009-05-05 David S. Miller <davem@davemloft.net>
28247
28248 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28249
119494b5 282502009-05-05 Pavel Roskin <proski@gnu.org>
28251
28252 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28253 of grub_dl_ref() and grub_dl_unref().
28254 * commands/parttool.c: Remove preprocessor conditionals around
28255 grub_dl_ref() and grub_dl_unref().
28256 * fs/affs.c: Likewise.
28257 * fs/afs.c: Likewise.
28258 * fs/cpio.c: Likewise.
28259 * fs/ext2.c: Likewise.
28260 * fs/fat.c: Likewise.
28261 * fs/hfs.c: Likewise.
28262 * fs/hfsplus.c: Likewise.
28263 * fs/iso9660.c: Likewise.
28264 * fs/jfs.c: Likewise.
28265 * fs/minix.c: Likewise.
28266 * fs/ntfs.c: Likewise.
28267 * fs/reiserfs.c: Likewise.
28268 * fs/sfs.c: Likewise.
28269 * fs/udf.c: Likewise.
28270 * fs/ufs.c: Likewise.
28271 * fs/xfs.c: Likewise.
28272 * include/grub/dl.h: Likewise.
28273 * loader/xnu.c: Likewise.
28274
de5fd76e 282752009-05-04 Pavel Roskin <proski@gnu.org>
28276
28277 * commands/acpi.c: Remove unused variable my_mod.
28278 * partmap/amiga.c: Likewise.
28279 * partmap/apple.c: Likewise.
28280 * partmap/gpt.c: Likewise.
28281 * partmap/pc.c: Likewise.
28282 * partmap/sun.c: Likewise.
28283 * term/gfxterm.c: Likewise.
28284 * term/i386/pc/vesafb.c: Likewise.
28285 * term/i386/pc/vga.c: Likewise.
28286
983598ad 282872009-05-04 David S. Miller <davem@davemloft.net>
28288
28289 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28290 pointer args to grub_ieee1275_get_property().
28291
8aadec43 28292 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28293
9554b15e 28294 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28295 devices, and do not traverse down under controller nodes.
28296
67e23c90 28297 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28298 (grub_ofdisk_open): Use it to un-escape "," characters.
28299 * kern/disk.c (find_part_sep): New.
28300 (grub_disk_open): Use it to find the first non-escaped ','
28301 character in the disk name.
28302 * util/ieee1275/devicemap.c (escape_of_path): New.
28303 (grub_util_emit_devicemap_entry): Use it.
28304 * util/sparc64/ieee1275/grub-install.in: Update script to
28305 strip partition specifiers properly by not triggering on
28306 '\' escaped ',' characters.
28307
74bfdd2f 283082009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28309
28310 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28311 to 0x300.
28312 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28313 resolutions.
28314 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28315 on documentation from Wikipedia).
28316
4241d2b1 283172009-05-04 Pavel Roskin <proski@gnu.org>
28318
28319 * disk/ata.c: Spelling fixes.
28320 * disk/raid.c: Likewise.
28321 * disk/usbms.c: Likewise.
28322 * disk/dmraid_nvidia.c: Likewise.
28323 * kern/ieee1275/openfw.c: Likewise.
28324 * kern/ieee1275/init.c: Likewise.
28325 * kern/ieee1275/cmain.c: Likewise.
28326 * boot/i386/pc/cdboot.S: Likewise.
28327 * video/readers/png.c: Likewise.
28328 * video/i386/pc/vbe.c: Likewise.
28329 * fs/udf.c: Likewise.
28330 * fs/hfs.c: Likewise.
28331 * fs/reiserfs.c: Likewise.
28332 * efiemu/runtime/efiemu.c: Likewise.
28333 * efiemu/main.c: Likewise.
28334 * efiemu/mm.c: Likewise.
28335 * include/grub/elf.h: Likewise.
28336 * include/grub/xnu.h: Likewise.
28337 * include/grub/usbdesc.h: Likewise.
28338 * include/grub/usb.h: Likewise.
28339 * include/grub/script_sh.h: Likewise.
28340 * include/grub/lib/LzmaEnc.h: Likewise.
28341 * include/grub/efiemu/efiemu.h: Likewise.
28342 * include/grub/command.h: Likewise.
28343 * normal/menu.c: Likewise.
28344 * normal/main.c: Likewise.
28345 * normal/datetime.c: Likewise.
28346 * bus/usb/uhci.c: Likewise.
28347 * mmap/i386/uppermem.c: Likewise.
28348 * mmap/mmap.c: Likewise.
28349 * commands/acpi.c: Likewise.
28350 * commands/test.c: Likewise.
28351 * partmap/apple.c: Likewise.
28352 * font/font.c: Likewise.
28353 * loader/sparc64/ieee1275/linux.c: Likewise.
28354 * loader/macho.c: Likewise.
28355 * loader/i386/bsd_trampoline.S: Likewise.
28356 * loader/i386/bsd.c: Likewise.
28357 * loader/xnu.c: Likewise.
28358 * term/i386/pc/vesafb.c: Likewise.
28359 * term/usb_keyboard.c: Likewise.
28360 * util/resolve.c: Likewise.
28361 * util/getroot.c: Likewise.
28362
0cfc0083 283632009-05-04 Felix Zielcke <fzielcke@z-51.de>
28364
28365 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28366
7c1d00cd 283672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28368
28369 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28370 build error.
28371
b01f0548 283722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28373
28374 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28375 parameter only available on BIOS.
28376
ecc3eb22 283772009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28378
28379 Removed wrong semicolon in declaration
28380
28381 * grub/misc.h (grub_dprintf): remove semicolon
28382
112972a9 283832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28384
28385 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28386 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28387 is done by grub_cmd_linux() now).
28388 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28389 restore video to text mode.
28390 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28391 indicates lack of "vga=" parameter. "vga=0" is mapped to
28392 `GRUB_LINUX_VID_MODE_NORMAL'.
28393
afd5c115 283942009-05-04 Felix Zielcke <fzielcke@z-51.de>
28395
28396 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28397 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28398 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28399 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28400 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28401 `grub_script.tab.c'.
28402
28403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28404 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28406 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28408
faa517ce 28409 * Makefile.in: Remove duplicated 2008 in Copyright line.
28410
ae0c0bdc 284112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28412
473d1e45 28413 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28414 unconditionally.
28415 * include/grub/util/misc.h (grub_util_warn): New declaration.
28416
28417 * util/i386/pc/grub-install.in: Understand --force and pass it down
28418 to grub-setup.
28419
28420 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28421 down to setup().
28422 (setup): Improve error messages and add warnings when requested to
28423 install in odd layouts. Refuse to install using blocklists unless
28424 --force was set.
28425
18f547ad 284262009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28427
28428 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28429
6d260daa 284302009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 Updated copyright year
28433
28434 * fs/hfsplus.c: updated copyright year
18f547ad 28435
69f853f8 284362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28437
28438 HFS+ UUID
28439
18f547ad 28440 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28441 in the space previously used by unused3
28442 (grub_hfsplus_uuid): new function
28443 (grub_hfsplus_fs): added uuid field
28444
4c402e73 284452009-05-03 Pavel Roskin <proski@gnu.org>
28446
28447 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28448 suppress warnings. It's no longer needed.
28449 * disk/host.c: Likewise.
28450 * disk/ata_pthru.c: Likewise.
28451 * disk/loopback.c: Likewise.
28452 * hook/datehook.c: Likewise.
28453 * parttool/pcpart.c: Likewise.
28454 * fs/i386/pc/pxe.c: Likewise.
28455 * fs/ntfscomp.c: Likewise.
28456 * efiemu/main.c: Likewise.
28457 * mmap/mmap.c: Likewise.
28458 * commands/crc.c: Likewise.
28459 * commands/hexdump.c: Likewise.
28460 * commands/hdparm.c: Likewise.
28461 * commands/acpi.c: Likewise.
28462 * commands/echo.c: Likewise.
28463 * commands/minicmd.c: Likewise.
28464 * commands/blocklist.c: Likewise.
28465 * commands/memrw.c: Likewise.
28466 * commands/loadenv.c: Likewise.
28467 * commands/usbtest.c: Likewise.
28468 * commands/lsmmap.c: Likewise.
28469 * commands/boot.c: Likewise.
28470 * commands/parttool.c: Likewise.
28471 * commands/configfile.c: Likewise.
28472 * commands/search.c: Likewise.
28473 * commands/ieee1275/suspend.c: Likewise.
28474 * commands/cat.c: Likewise.
28475 * commands/i386/pc/pxecmd.c: Likewise.
28476 * commands/i386/pc/play.c: Likewise.
28477 * commands/i386/pc/halt.c: Likewise.
28478 * commands/i386/pc/vbeinfo.c: Likewise.
28479 * commands/i386/pc/vbetest.c: Likewise.
28480 * commands/lspci.c: Likewise.
28481 * commands/date.c: Likewise.
28482 * commands/handler.c: Likewise.
28483 * commands/ls.c: Likewise.
28484 * commands/test.c: Likewise.
28485 * commands/cmp.c: Likewise.
28486 * commands/efi/loadbios.c: Likewise.
28487 * commands/efi/fixvideo.c: Likewise.
28488 * commands/halt.c: Likewise.
28489 * commands/help.c: Likewise.
28490 * commands/reboot.c: Likewise.
28491 * hello/hello.c: Likewise.
28492 * script/sh/main.c: Likewise.
28493 * loader/xnu.c: Likewise.
28494 * term/terminfo.c: Likewise.
28495 * term/i386/pc/serial.c: Likewise.
28496 * term/usb_keyboard.c: Likewise.
28497
515b5079 284982009-05-03 David S. Miller <davem@davemloft.net>
28499
28500 * normal/menu.c: Include grub/parser.h
28501
dfc31a22 285022009-05-03 Pavel Roskin <proski@gnu.org>
28503
2fee74f1 28504 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28505 not char*.
28506 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28507 Suggested by Javier Martín <lordhabbit@gmail.com>
28508
dfc31a22 28509 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28510 efiemu??.o doesn't exist.
28511 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28512 copying.
28513
18f547ad 285142009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28515
28516 FreeBSD 64-bit support
28517
18f547ad 28518 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28519 and loader/i386/bsd_trampoline.S
28520 (bsd_mod_ASFLAGS): new variable
28521 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28522 (FREEBSD_MODTYPE_KERNEL64): likewise
28523 (grub_bsd64_trampoline_start): likewise
28524 (grub_bsd64_trampoline_end): likewise
28525 (grub_bsd64_trampoline_selfjump): likewise
28526 (grub_bsd64_trampoline_gdt): likewise
28527 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28528 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28529 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28530 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28531 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28532 of "attrib" member
28533 * loader/i386/bsd_pagetable.c: new file
28534 * loader/i386/bsd_trampoline.S: likewise
28535 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28536 (ALIGN_VAR): likewise
28537 (entry_hi): new variable
28538 (kern_end_mdofs): likewise
28539 (is_64bit): likewise
28540 (grub_freebsd_add_meta): use ALIGN_VAR
28541 (grub_e820_mmap): new declaration
28542 (grub_freebsd_add_mmap): new function
28543 (grub_freebsd_add_meta_module): support 64 bit kernels
28544 (grub_freebsd_list_modules): use ALIGN_VAR
28545 (gdt_descriptor): new declaration
28546 (grub_freebsd_boot): support 64 bit kernels
28547 (grub_bsd_elf64_hook): new function
28548 (grub_bsd_load_elf): support elf64
28549
038c5720 285502009-05-03 Bean <bean123ch@gmail.com>
28551
28552 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28553 after we get the result of if statement.
28554
fc45fb58 285552009-05-03 Bean <bean123ch@gmail.com>
28556
28557 * Makefile.in (enable_efiemu): New variable.
28558
28559 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28560 set.
28561 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28562 path.
28563 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28564 path, add -mno-red-zone option.
28565 (efiemu64_s.o): Likewise.
28566 (efiemu64.o): Use macro $^ for source file.
28567
28568 * configure.ac (--enable-efiemu): New option.
28569
bbee0f2b 285702009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28571
28572 xnu support
28573
28574 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28575 (pkglib_MODULES): add xnu.mod
28576 (xnu_mod_SOURCES): new variable
28577 (xnu_mod_CFLAGS): likewise
28578 (xnu_mod_LDFLAGS): likewise
28579 (xnu_mod_ASFLAGS): likewise
28580 * conf/i386-pc.rmk: likewise
28581 * conf/x86_64-efi.rmk: likewise
7dd4a573 28582 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28583 new declaration
28584 * include/grub/i386/macho.h: new file
28585 * include/grub/i386/xnu.h: likewise
28586 * include/grub/macho.h: likewise
28587 * include/grub/machoload.h: likewise
28588 * include/grub/x86_64/macho.h: likewise
28589 * include/grub/x86_64/xnu.h: likewise
28590 * include/grub/xnu.h: likewise
28591 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28592 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28593 * loader/i386/efi/xnu.c: new file
28594 * loader/i386/pc/xnu.c: likewise
28595 * loader/i386/xnu.c: likewise
28596 * loader/i386/xnu_helper.S: likewise
28597 * loader/macho.c: likewise
28598 * loader/xnu.c: likewise
28599 * loader/xnu_resume.c: likewise
28600 * util/grub-dumpdevtree: likewise
28601 * include/grub/i386/pit.h: include grub/err.h
28602 (grub_pit_wait): export
28603 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28604
5caf964d 286052009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28606
28607 Efiemu
7dd4a573 28608
5caf964d 28609 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28610 _linux_efi, linux_efi.
28611 new files in grub-emu
5caf964d 28612 new targets efiemu32.o and efiemu64.o
28613 * loader/linux_normal_efiemu.c: likewise
28614 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28615 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28616 files to copy
28617 * include/grub/autoefi.h: new file
7dd4a573 28618 * include/grub/i386/efiemu.h: likewise
5caf964d 28619 * include/grub/i386/pc/efiemu.h: likewise
28620 * include/grub/efi/api.h: add LL suffix when necessary
28621 new definitions relating to tables
28622 * include/grub/efiemu/efiemu.h: new file
28623 * include/grub/efiemu/runtime.h: likewise
28624 * efiemu/prepare.c: likewise
28625 * efiemu/loadcore_common.c: likewise
28626 * efiemu/loadcore64.c: likewise
28627 * efiemu/runtime/efiemu.sh: likewise
28628 * efiemu/runtime/efiemu.S: likewise
28629 * efiemu/runtime/efiemu.c: likewise
28630 * efiemu/runtime/config.h: likewise
28631 * efiemu/prepare32.c: likewise
28632 * efiemu/main.c: likewise
28633 * efiemu/modules/pnvram.c: likewise
28634 * efiemu/modules/i386: likewise
28635 * efiemu/modules/i386/pc: likewise
28636 * efiemu/modules/acpi.c: likewise
28637 * efiemu/i386/pc/cfgtables.c: likewise
28638 * efiemu/i386/loadcore64.c: likewise
28639 * efiemu/i386/loadcore32.c: likewise
28640 * efiemu/prepare64.c: likewise
28641 * efiemu/loadcore.c: likewise
28642 * efiemu/symbols.c: likewise
28643 * efiemu/mm.c: likewise
28644 * efiemu/loadcore32.c: likewise
7dd4a573 28645
286462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28647
28648 ACPI spoofing
28649
28650 * commands/acpi.c: new file
28651 * commands/i386/pc/acpi.c: likewise
28652 * commands/efi/acpi.c: likewise
28653 * include/grub/acpi.h: likewise
28654 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28655 (acpi_mod_SOURCES): new variable
28656 (acpi_mod_CFLAGS): likewise
28657 (acpi_mod_LDFLAGS): likewise
28658 * conf/i386-efi.rmk: likewise
28659 * conf/x86_64-efi.rmk: likewise
28660
7dd4a573 286612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28662
28663 Missing part from mmap patch
28664
28665 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28666 (grub_mmap_unregister)
28667 (grub_mmap_free_and_unregister): use grub_mmap_register
28668
7dd4a573 286692009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28670
28671 Mmap services
28672
28673 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28674 * loader/i386/linux.c (find_mmap_size): likewise
28675 (allocate_pages): likewise
28676 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28677 (grub_fill_multiboot_mmap): likewise
28678 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28679 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28680 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28681 (OPENBSD_MMAP_RESERVED): likewise
28682 * include/grub/i386/pc/memory.h: include grub/memory.h
28683 (grub_lower_mem): removed
28684 (grub_upper_mem): likewise
28685 (GRUB_MACHINE_MEMORY_ACPI): new definition
28686 (GRUB_MACHINE_MEMORY_NVS): likewise
28687 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28688 (GRUB_MACHINE_MEMORY_HOLE): likewise
28689 (grub_machine_mmap_register): likewise
28690 (grub_machine_mmap_unregister): likewise
28691 (grub_machine_get_upper): likewise
28692 (grub_machine_get_lower): likewise
28693 (grub_machine_get_post64): likewise
28694 * include/grub/i386/efi/memory.h: new file
28695 * include/grub/x86_64/efi/memory.h: likewise
28696 * include/grub/efi/memory.h: likewise
28697 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28698 (mmap_mod_SOURCES): new variable
28699 (mmap_mod_LDFLAGS): likewise
28700 (mmap_mod_ASFLAGS): likewise
28701 * conf/i386-coreboot.rmk: likewise
28702 * conf/i386-ieee1275.rmk: likewise
28703 * conf/i386-efi.rmk: likewise
28704 * conf/x86_64-efi.rmk: likewise
28705 * include/grub/types.h (UINT_TO_PTR): new macro
28706 (PTR_TO_UINT32): likewise
28707 (PTR_TO_UINT64): likewise
28708 * include/grub/memory.h: new file
28709 * mmap/i386/pc/mmap.c: likewise
28710 * mmap/i386/pc/mmap_helper.S: likewise
28711 * mmap/i386/uppermem.c: likewise
28712 * mmap/mmap.c: likewise
28713 * mmap/efi/mmap.c: likewise
7dd4a573 28714 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28715 grub_upper_mem
28716 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28717 (grub_upper_mem): likewise
28718 (grub_machine_init): don't use grub_upper_mem,
28719 make grub_lower_mem local
28720 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28721 grub_mmap_iterate and grub_mmap_get_upper
28722 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28723
d558e6b5 287242009-05-02 Bean <bean123ch@gmail.com>
28725
28726 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28727 script/sh/parser.y.
28728 (pkglib_MODULES): Add normal.mod and sh.mod.
28729 (normal_SOURCES): New variable.
28730 (normal_mod_CFLAGS): Likewise.
28731 (normal_mod_LDFLAGS): Likewise.
28732 (sh_mod_SOURCES): Likewise.
28733 (sh_mod_CFLAGS): Likewise.
28734 (sh_mod_LDFLAGS): Likewise.
28735
28736 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28737 script/sh/lexer.c_DEPENDENCIES.
28738 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28739 kern/rescue_reader.c and kern/rescue_parser.c.
28740 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28741 (grub_emu_SOURCES): Change source files.
28742 (pkglib_MODULES): Remove normal.mod.
28743 (normal_SOURCES): Removed.
28744 (normal_mod_CFLAGS): Likewise.
28745 (normal_mod_LDFLAGS): Likewise.
28746 * conf/i386-coreboot.rmk: Likewise.
28747 * conf/i386-efi.rmk: Likewise.
28748 * conf/i386-ieee1276.rmk: Likewise.
28749 * conf/powerpc-ieee1275.rmk: Likewise.
28750 * conf/sparc64-ieee1275.rmk: Likewise.
28751 * conf/x86_64-efi.rmk: Likewise.
28752
28753 * include/grub/command.h (grub_command_execute): New inline function.
28754
28755 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28756
28757 * include/grub/normal.h: Remove <grub/setjmp.h>.
28758 (grub_fs_module_list): Moved to normal/autofs.c.
28759 (grub_exit_env): Removed.
28760 (grub_command_execute): Likewise.
28761 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28762 parameter script.
28763 (read_command_list): New function declaration.
28764 (read_fs_list): Likewise.
28765
28766 * include/parser.h: Include <grub/reader.h>.
28767 (grub_parser_split_cmdline): Change type of getline parameter.
28768 (grub_parser): New structure.
28769 (grub_parser_class): New variable.
28770 (grub_parser_execute): New function declaration.
28771 (grub_register_rescue_parser): Likewise.
28772 (grub_parser_register): New inline function.
28773 (grub_parser_unregister): Likewise.
28774 (grub_parser_get_current): Likewise.
28775 (grub_parser_set_current): Likewise.
28776
28777 * include/grub/reader.h: New file.
28778 * kern/reader.c: Likewise.
28779 * kern/rescue_parser.c: Likewise.
28780 * kern/rescue_reader.c: Likewise.
28781 * normal/autofs.c: Likewise.
28782 * normal/dyncmd.c: Likewise.
28783
28784 * include/grub/rescue.h: Removed.
28785 * normal/command.h: Likewise.
28786
28787 * include/grub/script.h: Moved to ...
28788 * include/grub/script_sh.h: ... Moved here.
28789 * normal/execute.c: Moved to ...
28790 * script/sh/execute.c: ... Moved here.
28791 * normal/function.c: Moved to ...
28792 * script/sh/function.c: ... Moved here.
28793 * normal/lexer.c: Moved to ...
28794 * script/sh/lexer.c: ... Moved here.
28795 * normal/parser.y: Moved to ...
28796 * script/sh/parser.y: ... Moved here.
28797 * normal/script.c: Moved to ...
28798 * script/sh/script.c: ... Moved here.
28799
28800 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28801 <grub/reader.h>.
28802 (grub_exit_env): Removed.
28803 (fs_module_list): Moved to normal/autofs.c.
28804 (grub_file_getline): Don't handle comment here.
28805 (free_menu): Skip removed field entry->commands.
28806 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28807 script parameter.
28808 (read_config_file): Removed nested parameter, change getline function.
28809 (grub_enter_normal_mode): Removed.
28810 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28811 (read_command_list): Likewise.
28812 (autoload_fs_module): Moved to normal/autofs.c.
28813 (read_fs_list): Likewise.
28814 (reader_nested): New variable.
28815 (grub_normal_execute): Run parser.sh to switch to sh parser.
28816 (grub_cmd_rescue): Removed.
28817 (cmd_normal): Removed.
28818 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28819 rescue command.
28820 (grub_cmdline_run): New function.
28821 (grub_normal_reader_init): Likewise.
28822 (grub_normal_read_line): Likewise.
28823 (grub_env_write_pager): Likewise.
28824 (cmdline): New variable.
28825 (grub_normal_reader): Likewise.
28826 (GRUB_MOD_INIT): Register normal reader and set as current, register
28827 pager hook, register normal command with grub_register_command_prio,
28828 so that it won't show up in command.lst.
28829 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28830 grub_fs_autoload_hook.
28831
28832 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28833 (grub_menu_execute_entry): Replace grub_script_execute with
28834 grub_parser_execute, change parameter to grub_command_execute.
28835
28836 * normal/menu_text.c: Remove <grub/script.h>.
28837
28838 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28839 and <grub/parser.h>.
28840 (run): Change editor_getline to use new parser interface. Change
28841 parameter to grub_command_execute.
28842
28843 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28844 <grub/reader.h> and <grub/parser.h>.
28845 (grub_load_normal_mode): Execute normal command.
28846 (grub_main): Call grub_register_core_commands,
28847 grub_register_rescue_parser and grub_register_rescue_reader, use
28848 grub_reader_loop to enter input loop.
28849
7dd4a573 28850 * kern/parser.c (grub_parser_split_cmdline): Change type of
28851 getline parameter.
d558e6b5 28852 (grub_parser_class): New variable.
28853 (grub_parser_execute): New function.
28854
28855 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28856 * loader/multiboot2.c: Likewise.
28857 * loader/sparc64/ieee1275/linux.c: Likewise.
28858
28859 * util/grub-emu.c (read_command_list): New dummy function.
28860
18db813d 288612009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28862
28863 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28864 count to 16 for CCISS and IDA.
28865
6c67de15 288662009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28867
28868 * normal/menu_text.c (grub_wait_after_message): Print a newline
28869 after waiting for user input.
28870
28871 * loader/i386/linux.c: Include `<grub/normal.h>'.
28872 (grub_cmd_linux): Improve the error message about `ask' mode, by
28873 waiting for user input so it's not missed (we can do this, since
28874 user requested interaction).
28875
d9dc87b0 288762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28877
28878 Added missing lst to grub-mkrescue
28879
28880 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28881 and ${input_dir}/parttool.lst
28882
ac8a2baa 288832009-04-30 David S. Miller <davem@davemloft.net>
28884
ad22a610 28885 * util/hostdisk.c (device_is_wholedisk): New function.
28886 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28887 zero only if device_is_wholedisk() returns true.
28888
6966215d 28889 * util/hostdisk.c (convert_system_partition_to_system_disk):
28890 Handle virtual disk devices named /dev/vdiskX as found on sparc
28891 and powerpc.
28892
ac8a2baa 28893 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28894 lettered partition specifier is found, convert to numbered.
28895
979b4fb4 288962009-04-29 David S. Miller <davem@davemloft.net>
28897
e2bf39b2 28898 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28899 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28900
3c64e104 28901 * normal/command.c: Add missing newline at end of file.
28902
979b4fb4 28903 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28904 warnings.
28905 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28906 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28907 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28908 ihandles have a 32-bit type but need to be stored in a "void *".
28909
136d9f82 289102009-04-28 Pavel Roskin <proski@gnu.org>
28911
9459c306 28912 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28913 not disk. Adjust all dependencies.
2e08a26a 28914 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28915 grub_disk_close().
28916
136d9f82 28917 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28918 parent's partition, don't copy it by reference, as it gets freed
28919 on close.
28920
7dd4a573 289212009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28922
28923 Preboot hooks support
28924
28925 * commands/boot.c (struct grub_preboot_t): new declaration
28926 (preboots_head): new variable
28927 (preboots_tail): likewise
28928 (grub_loader_register_preboot_hook): new function
28929 (grub_loader_unregister_preboot_hook): likewise
28930 (grub_loader_set): launch preboot hooks
28931 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28932 (grub_loader_register_preboot_hook): new declaration
28933 (grub_loader_unregister_preboot_hook): likewise
28934
5af922b5 289352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28936
28937 Warning fix
28938
7dd4a573 28939 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28940 calling grub_dprintf
28941
a5562c30 289422009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28943
28944 Bug and warning fixes
28945
7dd4a573 28946 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28947 declaration
28948 * commands/test.c (test_parse): fixed bug with file tests and corrected
28949 declaration of find_file
28950
4006f85c 289512009-04-26 Pavel Roskin <proski@gnu.org>
28952
28953 * Makefile.in: Don't install empty manual pages if help2man is
28954 missing. Use help2man option for output, not shell redirection.
28955
5c77c3de 289562009-04-26 David S. Miller <davem@davemloft.net>
28957
28958 * util/grub-mkdevicemap.c (make_device_map): Add missing
28959 NESTED_FUNC_ATTR to process_device().
28960
033b10a8 289612009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28962
28963 Test command
28964
28965 * commands/test.c: rewritten to use bash-like test
28966
e4343593 289672009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28968
28969 Parttool autoloading and improvements
28970
7dd4a573 28971 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28972 (parttool.lst): new target
28973 * genmk.rb: generate parttool-*
28974 (CLEANFILES): add #{parttool}
28975 (PARTTOOLFILES): new variable
28976 * genparttoollist.sh: new file
7dd4a573 28977 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28978 (grub_pcpart_type): likewise
28979 * commands/parttool.c (helpmsg): new variable
28980 (grub_cmd_parttool): output help if not enough arguments are supplied
28981 autoload modules
28982 (GRUB_MOD_INIT(parttool)): use helpmsg
28983
0d312500 289842009-04-24 David S. Miller <davem@davemloft.net>
28985
7dd4a573 28986 Avoiding opening same device multiple times in device iterator.
0d312500 28987
28988 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28989 and use it to build a list of partitions in iterate_disk() and
0d312500 28990 iterate_partition().
28991
ac20caff 28992 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28993 on disk->data.
28994
0dcf7495 28995 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28996 grub_devalias_iterate() result instead of unconditional 0.
28997 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28998 Also, capture hook return value, either directly or via
28999 grub_children_iterate(), and propagate to caller.
29000 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29001 grub_children_iterate): Return value is now 'int' instead of
29002 'grub_err_t'.
29003 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29004 like a proper iterator, stopping when hooks return non-zero.
29005 (grub_devalias_iterate): Likewise.
29006
c8c08833 290072009-04-23 David S. Miller <davem@davemloft.net>
29008
29009 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29010
f01005a8 290112009-04-22 David S. Miller <davem@davemloft.net>
29012
29013 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29014 is larger than address_cells, use that value for address_cells too.
29015
4e8269da 29016 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29017 IEEE1275_MAX_PATH_LEN): Define.
29018 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29019 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29020 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29021 'devtype'. Explicitly NULL terminate devalias expansion.
29022
a1447506 29023 * util/sparc64/ieee1275/misc.c: New file.
29024 * util/sparc64/ieee1275/grub-setup.c: New file.
29025 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29026 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29027 * util/sparc64/ieee1275/grub-install.in: New file.
29028 * util/ieee1275/ofpath.c: New file.
29029 * util/ieee1275/devicemap.c: New file.
29030 * util/devicemap.c: New file.
29031 * util/deviceiter.c: New file.
29032 * kern/sparc64/ieee1275/init.c: New file.
29033 * include/grub/util/ofpath.h: New file.
29034 * include/grub/util/deviceiter.h: New file.
29035 * util/grub-mkdevicemap.c: Include deviceiter.h.
29036 Implement using grub_util_emit_devicemap_entry and
29037 grub_util_iterate_devices.
29038 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29039 util/devicemap.c into grub-mkdevicemap
29040 * conf/i386-efi.rmk: Likewise.
29041 * conf/i386-ieee1275.rmk: Likewise.
29042 * conf/i386-pc.rmk: Likewise.
29043 * conf/powerpc-ieee1275.rmk: Likewise.
29044 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29045 images and installation utilities. Build kernel as image
29046 instead of as elf binary. Use common rules as much as possible.
29047
7dd4a573 290482009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29049
29050 Correct GPT definition
29051
7dd4a573 29052 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29053 of "attrib" member
29054
c6c5219f 290552009-04-19 Felix Zielcke <fzielcke@z-51.de>
29056
29057 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29058
0552ff9f 290592009-04-19 David S. Miller <davem@davemloft.net>
29060
29061 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29062 (grub_rescue_cmd_linux): Rename to...
29063 (grub_cmd_linux): and fix prototype.
29064 (grub_rescue_cmd_initrd): Rename to...
29065 (grub_cmd_initrd): and fix prototype.
29066 (cmd_linux, cmd_initrd): New.
29067 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29068 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29069
d1a282fc 290702009-04-17 Pavel Roskin <proski@gnu.org>
29071
07c5039f 29072 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29073 format.
29074 (grub_ohci_transfer): Likewise.
29075
b012002d 29076 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29077
1bc09c35 29078 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29079 return without a value. Fix inconsistent indentation.
29080
e0ff9126 29081 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29082 match struct grub_fs.
29083
d1a282fc 29084 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29085 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29086 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29087 * commands/lspci.c (grub_lspci_iter): Likewise.
29088
a96df3f2 290892009-04-16 Bean <bean123ch@gmail.com>
29090
29091 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29092 value.
29093
41bb0fe9 290942009-04-15 Pavel Roskin <proski@gnu.org>
29095
29096 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29097 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29098 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29099 definitions.
29100
596c6970 291012009-04-15 Felix Zielcke <fzielcke@z-51.de>
29102
29103 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29104 that no multiple data or metadata areas are supported and `Unknown
596c6970 29105 metadata header'.
29106
7dd4a573 291072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29108
29109 Move loader out of the kernel
29110
29111 * kern/loader.c: moved to ...
29112 * commands/boot.c: ... moved here
29113 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29114 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29115 * include/grub/kernel.h (grub_machine_fini): export
29116 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29117 (grub_loader_set): likewise
29118 (grub_loader_unset): likewise
29119 (grub_loader_boot): likewise
29120 * conf/common.rmk: new module boot.mod
29121 (pkglib_MODULES): add boot.mod
29122 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29123 (grub_emu_SOURCES): likewise
29124 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29125 (grub_emu_SOURCES): likewise
29126 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29127 (grub_emu_SOURCES): likewise
29128 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29129 (grub_emu_SOURCES): likewise
29130 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29131 (grub_emu_SOURCES): likewise
7dd4a573 29132 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29133 (grub_emu_SOURCES): likewise
0d5d5653 29134 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29135 (grub_emu_SOURCES): likewise
0d5d5653 29136
7dd4a573 291372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29138
29139 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29140
5999d619 29141 * kern/misc.c (grub_itoa): Removed function
29142 (grub_ltoa): likewise
29143 (grub_vsprintf): use grub_lltoa
29144
7dd4a573 291452009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29146
29147 Restore grub-emu
29148
29149 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29150 * conf/i386-coreboot.rmk: likewise
29151 * conf/i386-ieee1275.rmk: likewise
29152 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29153
20318222 291542009-04-15 Felix Zielcke <fzielcke@z-51.de>
29155
29156 * INSTALL: Add that `./autogen.sh' needs to be run before
29157 `./configure.'.
29158
d05f0df3 291592009-04-14 Bean <bean123ch@gmail.com>
29160
29161 * Makefile.in (pkglib_DATA): Add handler.lst.
29162 (handler.lst): New rule.
29163
29164 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29165 * conf/i386-coreboot.rmk: Likewise.
29166 * conf/i386-ieee1275.rmk: Likewise.
29167 * conf/i386-efi.rmk: Likewise.
29168 * conf/x86_64-efi.rmk: Likewise.
29169 * conf/powerpc-ieee1275.rmk: Likewise.
29170 * conf/sparc64-ieee1275.rmk: Likewise.
29171
29172 * genhandlerlist.sh: New file.
29173
29174 * genmk.rb: Add rules to generate handler.lst.
29175
29176 * include/grub/normal.h (grub_file_getline): New function definition.
29177 (read_handler_list): Likewise.
29178 (free_handler_list): Likewise.
29179
29180 * include/grub/term.h (grub_term_register_input): Add name parameter
29181 for auto generation of handler.lst.
29182 (grub_term_register_output): Likewise.
29183
29184 * normal/handler.c: New file.
29185
29186 * normal/main.c (get_line): Renamed to grub_file_getline.
29187 (read_config_file): Use the newly renamed grub_file_getline.
29188 (read_command_list): Likewise.
29189 (read_fs_list): Likewise.
29190 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29191 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29192
29193 * term/efi/console.c (grub_console_init): Add name parameter for auto
29194 generation of handler.lst.
29195 * term/gfxterm.c: Likewise.
29196 * term/i386/pc/at_keyboard.c: Likewise.
29197 * term/i386/pc/console.c: Likewise.
29198 * term/i386/pc/serial.c: Likewise.
29199 * term/i386/pc/vesafb.c: Likewise.
29200 * term/i386/pc/vga.c: Likewise.
29201 * term/i386/pc/vga_text.c: Likewise.
29202 * term/ieee1275/ofconsole.c: Likewise.
29203 * term/usb_keyboard.c: Likewise.
29204
33c846be 292052009-04-14 Bean <bean123ch@gmail.com>
29206
29207 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29208 properly with null character.
29209
4484e01e 292102009-04-14 Felix Zielcke <fzielcke@z-51.de>
29211
29212 * configure: Remove.
29213 * config.h.in: Likewise.
f93d668e 29214 * stamp-h.in: Likewise.
4484e01e 29215 * DISTLIST: Likewise.
29216 * conf/common.mk: Likewise.
29217 * conf/i386-coreboot.mk: Likewise.
29218 * conf/i386-efi.mk: Likewise.
29219 * conf/i386-ieee1275.mk: Likewise.
29220 * conf/i386.mk: Likewise.
29221 * conf/i386-pc.mk: Likewise.
29222 * conf/powerpc-ieee1275.mk: Likewise.
29223 * conf/sparc64-ieee1275.mk: Likewise.
29224 * conf/x86_64-efi.mk: Likewise.
29225
29226 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29227 develop on GRUB.
29228
7dd4a573 292292009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29230 David S. Miller <davem@davemloft.net>
29231
29232 * util/hostdisk.c (make_device_name): Fix buffer length
29233 calculations.
29234
e25b5a8c 292352009-04-14 Felix Zielcke <fzielcke@z-51.de>
29236
29237 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29238 <sys/param.h> and <sys/sysctl.h>.
29239 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29240 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29241 opening the device and reset them afterwards.
29242
1f1f580c 292432009-04-13 Pavel Roskin <proski@gnu.org>
29244
29245 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29246 Reported by John Stanley <jpsinthemix@verizon.net>
29247
7ebc2d6b 292482009-04-13 Robert Millan <rmh@aybabtu.com>
29249
29250 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29251 that name for menuentries when appropriate.
7ebc2d6b 29252
d8ba3667 292532009-04-13 Felix Zielcke <fzielcke@z-51.de>
29254
29255 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29256
cba416eb 292572009-04-13 Robert Millan <rmh@aybabtu.com>
29258
29259 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29260 to Linux, simply abort telling the user it's no longer supported.
29261
a547a745 292622009-04-13 Felix Zielcke <fzielcke@z-51.de>
29263
29264 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29265 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29266 `freebsd_loadenv' only when devices.hints exist.
29267
232a769c 292682009-04-13 Pavel Roskin <proski@gnu.org>
29269
29270 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29271
c3012039 292722009-04-13 Felix Zielcke <fzielcke@z-51.de>
29273
29274 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29275 partition number.
29276 (grub_drive): Likewise.
29277
234022fe 292782009-04-13 David S. Miller <davem@davemloft.net>
29279
29280 * kern/sparc64/ieee1275/ieee1275.c: New file.
29281 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29282 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29283 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29284 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29285 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29286 grub_ieee1275_alloc_physmem): Declare new exported functions.
29287
d8e1836c 29288 * include/grub/sparc64/ieee1275/loader.h: New file.
29289 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29290 * include/grub/sparc64/kernel.h: Likewise.
29291 * loader/sparc64/ieee1275/linux.c: Likewise.
29292
96bd81ec 29293 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29294 (grub_fstest_SOURCES): Likewise.
29295
6a4737e5 29296 * util/hostdisk.c (make_device_name): Do not make any assumptions
29297 about the length of drive names.
29298
1d7a72fd 29299 * kern/dl.c (grub_dl_load_file): Close file immediately when
29300 we are done using it.
29301
56bc2471 293022009-04-12 David S. Miller <davem@davemloft.net>
29303
29304 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29305 values. Noticed by Pavel Roskin.
29306
df38d0bb 29307 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29308 target compiler.
7dd4a573 29309
e382e93a 29310 * genmk.rb: Add more flexible image type specification, also
29311 pass --strip-unneeded to objcopy.
29312 * conf/i386-pc.rmk: Use *_FORMAT.
29313 * conf/i386-pc.mk: Rebuilt.
29314
f5dbbca9 29315 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29316 (OFDISK_HASH_SZ): Define.
29317 (ofdisk_hash): New hash table.
29318 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29319 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29320 instead of device phandle which is not unique.
29321
91c88b12 29322 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29323 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29324 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29325 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29326 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29327 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29328 GRUB_KERNEL_MACHINE_DATA_END): Define.
29329 (grub_kernel_image_size, grub_total_module_size): Declare.
29330
5b5d4aa5 293312009-04-12 Pavel Roskin <proski@gnu.org>
29332
7dd4a573 29333 * configure.ac: Change the logic when we check for target tools.
29334 Do it when the target is specified and it's different from the
29335 specified value of the host.
5b5d4aa5 29336
c91e1793 293372009-04-11 Felix Zielcke <fzielcke@z-51.de>
29338
29339 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29340 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29341 GNU/kFreeBSD. Check if a device is a character device. Use
29342 DIOCGMEDIASIZE to get the size.
29343 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29344 support for GNU/kFreeBSD.
29345 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29346 is a character device instead of a block device. Add support for
29347 FreeBSD device names.
29348
29349 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29350 is a character device instead of a block device.
29351
29352 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29353 is a character device instead of a block device.
29354
b1ac8644 293552009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29356
29357 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29358 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29359 FreeBSD. Check if a device is a character device. Use
29360 DIOCGMEDIASIZE to get the size.
29361 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29362 support for FreeBSD.
29363 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29364 is a character device instead of a block device. Add support for
29365 FreeBSD device names.
29366
29367 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29368 a character device instead of a block device.
29369 (grub_util_check_char_device): New function.
29370
29371 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29372 a character device instead of a block device.
29373
29374 * include/grub/util/getroot.h (grub_util_check_char_device): New
29375 prototype.
29376
a3f7515a 293772009-04-11 David S. Miller <davem@davemloft.net>
29378
29379 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29380 static libgcc.
29381 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29382 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29383 function, if present.
29384 (__bswapdi2): Likewise.
29385
0d44993d 29386 * include/grub/sparc64/ieee1275/boot.h: New file.
29387 * boot/sparc64/ieee1275/boot.S: Likewise.
29388 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29389
ed3d2bc2 29390 * kern/misc.c (grub_ltoa): New function.
29391 (grub_vsprintf): Use it to format 'long' integers.
29392
d3bfb59c 293932009-04-10 David S. Miller <davem@davemloft.net>
29394
29395 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29396 slots are of type grub_ieee1275_cell_t.
29397 (grub_nand_read): Likewise.
29398 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29399 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29400 macros are used to compare values in arg/ret block of the call.
29401 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29402 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29403 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29404 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29405 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29406 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29407 grub_ieee1275_close, grub_ieee1275_set_property,
29408 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29409 grub_ieee1275_cell_t.
29410 * kern/ieee1275/openfw.c (grub_map): Likewise.
29411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29412 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29413
450e2238 29414 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29415 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29416 (grub_devalias_iterate): Likewise.
29417
7dd4a573 294182009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29419
29420 UFS improvements
29421
29422 * fs/ufs.c (INODE_NBLOCKS): new definition
29423 (struct grub_ufs_dirent): added fields for non-BSD dirents
29424 (grub_ufs_get_file_block): fixed double indirect handling
29425 (grub_ufs_lookup_symlink): use more robust way to determine whether
29426 symlink is inline
29427 (grub_ufs_find_file): support for non-BSD dirents
29428 (grub_ufs_dir): support for non-BSD dirents
29429
e7e6862a 294302009-04-10 Bean <bean123ch@gnail.com>
29431
29432 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29433 attribute, otherwise the size would be wrong for i386 platform.
29434
29435 * include/grub/pci.h (grub_pci_read_word): New inline function.
29436 (grub_pci_read_byte): Likewise.
29437 (grub_pci_write): Likewise.
29438 (grub_pci_write_word): Likewise.
29439 (grub_pci_write_byte): Likewise.
29440
29441 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29442
29443 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29444 (find_framebuf): Scan pci to locate the frame buffer address.
29445
29446 * commands/efi/fixvideo.c: New file.
29447
29448 * commands/efi/loadbios.c: Likewise.
29449
29450 * commands/memrw.c: Likewise.
29451
29452 * util/grub-dumpbios.in: Likewise.
29453
29454 * conf/common.rmk (grub-dumpbios): New utility.
29455 (pkglib_MODULES): New module memrw.mod.
29456 (memrw_mod_SOURCE): New macro.
29457 (memrw_mod_CFLAGS): Likewise.
29458 (memrw_mod_LDFLAGS): Likewise.
29459
7dd4a573 29460 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29461 fixvideo.mod.
29462 (loadbios_mod_SOURCE): New macro.
29463 (loadbios_mod_CFLAGS): Likewise.
29464 (loadbios_mod_LDFLAGS): Likewise.
29465 (fixvideo_mod_SOURCE): Likewise.
29466 (fixvideo_mod_CFLAGS): Likewise.
29467 (fixvideo_mod_LDFLAGS): Likewise.
29468
7dd4a573 29469 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29470 fixvideo.mod.
29471 (loadbios_mod_SOURCE): New macro.
29472 (loadbios_mod_CFLAGS): Likewise.
29473 (loadbios_mod_LDFLAGS): Likewise.
29474 (fixvideo_mod_SOURCE): Likewise.
29475 (fixvideo_mod_CFLAGS): Likewise.
29476 (fixvideo_mod_LDFLAGS): Likewise.
29477
af63ada2 294782009-04-08 Felix Zielcke <fzielcke@z-51.de>
29479
29480 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29481
c2cdde70 294822009-04-07 David S. Miller <davem@davemloft.net>
29483
29484 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29485 support for R_SPARC_OLO10 relocations. Fix compile warning for
29486 R_SPARC_WDISP30 case.
ea3f72cf 29487 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29488
761319cf 294892009-04-06 Pavel Roskin <proski@gnu.org>
29490
1007d1f5 29491 * include/grub/misc.h (ARRAY_SIZE): New macro.
29492 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29493 New macro.
29494 * loader/i386/linux.c (allocate_pages): Use free_pages().
29495 (grub_linux_unload): Don't use free_pages().
29496 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29497 wrong index. Treat all other modes as text modes.
29498 (grub_cmd_linux): Initialize vid_mode unconditionally to
29499 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29500
761319cf 29501 * commands/help.c (print_command_help): Use cmd->prio, not
29502 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29503
ea761d40 295042009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29505
ea761d40 29506 Parttool
29507
29508 * parttool/pcpart.c: new file
29509 * commands/parttool.c: likewise
29510 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29511 (parttool_mod_SOURCES): new variable
29512 (parttool_mod_CFLAGS): likewise
29513 (parttool_mod_LDFLAGS): likewise
29514 (pcpart_mod_SOURCES): likewise
29515 (pcpart_mod_CFLAGS): likewise
29516 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29518 and parttool/pcpart.c
29519 * conf/i386-efi.rmk: likewise
29520 * conf/i386-ieee1275.rmk: likewise
29521 * conf/i386-pc.rmk: likewise
29522 * conf/powerpc-ieee1275.rmk: likewise
29523 * conf/sparc64-ieee1275.rmk: likewise
29524 * conf/x86_64-ieee1275.rmk: likewise
29525
05aaebfb 295262009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29527
29528 Support for mtime and further expandability of dir command
29529
29530 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29531 * include/grub/datetime.h: ... moved here and added
05aaebfb 29532 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29533 * include/grub/fs.h: new syntax for dir and mtime functions in
29534 struct grub_fs
05aaebfb 29535 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29536 and GRUB_FSHELP_FLAGS_MASK
29537 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29538 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29539 (grub_ext2_mtime): new function
29540 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29541 (grub_hfsplus_mtime): new function
29542 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29543 (GRUB_UFS_ATTR_FILE): likewise
29544 (GRUB_UFS_ATTR_LNK): likewise
29545 (struct grub_ufs_sblock): new fields mtime
29546 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29547 all users updated
29548 (grub_ufs_dir): mtime support
29549 (grub_ufs_mtime): new function
29550 * fs/affs.c (grub_affs_dir): use new dir syntax
29551 * fs/afs.c (grub_afs_dir): likewise
29552 * fs/cpio.c (grub_cpio_dir): likewise
29553 * fs/fat.c (grub_fat_find_dir): likewise
29554 * fs/hfs.c (grub_hfs_dir): likewise
29555 * fs/iso9660.c (grub_iso9660_dir): likewise
29556 * fs/jfs.c (grub_jfs_dir): likewise
29557 * fs/minix.c (grub_minix_dir): likewise
29558 * fs/ntfs.c (grub_ntfs_dir): likewise
29559 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29560 * fs/sfs.c (grub_sfs_dir): likewise
29561 * fs/xfs.c (grub_xfs_dir): likewise
29562 * util/hostfs.c (grub_hostfs_dir): likewise
29563 * lib/datetime.c: moved to ...
29564 * normal/datetime.c: ... moved here
29565 (grub_unixtime2datetime): new function
29566 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29567 * normal/completion.c (iterate_dir): use new dir syntax
29568 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29569 last modification time of a volume
7dd4a573 29570 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29571 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29573 (normal_mod_SOURCES): likewise
29574 (datetime_mod_SOURCES): Removed lib/datetime.c
29575 * conf/i386-efi.rmk: likewise
7dd4a573 29576 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29577 * conf/i386-pc.rmk: likewise
29578 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29579 * conf/sparc64-ieee1275.rmk: likewise
29580 * conf/x86_64-efi.rmk: likewise
05aaebfb 29581
8a7e1a14 295822009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29583
29584 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29585
29586 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29587 on grub_fat_find_dir
29588 (grub_fat_find_dir): use grub_fat_iterate_dir
29589 (grub_fat_label): likewise
29590
04186a9c 295912009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29592
7dd4a573 29593 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29594 and command.h
29595 remove extraneous kernel_elf_HEADERS
29596
da4c0bb6 295972009-04-04 Bean <bean123ch@gnail.com>
29598
29599 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29600
29601 * util/misc.c: Likewise.
29602
54ad9555 296032009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29604
29605 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29606 instead of grub_printf.
29607
7a6bf9f2 296082009-04-03 Robert Millan <rmh@aybabtu.com>
29609
29610 * loader/i386/linux.c (grub_linux_setup_video): Fill
29611 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29612 values from `mode info' structure instead of hardcoded
29613 values.
29614
3fcc2083 296152009-04-01 Pavel Roskin <proski@gnu.org>
29616
29617 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29618 unused now.
29619 * genmk.rb: Likewise.
29620 * configure.ac: Likewise.
29621
5ec9740b 296222009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29623
29624 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29625 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29626
5270cec8 296272009-04-01 David S. Miller <davem@davemloft.net>
29628
29629 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29630 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29631 (grub_setjmp): Mark with 'returns_twice' attribute.
29632 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29633 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29634 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29635
9c3dd854 296362009-04-01 Robert Millan <rmh@aybabtu.com>
29637
29638 Reapply fix from 2008-07-28 which was accidentally reverted; also
29639 perform the same fix to a similar check in same function.
29640
29641 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29642 with the same number are found, just use issue a warning with
29643 grub_dprintf(), as this error has been reported to be non-fatal.
29644
0d818b7e 296452009-03-31 Pavel Roskin <proski@gnu.org>
29646
29647 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29648 for cross-compilation.
29649
95646d92 296502009-03-30 Robert Millan <rmh@aybabtu.com>
29651
29652 Fix i386-ieee1275 build.
29653
29654 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29655 Remove declaration.
29656
6a003ed1 296572009-03-30 Pavel Roskin <proski@gnu.org>
29658
29659 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29660 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29661 zero-terminated, rely only on the strlen value. Fix comparison
29662 of strings differing in length.
29663
92f33540 296642009-03-30 Robert Millan <rmh@aybabtu.com>
29665
29666 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29667 checking for abi version. Improve error messages on BIOS to notify
29668 user about `linux16' command.
29669
a8c48fd5 296702009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29671
f968172e 29672 Leak fixes
a8c48fd5 29673
f968172e 29674 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29675 in case of collision
29676 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29677
9c323f09 296782009-03-29 Robert Millan <rmh@aybabtu.com>
29679
29680 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29681 set `vid_mode' accordingly.
29682 (grub_linux_boot): Process `vid_mode' and set video mode.
29683
ae68f423 296842009-03-29 Robert Millan <rmh@aybabtu.com>
29685
29686 * util/grub.d/10_linux.in (linux_entry): New function.
29687 Factorize generation of Linux boot entries.
29688
5709cfc4 296892009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29690
29691 Make the format of Environment Block plain text. The boot loader
29692 part is not tested well yet.
7dd4a573 29693
5709cfc4 29694 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29695 (buffer): Removed.
29696 (envblk): Likewise.
29697 (usage): Remove "info" and "clear". Add "unset". Update the
29698 description of "set", as this does not delete variables any
29699 longer.
29700 (create_envblk_file): Complete rewrite.
29701 (open_envblk_file): Likewise.
29702 (cmd_info): Removed.
29703 (cmd_list): Likewise.
29704 (cmd_set): Likewise.
29705 (cmd_clear): Likewise.
29706 (list_variables): New function.
29707 (write_envblk): Likewise.
29708 (set_variables): Likewise.
29709 (unset_variables): Likewise.
29710 (main): Complete rewrite.
29711
29712 * commands/loadenv.c (buffer): Removed.
29713 (envblk): Likewise.
29714 (open_envblk_file): New function.
29715 (read_envblk_file): Complete rewrite.
29716 (grub_cmd_load_env): Likewise.
29717 (grub_cmd_list_env): Likewise.
29718 (struct blocklist): New struct.
29719 (free_blocklists): New function.
29720 (check_blocklists): Likewise.
29721 (write_blocklists): Likewise.
29722 (grub_cmd_save_env): Complete rewrite.
29723
29724 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29725 a plain text signature.
29726 (GRUB_ENVBLK_MAXLEN): Removed.
29727 (struct grub_envblk): Complete rewrite.
29728 (grub_envblk_find): Removed.
29729 (grub_envblk_insert): Likewise.
29730 (grub_envblk_open): New prototype.
29731 (grub_envblk_set): Likewise.
29732 (grub_envblk_delete): Put const to VALUE.
29733 (grub_envblk_iterate): Put const to NAME and VALUE.
29734 (grub_envblk_close): New prototype.
29735 (grub_envblk_buffer): New inline function.
29736 (grub_envblk_size): Likewise.
29737
29738 * lib/envblk.c: Include grub/mm.h.
29739 (grub_env_find): Removed.
29740 (grub_envblk_open): New function.
29741 (grub_envblk_close): Likewise.
29742 (escaped_value_len): Likewise.
29743 (find_next_line): Likewise.
29744 (grub_envblk_insert): Removed.
29745 (grub_envblk_set): New function.
29746 (grub_envblk_delete): Complete rewrite.
29747 (grub_envblk_iterate): Likewise.
29748
a9368fd3 297492009-03-28 Robert Millan <rmh@aybabtu.com>
29750
29751 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29752 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29753 variables. Use 16-bit loader.
29754 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29755 loader.
29756 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29757 (grub_linux16_boot): ... this. Update all users.
29758 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29759 (grub_linux_boot): ... this. Update all users.
29760
29761 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29762 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29763 commands to `linux16' and `initrd16'.
29764 (GRUB_MOD_FINI(linux)): Rename to ...
29765 (GRUB_MOD_FINI(linux16)): ... this.
29766
e4dd5a7e 297672009-03-24 Pavel Roskin <proski@gnu.org>
29768
29769 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29770 not just for compilation.
29771
c04d6e05 297722009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29773
29774 Move multiboot helper out of kernel
29775
29776 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29777 `loader/i386/multiboot_helper.S'.
29778 * conf/i386-coreboot.rmk: Likewise
29779 * conf/i386-ieee1275.rmk: Likewise
29780
29781 * kern/i386/loader.S: Move multiboot helpers from here...
29782 * loader/i386/multiboot_helper.S: ...moved here
29783 * include/grub/i386/loader.h: Move declarations of multiboot
29784 helpers from here...
29785 * include/grub/i386/multiboot.h: ...moved here
29786 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29787
42a5b3fc 297882009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29789
29790 * kern/env.c (grub_env_context_open): Added an argument to specify
29791 whether a new context inherits exported variables from current
29792 one. This is useful when making a sandbox to interpret a config
29793 file.
29794 All callers updated.
29795
29796 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29797
b28bbc4e 297982009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29799
29800 * kern/env.c (grub_env_context_close): Fix memory leaks.
29801
f04f02e4 298022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29803
29804 * normal/main.c (grub_normal_execute): Added an argument
29805 BATCH to specify if an interactive interface should be provided
29806 after reading a config file.
29807 All callers updated.
29808 (read_command_list): Prevent being executed twice.
29809 (read_fs_list): Likewise.
29810
42a5b3fc 29811 * include/grub/normal.h (grub_normal_execute): Updated the
29812 prototype.
f04f02e4 29813
41473ac2 298142009-03-22 Pavel Roskin <proski@gno.org>
29815
fbc00b0c 29816 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29817 _start.
29818 * kern/i386/pc/startup.S: Likewise.
29819 * kern/i386/efi/startup.S: Likewise.
29820 * kern/i386/ieee1275/startup.S: Likewise.
29821 * kern/i386/coreboot/startup.S: Likewise.
29822 * kern/x86_64/efi/startup.S: Likewise.
29823
41473ac2 29824 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29825 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29826 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29827
2274cc8f 298282009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29829
29830 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29831
29832 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29833 limit detection.
29834 Use vaddr of correct segment for entry_point.
29835
b1b797cb 298362009-03-21 Bean <bean123ch@gmail.com>
29837
29838 * commands/blocklist.c: Add include file <grub/command.h>, remove
29839 <grub/normal.h> and <grub/arg.h>.
29840 (grub_cmd_blocklist): Use the new command interface.
29841 (GRUB_MOD_INIT): Likewise.
29842 (GRUB_MOD_FINI): Likewise.
29843 * commands/boot.c: Likewise.
29844 * commands/cat.c: Likewise.
29845 * commands/cmp.c: Likewise.
29846 * commands/configfile.c: Likewise.
29847 * commands/crc.c: Likewise.
29848 * commands/echo.c: Likewise.
29849 * commands/halt.c: Likewise.
29850 * commands/handler.c: Likewise.
29851 * commands/hdparm.c: Likewise.
29852 * commands/help.c: Likewise.
29853 * commands/hexdump.c: Likewise.
29854 * commands/loadenv.c: Likewise.
29855 * commands/ls.c: Likewise.
29856 * commands/lsmmap.c: Likewise.
29857 * commands/lspci.c: Likewise.
29858 * commands/loadenv.c: Likewise.
29859 * commands/read.c: Likewise.
29860 * commands/reboot.c: Likewise.
29861 * commands/search.c: Likewise.
29862 * commands/sleep.c: Likewise.
29863 * commands/test.c: Likewise.
29864 * commands/usbtest.c: Likewise.
29865 * commands/videotest.c: Likewise.
29866 * commands/i386/cpuid.c: Likewise.
29867 * commands/i386/pc/halt.c: Likewise.
29868 * commands/i386/pc/play.c: Likewise.
29869 * commands/i386/pc/pxecmd.c: Likewise.
29870 * commands/i386/pc/vbeinfo.c: Likewise.
29871 * commands/i386/pc/vbetest.c: Likewise.
29872 * commands/ieee1275/suspend.c: Likewise.
29873 * disk/loopback.c: Likewise.
29874 * font/font_cmd.c: Likewise.
29875 * hello/hello.c: Likewise.
29876 * loader/efi/appleloader.c: Likewise.
29877 * loader/efi/chainloader.c: Likewise.
29878 * loader/i386/bsd.c: Likewise.
29879 * loader/i386/efi/linux.c: Likewise.
29880 * loader/i386/ieee1275/linux.c: Likewise.
29881 * loader/i386/linux.c: Likewise.
29882 * loader/i386/pc/chainloader.c: Likewise.
29883 * loader/i386/pc/linux.c: Likewise.
29884 * loader/powerpc/ieee1275/linux.c: Likewise.
29885 * loader/multiboot_loader.c: Likewise.
29886 * term/gfxterm.c: Likewise.
29887 * term/i386/pc/serial.c: Likewise.
29888 * term/terminfo.c: Likewise.
29889
29890 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29891 * term/i386/pc/vga.c: Likewise.
29892 * video/readers/jpeg.c: Likewise.
29893 * video/readers/png.c: Likewise.
29894 * video/readers/tga.c: Likewise.
29895
29896 * util/grub-fstest (cmd_loopback): Removed.
29897 (cmd_blocklist): Likewise.
29898 (cmd_ls): Likewise.
29899 (grub_register_command): Likewise.
29900 (grub_unregister_command): Likewise.
29901 (execute_command): Use grub_command_find to locate command and execute
29902 it.
29903
29904 * include/grub/efi/chainloader.h: Removed.
29905 * loader/efi/chainloader_normal.c: Likewise.
29906 * loader/i386/bsd_normal.c: Likewise.
29907 * loader/i386/pc/chainloader_normal.c: Likewise.
29908 * loader/i386/pc/multiboot_normal.c: Likewise.
29909 * loader/linux_normal.c: Likewise.
29910 * loader/multiboot_loader_normal.c: Likewise.
29911 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29912
29913 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29914 and grub_register_command_p1.
29915
29916 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29917 kern/command.c, lib/arg.c and commands/extcmd.c.
29918 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29919 (minicmd_mod_SOURCES): New variable.
29920 (minicmd_mod_CFLAGS): Likewise.
29921 (minicmd_mod_LDFLAGS): Likewise.
29922 (extcmd_mod_SOURCES): Likewise.
29923 (extcmd_mod_CFLAGS): Likewise.
29924 (extcmd_mod_LDFLAGS): Likewise.
29925 (boot_mod_SOURCES): Removed.
29926 (boot_mod_CFLAGS): Likewise.
29927 (boot_mod_LDFLAGS): Likewise.
29928
29929 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29930 kern/corecmd.c.
29931 (kernel_img_HEADERS): Add command.h.
29932 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29933 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29934 and lib/arg.c.
29935 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29936 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29937 remove the corresponding normal mode command.
29938 (normal_mod_SOURCES): Remove normal/arg.c.
29939 * conf/i386-coreboot.rmk: Likewise.
29940 * conf/i386-efi.rmk: Likewise.
29941 * conf/i386-ieee1275.rmk: Likewise.
29942 * conf/powerpc-ieee1275.rmk: Likewise.
29943 * conf/x86_64-efi.rmk: Likewise.
29944
29945 * include/grub/arg.h: Move from here ...
29946 * include/grub/lib/arg.h: ... to here.
29947
29948 * normal/arg.c: Move from here ...
29949 * lib/arg.c: ... to here.
29950
29951 * commands/extcmd.c: New file.
29952 * commands/minicmd.c: Likewise.
29953 * include/grub/command.h: Likewise.
29954 * include/grub/extcmd.h: Likewise.
29955 * kern/command.c: Likewise.
29956 * kern/corecmd.c: Likewise.
29957
29958 * kern/list.c (grub_list_iterate): Return int instead of void.
29959 (grub_list_insert): New function.
29960 (grub_prio_list_insert): Likewise.
29961
29962 * kern/rescue.c (grub_rescue_command): Removed.
29963 (grub_rescue_command_list): Likewise.
29964 (grub_rescue_register_command): Likewise.
29965 (grub_rescue_unregister_command): Likewise.
29966 (grub_rescue_cmd_boot): Move to minicmd.c
29967 (grub_rescue_cmd_help): Likewise.
29968 (grub_rescue_cmd_info): Likewise.
29969 (grub_rescue_cmd_boot): Likewise.
29970 (grub_rescue_cmd_testload): Likewise.
29971 (grub_rescue_cmd_dump): Likewise.
29972 (grub_rescue_cmd_rmmod): Likewise.
29973 (grub_rescue_cmd_lsmod): Likewise.
29974 (grub_rescue_cmd_exit): Likewise.
29975 (grub_rescue_print_devices): Moved to corecmd.c.
29976 (grub_rescue_print_files): Likewise.
29977 (grub_rescue_cmd_ls): Likewise.
29978 (grub_rescue_cmd_insmod): Likewise.
29979 (grub_rescue_cmd_set): Likewise.
29980 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29981 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29982 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29983 commands, remove grub_rescue_register_command calls.
b1b797cb 29984
7d074e3c 29985 * normal/command.c (grub_register_command): Removed.
b1b797cb 29986 (grub_unregister_command): Likewise.
29987 (grub_command_find): Likewise.
29988 (grub_iterate_commands): Likewise.
29989 (rescue_command): Likewise.
29990 (export_command): Moved to corecmd.c.
29991 (set_command): Removed.
29992 (unset_command): Likewise.
29993 (insmod_command): Likewise.
29994 (rmmod_command): Likewise.
29995 (lsmod_command): Likewise.
29996 (grub_command_init): Likewise.
29997
29998 * normal/completion.c (iterate_command): Use cmd->prio to check for
29999 active command.
30000 (complete_arguments): Use grub_extcmd_t structure to find options.
30001 (grub_normal_do_completion): Change function grub_iterate_commands to
30002 grub_command_iterate.
30003
30004 * normal/execute.c (grub_script_execute_cmd): No need to parse
30005 argument here.
30006
30007 * normal/main.c (grub_dyncmd_dispatcher): New function.
30008 (read_command_list): Register unload commands as dyncmd.
30009 (grub_cmd_normal): Use new command interface, register rescue,
30010 unregister normal at entry, register normal, unregister rescue at exit.
30011
30012 * include/grub/list.h (grub_list_test_t): New type.
30013 (grub_list_iterate): Return int instead of void.
30014 (grub_list_insert): New function.
30015 (GRUB_AS_NAMED_LIST_P): New macro.
30016 (GRUB_AS_PRIO_LIST): Likewise.
30017 (GRUB_AS_PRIO_LIST_P): Likewise.
30018 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30019 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30020 (grub_prio_list): New structure.
30021 (grub_prio_list_insert): New function.
30022 (grub_prio_list_remove): New inline function.
30023
30024 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30025 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30026 (GRUB_COMMAND_FLAG_MENU): Likewise.
30027 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30028 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30029 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30030 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30031 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30032 (grub_command): Likewise.
30033 (grub_register_command): Likewise.
30034 (grub_command_find): Likewise.
30035 (grub_iterate_commands): Likewise.
30036 (grub_command_init): Likewise.
30037 (grub_arg_parse): Likewise.
30038 (grub_arg_show_help): Likewise.
30039
30040 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30041 (grub_rescue_unregister_command): Likewise.
30042
30043 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30044 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30045 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30046
30047 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30048 grub_rescue_cmd_initrd.
30049 * include/grub/i386/loader.h: Likewise.
30050 * include/grub/x86_64/loader.h: Likewise.
30051
30052 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30053
1f4147aa 300542009-03-21 Bean <bean123ch@gmail.com>
30055
30056 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30057 instead of stat in mingw environment.
30058
30059 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30060
30061 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30062
30063 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30064 AC_CONFIG_LINKS.
30065
2156d5ba 300662009-03-21 Bean <bean123ch@gmail.com>
30067
30068 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30069 out of range error.
30070
177b82ca 300712009-03-18 Michel Dänzer <michel@daenzer.net>
30072
30073 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30074 checking inode flags for EXT4_EXTENTS_FLAG.
30075
14aad807 300762009-03-18 Robert Millan <rmh@aybabtu.com>
30077
30078 * loader/i386/linux.c: Include `<grub/video.h>' and
30079 `<grub/i386/pc/vbe.h>'..
30080 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30081 (grub_linux32_boot): Attempt to configure video settings with
30082 grub_linux_setup_video().
30083 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30084 to avoid grub_console_fini() which would step out of graphical mode
30085 unconditionally.
30086
8cf83a27 300872009-03-14 Robert Millan <rmh@aybabtu.com>
30088
30089 Fix build on powerpc.
30090 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30091
40164e75 300922009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30093
30094 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30095 background image command.
30096
c58bc32a 300972009-03-12 Colin D Bennett <colin@gibibit.com>
30098
30099 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30100 (grub_gfxterm_putchar): Extract pairs of identical calls to
30101 draw_cursor out of conditional blocks.
30102
5415144a 301032009-03-11 Pavel Roskin <proski@gnu.org>
30104
30105 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30106 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30107
6394042e 301082009-03-11 Robert Millan <rmh@aybabtu.com>
30109
30110 * loader/i386/multiboot_elfxx.c
30111 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30112
b7b50e5f 301132009-03-11 Felix Zielcke <fzielcke@z-51.de>
30114
30115 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30116 `kern/handler.c'.
30117
1ca7fc96 301182009-03-11 Robert Millan <rmh@aybabtu.com>
30119
30120 * loader/i386/multiboot.c (code_size): New variable.
30121 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30122 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30123 4-byte alignment to MBI and others by increasing
7d074e3c 30124 `boot_loader_name_length' appropriately.
1ca7fc96 30125
30126 * loader/i386/multiboot_elfxx.c
30127 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30128
a83ea1d2 301292009-03-09 Felix Zielcke <fzielcke@z-51.de>
30130
30131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30132 `fs/ext2.c'.
30133
aa9f3bff 301342009-03-08 Robert Millan <rmh@aybabtu.com>
30135
30136 Make loader/i386/linux.c usable on i386-pc again.
30137
30138 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30139 memory to heap.
30140 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30141 `#error' stanza.
30142
d8b3b60e 301432009-03-07 Bean <bean123ch@gmail.com>
30144
30145 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30146 allocation.
30147
b362c9e9 301482009-03-06 Robert Millan <rmh@aybabtu.com>
30149
30150 Fix display issue on terminals with screen size other than 80x25
30151 (e.g. gfxterm with resolution higher than 640x480).
30152
30153 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30154 position relative to the center of the terminal instead of relying
b362c9e9 30155 on a hardcoded offset.
30156
9304eef1 301572009-03-04 Robert Millan <rmh@aybabtu.com>
30158
30159 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30160 installed.
30161
30162 * Makefile.in (host_kernel): New variable.
30163 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30164 scripts instead of just the windows one.
30165 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30166
eabc95fb 301672009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30168
30169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30170 `kern/handler.c'.
30171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30172 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30173 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30175 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30177
ceb1223c 301782009-03-04 Felix Zielcke <fzielcke@z-51.de>
30179
30180 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30181 or if there's no space for the disk label and print the partition number on a
30182 invalid magic.
30183
4910684a 301842009-03-04 Felix Zielcke <fzielcke@z-51.de>
30185
30186 * util/misc.c: Include <time.h>.
30187 (grub_millisleep): New function.
30188
7e9ca17a 301892009-03-04 Bean <bean123ch@gmail.com>
30190
30191 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30192 another option -mno-red-zone.
30193
30194 * commands/handler.c: Change module description.
30195
30196 * kern/handler.c: Add missing space at the end of description line.
30197
30198 * kern/list.c: Likewise.
30199
f501677c 302002009-03-03 Robert Millan <rmh@aybabtu.com>
30201
30202 Move more components to the relocation area, and fix mbi pointer
30203 handling to use the destination rather than the origin (thanks to
30204 Vladimir Serbinenko for spotting).
30205
30206 * loader/i386/multiboot.c (mbi_dest): New variable.
30207 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30208 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30209 relocation area.
30210
9902d047 302112009-03-01 Bean <bean123ch@gmail.com>
30212
50fb7002 30213 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30214 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30215 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30216 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30217
30218 * loader/i386/efi/linux.c (acpi_guid): New variable.
30219 (acpi_guid): Likewise.
30220 (EBDA_SEG_ADDR): New constant.
30221 (LOW_MEM_ADDR): Likewise.
30222 (FAKE_EBDA_SEG): Likewise.
30223 (fake_bios_data): New function.
30224 (grub_linux_boot): Call fake_bios_data.
30225
71b9f361 302262009-03-01 Bean <bean123ch@gmail.com>
30227
30228 * commands/terminal.c: Removed.
30229
30230 * commands/handler.c: New file.
30231
30232 * include/grub/list.h: Likewise.
30233
30234 * include/grub/handler.h: Likewise.
30235
30236 * kern/list.c: Likewise.
30237
30238 * kern/handler.c: Likewise.
30239
30240 * kern/term.h: Include header file <grub/handler.h>.
30241 (grub_term_input): Move next field to the beginning.
30242 (grub_term_output): Likewise.
30243 (grub_term_input_class): New variable.
30244 (grub_term_output_class): Likewise.
30245 (grub_term_register_input): Changed to inline function.
30246 (grub_term_register_output): Likewise.
30247 (grub_term_unregister_input): Likewise.
30248 (grub_term_unregister_output): Likewise.
30249 (grub_term_set_current_input): Likewise.
30250 (grub_term_set_current_output): Likewise.
30251 (grub_term_get_current_input): Likewise.
30252 (grub_term_get_current_output): Likewise.
30253 (grub_term_iterate_input): Removed.
30254 (grub_term_iterate_output): Likewise.
30255
30256 * kern/term.c (grub_term_list_input): Removed.
30257 (grub_term_list_output): Likewise.
30258 (grub_term_input_class): New variable.
30259 (grub_term_output_class): Likewise.
50fb7002 30260 (grub_cur_term_input): Change variable as macro.
71b9f361 30261 (grub_cur_term_output): Likewise.
30262 (grub_term_register_input): Removed.
30263 (grub_term_register_output): Likewise.
30264 (grub_term_unregister_input): Likewise.
30265 (grub_term_unregister_output): Likewise.
30266 (grub_term_set_current_input): Likewise.
30267 (grub_term_set_current_output): Likewise.
30268 (grub_term_iterate_input): Likewise.
30269 (grub_term_iterate_output): Likewise.
30270 (grub_term_get_current_input): Likewise.
30271 (grub_term_get_current_output): Likewise.
30272
30273 * util/grub-editenv.c: Include header file <grub/handler.h>.
30274 (grub_term_get_current_input): Removed.
30275 (grub_term_get_current_output): Likewise.
30276 (grub_term_input_class): New variable.
50fb7002 30277 (grub_term_output_class): Likewise.
71b9f361 30278
30279 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30280 (grub_term_get_current_output): Likewise.
30281 (grub_term_input_class): New variable.
50fb7002 30282 (grub_term_output_class): Likewise.
71b9f361 30283
30284 * util/grub-probe.c (grub_term_get_current_input): Removed.
30285 (grub_term_get_current_output): Likewise.
30286 (grub_term_input_class): New variable.
50fb7002 30287 (grub_term_output_class): Likewise.
71b9f361 30288
30289 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30290 (grub_term_get_current_output): Likewise.
30291 (grub_term_input_class): New variable.
50fb7002 30292 (grub_term_output_class): Likewise.
71b9f361 30293
30294 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30295 (terminal_mod_SOURCES): Likewise.
30296 (terminal_mod_CFLAGS): Likewise.
30297 (terminal_mod_LDFLAGS): Likewise.
30298
30299 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30300 handler.c.
30301 (kernel_img_SOURCES): Add list.c and handler.c.
30302 (kernel_img_HEADERS): Add list.h and handler.h.
30303
30304 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30305 handler.c.
30306 (kernel_mod_SOURCES): Add list.c and handler.c.
30307 (kernel_mod_HEADERS): Add list.h and handler.h.
30308
30309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30310 handler.c.
30311 (kernel_elf_SOURCES): Add list.c and handler.c.
30312 (kernel_elf_HEADERS): Add list.h and handler.h.
30313
30314 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30315 handler.c.
30316 (kernel_elf_SOURCES): Add list.c and handler.c.
30317 (kernel_elf_HEADERS): Add list.h and handler.h.
30318
30319 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30320 handler.c.
30321 (kernel_mod_SOURCES): Add list.c and handler.c.
30322 (kernel_mod_HEADERS): Add list.h and handler.h.
30323
30324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30325 handler.c.
30326 (kernel_elf_SOURCES): Add list.c and handler.c.
30327 (kernel_elf_HEADERS): Add list.h and handler.h.
30328
8a31787f 303292009-02-27 Robert Millan <rmh@aybabtu.com>
30330
30331 Factorize elf32 / elf64 code in Multiboot loader. This will
30332 prevent it from getting out of sync again.
30333
30334 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30335 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30336 grub_multiboot_load_elf64): Move from here ...
30337 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30338 grub_multiboot_load_elf): ... to here (new file).
30339
51cd3dfc 303402009-02-27 Robert Millan <rmh@aybabtu.com>
30341
30342 * util/grub.d/10_linux.in: Rename "single-user mode" to
30343 "recovery mode".
30344
6e8c9c3a 303452009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30346
30347 Don't leak in SCSI code.
30348 * disk/scsi.c (grub_scsi_close): free `scsi'.
30349
4b6bf4f9 303502009-02-27 Robert Millan <rmh@aybabtu.com>
30351
30352 * loader/i386/pc/multiboot.c: Move from here ...
30353 * loader/i386/multiboot.c: ... to here. Update all users.
30354
b9413424 303552009-02-27 Robert Millan <rmh@aybabtu.com>
30356
30357 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30358 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30359
50fb7002 303602009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30361
30362 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30363 b-tree.
30364
8cc50345 303652009-02-27 Robert Millan <rmh@aybabtu.com>
30366
30367 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30368 `0x' qualifier as 0 when base is specified as parameter).
30369
6e09b8b7 303702009-02-24 Bean <bean123ch@gmail.com>
30371
30372 * configure.ac: Check for -mcmodel=large in x86_64 target.
30373
30374 * include/grub/efi/api.h (efi_call_10): New macro.
30375 (efi_wrap_10): New function.
30376
30377 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30378 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30379 (GRUB_PE32_REL_BASED_LOW): Likewise.
30380 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30381 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30382 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30383 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30384 (GRUB_PE32_REL_BASED_REL): Likewise.
30385 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30386 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30387 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30388
30389 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30390 issue.
30391
30392 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30393 (efi_wrap_10): New function.
30394
30395 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30396
30397 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30398 MB/MBP model (NV chipset).
30399 (devdata_devs): Add devpath_5 to the list.
30400
30401 * load/i386/efi/linux.c (video_base): Remove variable.
30402 (RGB_MASK): New macro.
30403 (RGB_MAGIC): Likewise.
30404 (LINE_MIN): Likewise.
30405 (LINE_MAX): Likewise.
30406 (FBTEST_STEP): Likewise.
30407 (FBTEST_COUNT): Likewise.
30408 (fb_list): New variable.
30409 (grub_find_video_card): Remove function.
30410 (find_framebuf): New function.
30411 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30412 line length.
30413
30414 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30415 problem for x86_64.
30416
74b21bee 304172009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30418
30419 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30420
30421 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30422 coding tool name.
30423
a455f472 304242009-02-22 Robert Millan <rmh@aybabtu.com>
30425
30426 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30427 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30428 in our relocation, instead of using it directly from heap. Also
30429 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30430
6374daf3 304312009-02-21 Robert Millan <rmh@aybabtu.com>
30432
30433 Implement USB keyboard support (based on patch by Marco Gerards)
30434
30435 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30436 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30437 (usb_keyboard_mod_LDFLAGS): New variables.
30438
30439 * term/usb_keyboard.c: New file.
30440
8fa4ea70 304412009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30442
30443 Corrected wrong declaration
30444
30445 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30446
353976ac 304472009-02-14 Christian Franke <franke@computer.org>
30448
30449 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30450 (grub_lspci_iter): Print class code and programming interface byte.
30451
6aa1169b 304522009-02-14 Christian Franke <franke@computer.org>
30453
30454 * gendistlist.sh: Ignore `.svn' directories.
30455
265372ca 304562009-02-14 Felix Zielcke <fzielcke@z-51.de>
30457
30458 * fs/fat.c: Add 2009 to Copyright line.
30459
9ff516f3 304602009-02-14 Christian Franke <franke@computer.org>
30461
30462 * commands/hdparm.c: New file. Provides `hdparm' command
30463 which sends ATA commands via grub_disk_ata_pass_through ().
30464
30465 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30466
30467 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30468 and <grub/cpu/io.h> to include/grub/ata.h.
30469 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30470 (GRUB_CDROM_SECTOR_SIZE): Remove.
30471 (GRUB_ATA_*): Move to include/grub/ata.h.
30472 (GRUB_ATAPI_*): Likewise.
30473 (enum grub_ata_commands): Likewise.
30474 (enum grub_ata_timeout_milliseconds): Likewise.
30475 (struct grub_ata_device): Likewise.
30476 (grub_ata_regset): Likewise.
30477 (grub_ata_regget): Likewise.
30478 (grub_ata_regset2): Likewise.
30479 (grub_ata_regget2): Likewise.
30480 (grub_ata_check_ready): Likewise.
30481 (grub_ata_wait_not_busy): Remove static, exported in
30482 include/grub/ata.h.
30483 (grub_ata_wait_drq): Likewise.
30484 (grub_ata_pio_read): Likewise.
30485
30486 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30487 function for hdparm.mod.
30488
30489 * include/grub/ata.h: New file, contains declarations from
30490 disk/ata.c.
30491 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30492
30493 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30494 (grub_disk_ata_pass_through): New exported variable.
30495
30496 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30497
772e23da 304982009-02-13 Colin D Bennett <colin@gibibit.com>
30499
30500 Support multiple fallback entries, and provide an API to support
30501 executing default+fallback menu entries. Renamed the `terminal' menu
30502 viewer to `text'.
30503
30504 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30505 variable declaration.
30506 (grub_menu_execute_callback): New structure declaration.
30507 (grub_menu_execute_callback_t): New typedef.
30508 (grub_menu_execute_with_fallback): New function declaration.
30509 (grub_menu_get_entry): Likewise.
30510 (grub_menu_get_timeout): Likewise.
30511 (grub_menu_set_timeout): Likewise.
30512
30513 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30514
30515 * normal/menu.c (grub_wait_after_message): Moved to
30516 `normal/menu_text.c'.
30517 (draw_border): Likewise.
30518 (print_message): Likewise.
30519 (print_entry): Likewise.
30520 (print_entries): Likewise.
30521 (grub_menu_init_page): Likewise.
30522 (get_entry_number): Likewise.
30523 (print_timeout): Likewise.
30524 (run_menu): Likewise.
30525 (grub_menu_execute_entry): Likewise.
30526 (show_text_menu): Likewise.
30527 (get_and_remove_first_entry_number): New function.
30528 (grub_menu_execute_with_fallback): Likewise.
30529 (get_entry): Renamed to ...
30530 (grub_menu_get_entry): .. this and made it global.
30531 (get_timeout): Renamed to ...
30532 (grub_menu_get_timeout): ... this and made it global.
30533 (set_timeout): Renamed to ...
30534 (grub_menu_set_timeout): ... this and made it global.
30535 (grub_normal_terminal_menu_viewer): Renamed to ...
30536 (grub_normal_text_menu_viewer): ... this.
30537
30538 * normal/menu_text.c: New file. Extracted text-menu-specific code
30539 from normal/menu.c.
30540
30541 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30542 (normal_mod_SOURCES): Likewise.
30543
30544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30545 (normal_mod_SOURCES): Likewise.
30546
30547 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30548 (normal_mod_SOURCES): Likewise.
30549
30550 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30551 (normal_mod_SOURCES): Likewise.
30552
30553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30554 (normal_mod_SOURCES): Likewise.
30555
30556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30557 (normal_mod_SOURCES): Likewise.
30558
30559 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30560 (normal_mod_SOURCES): Likewise.
30561
16ac430e 305622009-02-11 Robert Millan <rmh@aybabtu.com>
30563
30564 * util/grub.d/00_header.in: Update old reference to `font' command.
30565
06ff20fc 305662009-02-10 Felix Zielcke <fzielcke@z-51.de>
30567
30568 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30569
30570 Based on patch from Javier Martín.
30571
96da9407 305722009-02-09 Felix Zielcke <fzielcke@z-51.de>
30573
30574 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30575 to avoid false positives with FAT.
96da9407 30576 (grub_fstest_SOURCES): Likewise.
30577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30578 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30580 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30581 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30582 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30583
6dca6fe4 305842009-02-09 Felix Zielcke <fzielcke@z-51.de>
30585
06ff20fc 30586 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30587 bpb.version_specific.fat12_or_fat16.fstype and
30588 bpb.version_specific.fat32.fstype.
30589
2550c62f 305902009-02-08 Robert Millan <rmh@aybabtu.com>
30591
be110b30 30592 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30593
56978920 305942009-02-08 Robert Millan <rmh@aybabtu.com>
30595
30596 * Makefile.in (host_os, host_cpu): New variables.
30597 (target_os): Remove. Update all users.
30598
d64399b5 305992009-02-08 Marco Gerards <marco@gnu.org>
30600
30601 * Makefile.in (enable_grub_emu_usb): New variable.
30602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30603 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30604 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30605 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30606 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30607 `usbtest.mod' and `usbms.mod'.
30608 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30609 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30610 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30611 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30612 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30613 variables.
30614
30615 * disk/usbms.c: New file.
30616
30617 * include/grub/usb.h: Likewise.
30618
30619 * include/grub/usbtrans.h: Likewise.
30620
30621 * include/grub/usbdesc.h: Likewise.
30622
30623 * bus/usb/usbtrans.c: Likewise.
30624
30625 * bus/usb/ohci.c: Likewise.
30626
30627 * bus/usb/uhci.c: Likewise.
30628
30629 * bus/usb/usbhub.c: Likewise.
30630
30631 * bus/usb/usb.c: Likewise.
30632
30633 * commands/usbtest.c: Likewise.
30634
30635 * util/usb.c: Likewise.
50fb7002 30636
d64399b5 30637 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30638
30639 * configure.ac: Test for libusb presence.
50fb7002 30640
d64399b5 30641 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30642
2b40d6bb 306432009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30644
30645 * kern/mm.c: Add more comments.
30646
73a4ce81 306472009-02-08 Robert Millan <rmh@aybabtu.com>
30648
30649 Patch from Javier Martín.
30650 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30651 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30652
f821ce59 306532009-02-08 Robert Millan <rmh@aybabtu.com>
30654
30655 * fs/cpio.c: Split tar functionality to ...
30656 * fs/tar.c: ... here (new file). Update all users.
30657
aebfc4b0 306582009-02-07 Robert Millan <rmh@aybabtu.com>
30659
30660 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30661 backward-incompatible features.
30662
30663 Based on patch from Javier Martín, with some adjustments.
30664
50fb7002 306652009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30666
30667 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30668
0bb5115e 306692009-02-07 Robert Millan <rmh@aybabtu.com>
30670
30671 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30672 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30673 after the RAID stuff.
30674
38a0f8e7 306752009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30676
50fb7002 30677 Fixes problem when running vbetest command as reported by
38a0f8e7 30678 Vladimir Serbinenko <phcoder@gmail.com>.
30679
30680 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30681
3143cc1c 306822009-02-04 Felix Zielcke <fzielcke@z-51.de>
30683
30684 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30685 /dev/md/NpN style mdraid devices.
30686
9cba6fce 306872009-02-03 Felix Zielcke <fzielcke@z-51.de>
30688
30689 * util/unifont2pff.rb: Remove.
30690
e507a2c1 306912009-02-03 Felix Zielcke <fzielcke@z-51.de>
30692
30693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30694 `#'.
30695
d2c2b4cd 306962009-02-03 Felix Zielcke <fzielcke@z-51.de>
30697
30698 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30699 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30700 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30703 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30705
b4315fb0 307062009-02-02 Christian Franke <franke@computer.org>
30707
30708 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30709
de3aa260 307102009-02-01 Felix Zielcke <fzielcke@z-51.de>
30711
7c3ff286 30712 * INSTALL: Note that we now require at least autoconf 2.59 and
30713 that LZO is optional.
de3aa260 30714
825a182b 307152009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30716
30717 Base on patch on bug #24154 created by Tomas Tintera
30718 <trosos@seznam.cz>.
30719
30720 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30721
a69ef770 307222009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30723
7c3ff286 30724 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30725 <bero@arklinux.org>.
30726
30727 * normal/parser.y (script_init): Add missing semicolon.
30728
6fa42fa6 307292009-01-31 Colin D Bennett <colin@gibibit.com>
30730
7c3ff286 30731 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30732 (free_menu_entry_classes): Added.
30733 (grub_normal_menu_addentry): Added class property handling.
30734 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30735 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30736
30737 * normal/menu_viewer.c: New file.
30738
30739 * normal/menu.c (run_menu_entry): Renamed to ...
30740 (grub_menu_execute_entry): ... this and made it as global.
30741 (grub_menu_run): Renamed to ...
30742 (show_text_menu): ... this and made it local.
30743 (show_text_menu): Adapt to new function names.
30744 (grub_normal_terminal_menu_viewer): New global variable.
30745
30746 * include/grub/menu.h: New file.
30747
30748 * include/grub/menu_viewer.h: New file.
30749
30750 * include/grub/normal.h: Added include to grub/menu.h.
30751 (grub_menu_entry): Moved to include/grub/menu.h.
30752 (grub_menu_entry_t): Likewise.
30753 (grub_menu): Likewise.
30754 (grub_menu_t): Likewise.
30755 (grub_normal_terminal_menu_viewer): Added.
30756 (grub_menu_execute_entry): Likewise.
30757 (grub_menu_run): Removed.
30758
30759 * DISTLIST: Added include/grub/menu.h.
30760 Added include/grub/menu_viewer.h.
30761 Added normal/menu_viewer.c.
30762
307632009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30764
30765 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30766 arglist for menutitle arguments.
30767
30768 * normal/main.c (grub_normal_menu_addentry): Likewise.
30769
30770 * normal/parser.y (menuentry): Likewise.
30771
30772 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30773
30774 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30775 (grub_script_create_cmdmenu): Likewise.
30776
30777 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30778
30779 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30780 changes.
30781
30782 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30783
30784 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30785
30786 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30787
30788 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30789
30790 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30791
30792 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30793
56192c23 307942009-01-30 Christian Franke <franke@computer.org>
30795
30796 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30797 in option help text.
30798
d72521b3 307992009-01-27 Pavel Roskin <proski@gnu.org>
30800
30801 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30802
994b5e84 308032009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30804
30805 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30806
30807 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30808
30809 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30810 unregister function.
30811
6a7eab2c 308122009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30813
30814 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30815
30816 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30817
30818 * util/grub-mkfont.c (usage): Fix typo.
30819
30820 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30821
1806b56e 308222009-01-26 Daniel Mierswa <impulze@impulze.org>
30823
3fb18f09 30824 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30825
336e1fb9 30826 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30827
1806b56e 30828 * kern/misc.c (grub_strcasecmp): New function.
30829 (grub_strcasecmp): Use grub_size_t instead of int for length.
30830 Fix return value.
30831 * include/grub/misc.h: Update function prototypes.
30832
580b2a0f 308332009-01-26 Robert Millan <rmh@aybabtu.com>
30834
30835 * configure.ac: Fix cross-compilation check.
ef257b36 30836
d31c24f1 308372009-01-22 Christian Franke <franke@computer.org>
30838
30839 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30840 (precision) digit string. Allow `.format2' without `format1' (width).
30841 Limit input chars for `%s' output to `format2' if specified. This is
30842 compatible with standard printf ().
30843
3138b44c 308442009-01-22 Christian Franke <franke@computer.org>
30845
30846 * disk/ata.c (grub_ata_wait_status): Replace by ...
30847 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30848 other status bits may be invalid while BSY is asserted.
30849 (grub_ata_check_ready): New function.
30850 (grub_ata_cmd): Removed.
30851 (grub_ata_wait_drq): New function.
30852 (grub_ata_strncpy): Remove inline.
30853 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30854 and error check now done by grub_ata_wait_drq ().
30855 (grub_ata_pio_write): Likewise.
30856 (grub_atapi_identify): Set DEV before check for !BSY. Use
30857 grub_ata_wait_drq () to wait for data.
30858 (grub_ata_device_initialize): Add status register check to
30859 detect missing SATA slave devices. Add debug messages.
30860 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30861 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30862 transfer loop by grub_ata_pio_write ().
30863 (grub_ata_identify): Set DEV before check for !BSY. Use
30864 grub_ata_wait_drq () to wait for data.
ef257b36 30865 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30866 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30867 read/write in one loop. Fix invalid command on write. Fix incomplete
30868 command on (size % batch) == 0. Add missing error check after write of
30869 last block. Add debug messages.
30870 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30871
59a64ef6 308722009-01-19 Christian Franke <franke@computer.org>
30873
30874 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30875 (GRUB_ATAPI_IREASON_*): Likewise.
30876 (grub_ata_pio_write): Fix timeout error return.
30877 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30878 (grub_atapi_wait_drq): New function.
30879 (grub_atapi_packet): New parameter `size'.
30880 Use grub_atapi_wait_drq () and direct write instead of
30881 grub_ata_pio_write ().
30882 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30883 reads the number of bytes requested by the device for each DRQ
30884 assertion.
30885 (grub_atapi_write): Remove old implementation, return not
30886 implemented instead.
30887
1cfe20b3 308882009-01-19 Christian Franke <franke@computer.org>
30889
30890 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30891 of 512 to calculate data size.
30892 (grub_scsi_read12): Likewise.
30893 (grub_scsi_write10): Likewise.
30894 (grub_scsi_write12): Likewise.
30895 (grub_scsi_read): Adjust size according to blocksize.
30896 Add checks for invalid blocksize and unaligned transfer.
30897
bee5fe5d 308982009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30899
30900 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30901
ef257b36 30902 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30903 width glyphs.
30904
3e643f8c 309052009-01-19 Robert Millan <rmh@aybabtu.com>
30906
30907 * config.guess: Update to latest version from config git.
30908 * config.sub: Likewise.
30909
4fa80998 309102009-01-17 Felix Zielcke <fzielcke@z-51.de>
30911
30912 * Makefile.in: Change font compilation to use new grub-mkfont instead
30913 of java version.
30914
30915 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30916 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30917 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30918 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30919 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30920 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30921 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30922 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30923 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30924
7086085b 309252009-01-16 Christian Franke <franke@computer.org>
30926
30927 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30928 (enum grub_ata_timeout_milliseconds): New enum.
30929 (grub_ata_wait_status): Add parameter milliseconds.
30930 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30931 recovery from timed-out commands.
30932 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30933 return grub_errno instead of REG_ERROR.
30934 (grub_ata_pio_write): Add parameter milliseconds.
30935 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30936 Pass milliseconds to grub_ata_wait_status () and
30937 grub_ata_pio_read ().
30938 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30939 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30940 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30941 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30942 It is not suitable for device detection, because DEV bit is ignored,
30943 the command may run too long, and not all devices set the signature
30944 properly.
30945 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30946 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30947 Fix device selection, DEV bit must be set first to address the registers
30948 of the correct device.
30949 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30950 grub_ata_pio_read/write ().
30951 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30952 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30953
4a412913 309542009-01-13 Carles Pina i Estany <carles@pina.cat>
30955
30956 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30957
7795c55e 309582009-01-13 Bean <bean123ch@gmail.com>
d913988c 30959
30960 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30961
7795c55e 309622009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30963
30964 * Makefile.in: (enable_grub_mkfont): New variable.
30965 (freetype_cflags): Likewise.
30966 (freetype_libs): Likewise.
30967
30968 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30969 (grub_mkfont_SOURCES): New variable.
30970 (grub_mkfont_CFLAGS): Likewise.
30971 (grub_mkfont_LDFLAGS): Likewise.
30972
30973 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30974 library if `--enable-grub-mkfont' is requested.
30975 (enable_grub_mkfont): New variable.
30976 (freetype_cflags): Likewise.
30977 (freetype_libs): Likewise.
30978
30979 * util/grub-mkfont.c: New file.
30980
093af1fe 309812009-01-12 Christian Franke <franke@computer.org>
30982
30983 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30984 mode check. Fix setting of compat_use[].
30985
f36cc108 309862009-01-10 Robert Millan <rmh@aybabtu.com>
30987
30988 Update a few copyright years which we forgot to do in 2008 (only for
30989 files whose changes made in 2008 were copyright-significant)
30990
30991 * Makefile.in: Add 2008 to Copyright line.
30992 * disk/ieee1275/ofdisk.c: Likewise.
30993 * disk/efi/efidisk.c: Likewise.
30994 * kern/dl.c: Likewise.
30995 * kern/sparc64/ieee1275/init.c: Likewise.
30996 * kern/mm.c: Likewise.
30997 * kern/efi/mm.c: Likewise.
30998 * boot/i386/pc/boot.S: Likewise.
30999 * genfslist.sh: Likewise.
31000 * fs/iso9660.c: Likewise.
31001 * fs/hfs.c: Likewise.
31002 * fs/jfs.c: Likewise.
31003 * fs/minix.c: Likewise.
31004 * fs/ufs.c: Likewise.
31005 * gensymlist.sh.in: Likewise.
31006 * genkernsyms.sh.in: Likewise.
31007 * include/grub/misc.h: Likewise.
31008 * include/grub/types.h: Likewise.
31009 * include/grub/symbol.h: Likewise.
31010 * include/grub/elf.h: Likewise.
31011 * include/grub/kernel.h: Likewise.
31012 * include/grub/disk.h: Likewise.
31013 * include/grub/dl.h: Likewise.
31014 * include/grub/i386/linux.h: Likewise.
31015 * include/grub/i386/pc/biosdisk.h: Likewise.
31016 * include/grub/efi/api.h: Likewise.
31017 * include/grub/efi/pe32.h: Likewise.
31018 * include/grub/util/misc.h: Likewise.
31019 * normal/execute.c: Likewise.
31020 * normal/arg.c: Likewise.
31021 * normal/completion.c: Likewise.
31022 * normal/lexer.c: Likewise.
31023 * normal/parser.y: Likewise.
31024 * normal/misc.c: Likewise.
31025 * commands/i386/pc/vbeinfo.c: Likewise.
31026 * commands/hexdump.c: Likewise.
31027 * commands/terminal.c: Likewise.
31028 * commands/ls.c: Likewise.
31029 * commands/help.c: Likewise.
31030 * partmap/pc.c: Likewise.
31031 * loader/efi/chainloader.c: Likewise.
31032 * loader/multiboot_loader.c: Likewise.
31033 * loader/i386/pc/multiboot2.c: Likewise.
31034 * term/efi/console.c: Likewise.
31035 * term/i386/pc/serial.c: Likewise.
31036 * util/lvm.c: Likewise.
31037 * util/console.c: Likewise.
31038 * util/i386/efi/grub-mkimage.c: Likewise.
31039 * util/raid.c: Likewise.
31040
7f02114b 310412009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31042
31043 * commands/videotest.c: Removed include to grub/machine/memory.h.
31044
31045 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31046 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31047 (video_mod_SOURCES): Removed.
31048 (video_mod_CFLAGS): Likewise.
31049 (video_mod_LDFLAGS): Likewise.
31050 (gfxterm_mod_SOURCES): Likewise.
31051 (gfxterm_mod_CFLAGS): Likewise.
31052 (gfxterm_mod_LDFLAGS): Likewise.
31053 (videotest_mod_SOURCES): Likewise.
31054 (videotest_mod_CFLAGS): Likewise.
31055 (videotest_mod_LDFLAGS): Likewise.
31056 (bitmap_mod_SOURCES): Likewise.
31057 (bitmap_mod_CFLAGS): Likewise.
31058 (bitmap_mod_LDFLAGS): Likewise.
31059 (tga_mod_SOURCES): Likewise.
31060 (tga_mod_CFLAGS): Likewise.
31061 (tga_mod_LDFLAGS): Likewise.
31062 (jpeg_mod_SOURCES): Likewise.
31063 (jpeg_mod_CFLAGS): Likewise.
31064 (jpeg_mod_LDFLAGS): Likewise.
31065 (png_mod_SOURCES): Likewise.
31066 (png_mod_CFLAGS): Likewise.
31067 (png_mod_LDFLAGS): Likewise.
31068
31069 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31070 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31071 (video_mod_SOURCES): Added.
31072 (video_mod_CFLAGS): Likewise.
31073 (video_mod_LDFLAGS): Likewise.
31074 (videotest_mod_SOURCES): Likewise.
31075 (videotest_mod_CFLAGS): Likewise.
31076 (videotest_mod_LDFLAGS): Likewise.
31077 (bitmap_mod_SOURCES): Likewise.
31078 (bitmap_mod_CFLAGS): Likewise.
31079 (bitmap_mod_LDFLAGS): Likewise.
31080 (tga_mod_SOURCES): Likewise.
31081 (tga_mod_CFLAGS): Likewise.
31082 (tga_mod_LDFLAGS): Likewise.
31083 (jpeg_mod_SOURCES): Likewise.
31084 (jpeg_mod_CFLAGS): Likewise.
31085 (jpeg_mod_LDFLAGS): Likewise.
31086 (png_mod_SOURCES): Likewise.
31087 (png_mod_CFLAGS): Likewise.
31088 (png_mod_LDFLAGS): Likewise.
31089 (gfxterm_mod_SOURCES): Likewise.
31090 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31091 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31092
31093 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31094 grub/machine/console.h.
31095
644fff97 310962009-01-04 Jerone Young <jerone@gmail.com>
31097
31098 Make on screen instructions clearer
31099
31100 Based on patch created by Jidanni <jidanni@jidanni.org>
31101
31102 * normal/menu.c: print clearer instructions on the screen
31103
1e901a75 311042009-01-02 Colin D Bennett <colin@gibibit.com>
31105
31106 New font engine.
34c44600 31107
1e901a75 31108 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31109 build system and fixed gfxterm.c to work with different sized fonts.
31110
31111 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31112
1e901a75 31113 * configure: Re-generated.
34c44600 31114
1e901a75 31115 * DISTLIST: Removed font/manager.c.
31116 Added font/font.c.
31117 Added font/font_cmd.c.
34c44600 31118
1e901a75 31119 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31120 compilation.
34c44600 31121
1e901a75 31122 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31123
31124 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31125
31126 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31127
1e901a75 31128 * normal/menu.c: Likewise.
34c44600 31129
1e901a75 31130 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31131 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31132
1e901a75 31133 * include/grub/font.h: Replaced with new file.
34c44600 31134
1e901a75 31135 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31136 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31137 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31138 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31139 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31140 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31141 fg_red, fg_green, fg_blue, fg_alpha.
31142 (grub_video_adapter): Removed blit_glyph.
34c44600 31143 (grub_video_blit_glyph): Removed.
31144
1e901a75 31145 * font/manager.c: Removed file.
34c44600 31146
31147 * font/font.c: New file.
31148
1e901a75 31149 * font/font_cmd.c: Likewise.
34c44600 31150
1e901a75 31151 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31152
1e901a75 31153 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31154 (grub_video_vbe_map_rgba): Likewise.
31155 (grub_video_vbe_unmap_color_int): Likewise.
31156 (grub_video_vbe_blit_glyph): Removed.
31157 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31158
1e901a75 31159 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31160 (get_pixel): Likewise.
34c44600 31161 (set_pixel): Likewise.
31162
1e901a75 31163 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31164
1e901a75 31165 * term/gfxterm.c: Adapted to new font engine.
34c44600 31166
1e901a75 31167 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31168
1e901a75 31169 * term/i386/pc/vga.c: Likewise.
34c44600 31170
1e901a75 31171 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31172
1e901a75 31173 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31174
1e901a75 31175 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31176
1e901a75 31177 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31178
1e901a75 31179 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31180
1e901a75 31181 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31182
1e901a75 31183 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31184
1e901a75 31185 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31186
1e901a75 31187 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31188
31189 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31190
1e901a75 31191 * util/grub-mkconfig_lib.in: Changed font extension.
31192
278922e8 311932008-12-28 Felix Zielcke <fzielcke@z-51.de>
31194
31195 * util/getroot.c (grub_util_get_grub_dev): Add support for
31196 /dev/md/dNNpNN style partitionable mdraid devices.
31197
3ced05cf 311982008-12-12 Alex Smith <alex@alex-smith.me.uk>
31199
31200 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31201 at a time limit of the PXE TFTP API correctly.
31202 (grub_pxefs_close): Likewise.
31203
7fd0ee30 312042008-11-29 Robert Millan <rmh@aybabtu.com>
31205
34c44600 31206 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31207 grub_ata_device_initialize() calls.
31208
34c44600 312092008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31210
31211 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31212 iteration failed.
31213 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31214
89313780 312152008-11-28 Robert Millan <rmh@aybabtu.com>
31216
31217 Fix build on powerpc-ieee1275. Based on patch created by
31218 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31220 `kern/ieee1275/mmap.c'.
31221 * include/grub/powerpc/ieee1275/memory.h: New file.
31222
15257703 31223 Provide grub-install on coreboot.
31224 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31225 (grub_install_SOURCES): New variable.
31226 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31227 usable on coreboot.
31228
9fc5388a 312292008-11-25 Felix Zielcke <fzielcke@z-51.de>
31230
31231 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31232 to `grub_term_input_t'.
31233 (grub_term_get_current_output): Change return type to
31234 `grub_term_output_t'.
31235
bc3a2f31 312362008-11-22 Robert Millan <rmh@aybabtu.com>
31237
34c44600 31238 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31239 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31240 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31241 grub_vga_text_cls().
31242
80fc88f2 31243 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31244 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31245
cbf36fd3 31246 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31247 to 0x200000 (avoids trouble with some OFW implementations, and matches
31248 with the one in Yaboot).
31249 Reported by Manoel Abranches
31250
73e8e268 312512008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31252
31253 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31254 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31255
73e8e268 31256 * util/grub-mkconfig_lib.in (grub_warn): New function.
31257 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31258 warnings, to obtain consistent formatting.
31259 * util/grub.d/00_header.in: Likewise.
31260 * util/update-grub_lib.in: Likewise.
31261
e94045a1 31262 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31263 Move comment text to `#error' stanza.
e94045a1 31264
79d29fd7 31265 Harmonize ieee1275's grub_available_iterate() with the generic
31266 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31267 build problem on i386-ieee1275):
31268 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31269 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31270 parameter `type'. Update all users of this function.
31271 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31272 `kern/ieee1275/mmap.c'.
31273 * kern/ieee1275/init.c
31274 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31275 with ...
31276 (grub_machine_mmap_iterate): ... this.
31277 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31278 return type to `grub_err_t'. Update all implementations of this
31279 function prototype.
31280 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31281 Likewise.
31282
60d6b16e 31283 Add `lsmmap' command (lists firmware-provided memory map):
31284 * commands/lsmmap.c: New file.
31285 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31286 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31287 variables.
31288 * conf/powerpc-ieee1275.rmk: Likewise.
31289 * conf/i386-coreboot.rmk: Likewise.
31290 * conf/i386-ieee1275.rmk: Likewise.
31291
ebaaf49b 312922008-11-19 Robert Millan <rmh@aybabtu.com>
31293
31294 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31295 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31296 constraints to initrd allocation (based on code from
31297 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31298 for Linux to find it.
ebaaf49b 31299
dfab719f 313002008-11-14 Robert Millan <rmh@aybabtu.com>
31301
31302 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31303 order to cope with duplicate slashes.
31304
10fc3eb9 313052008-11-14 Robert Millan <rmh@aybabtu.com>
31306
31307 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31308 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31309 don't want to mess with lower memory, because it is used in the Linux
31310 loader.
31311
31312 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31313 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31314 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31315 is in our heap (probably as a result of it being corrupted during
2f2a3442 31316 decompression). Add #error instance with comment to explain why this
31317 loader isn't currently usable on PC/BIOS.
10fc3eb9 31318
e2e07847 313192008-11-14 Robert Millan <rmh@aybabtu.com>
31320
31321 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31322 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31323
fe8e8d69 313242008-11-12 Robert Millan <rmh@aybabtu.com>
31325
31326 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31327
31328 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31329 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31330 from here ...
31331 * include/grub/i386/pc/memory.h: ... to here.
31332
976b07d0 313332008-11-12 Robert Millan <rmh@aybabtu.com>
31334
31335 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31336 split).
31337
31338 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31339 (grub_console_cur_color, grub_console_real_putchar)
31340 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31341 (grub_console_setcolorstate, grub_console_setcolor)
31342 (grub_console_getcolor): Move from here ...
31343 * include/grub/i386/vga_common.h: ... to here (new file).
31344
31345 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31346 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31347 `<grub/i386/io.h>'.
31348 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31349 `<grub/i386/vga_common.h>'.
31350
76679cd3 313512008-11-12 Robert Millan <rmh@aybabtu.com>
31352
31353 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31354 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31355 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31356 variables.
31357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31358 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31359
31360 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31361 grub_console_init() with call to grub_vga_text_init().
31362 (grub_machine_fini): Replace call to
31363 grub_console_fini() with call to grub_vga_text_fini() and
31364 grub_at_keyboard_fini().
31365
31366 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31367 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31368 (grub_console_setcolorstate, grub_console_setcolor)
31369 (grub_console_getcolor): New function prototypes.
31370
31371 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31372 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31373 (grub_vga_text_setcursor): Static-ize.
31374 (grub_vga_text_term): New structure.
31375 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31376
31377 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31378 (grub_console_cur_color, grub_console_standard_color)
31379 (grub_console_normal_color, grub_console_highlight_color)
31380 (map_char, grub_console_putchar, grub_console_getcharwidth)
31381 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31382 (grub_console_getcolor): Move from here ...
31383 * term/i386/vga_common.c: ... to here (same function names).
31384
95b841d3 313852008-11-12 Robert Millan <rmh@aybabtu.com>
31386
31387 Use newly-added Multiboot support in coreboot.
31388
31389 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31390 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31391
31392 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31393 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31394 (codestart): Store the MBI in `startup_multiboot_info' when we're
31395 being loaded using Multiboot.
31396
31397 * kern/i386/coreboot/init.c (grub_machine_init): Move
31398 grub_at_keyboard_init() call to beginning of function (useful for
31399 debugging). Call grub_machine_mmap_init() before attempting to use
31400 grub_machine_mmap_iterate().
31401 (grub_lower_mem, grub_upper_mem): Move from here ...
31402 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31403 here (new file).
31404
31405 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31406 function prototype.
31407
761ca975 314082008-11-12 Robert Millan <rmh@aybabtu.com>
31409
31410 Fix a regression introduced by the at_keyboard.mod split. Because
31411 some terminals are default on some platforms and non-default on
31412 others, the first terminal being registered determines which is
31413 going to be default.
31414
31415 * kern/term.c (grub_term_register_input): If this is the first
31416 terminal being registered, set it as the current one.
31417 (grub_term_register_output): Likewise.
31418
31419 * term/efi/console.c (grub_console_init): Do not call
31420 grub_term_set_current_output() or grub_term_set_current_input().
31421 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31422 * term/i386/pc/console.c (grub_console_init): Likewise.
31423 (grub_console_fini): Do not call grub_term_set_current_input()
31424 (but leave grub_term_set_current_output() to restore text mode).
31425
6c529df7 314262008-11-10 Robert Millan <rmh@aybabtu.com>
31427
31428 * util/grub.d/00_header.in: Add backward compatibility check for
31429 versions of terminal.mod that don't understand `terminal_input' or
31430 `terminal_output'.
31431
132e4113 314322008-11-09 Robert Millan <rmh@aybabtu.com>
31433
31434 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31435 `terminal_input' / `terminal_output', not `terminal'.
31436
ac293d50 314372008-11-08 Robert Millan <rmh@aybabtu.com>
31438
31439 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31440 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31441
0025933a 314422008-11-08 Robert Millan <rmh@aybabtu.com>
31443
31444 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31445 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31446 members. Update all users.
31447 * util/console.c (grub_ncurses_term): Split in ...
31448 (grub_ncurses_term_input): ... this, and ...
31449 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31450 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31451
37c86336 314522008-11-08 Robert Millan <rmh@aybabtu.com>
31453
31454 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31455 (PKGDATA): Add $(pkgdata_SRCDIR).
31456 (pkglib_BUILDDIR): New variable.
31457 (pkgdata_SRCDIR): New variable.
31458 (build_env.mk): New target.
31459 (include_DATA): New variable.
31460 (install-local): Install $(include_DATA) files in $(includedir).
31461
b6c15a2d 314622008-11-07 Pavel Roskin <proski@gnu.org>
31463
d99d46f1 31464 * gendistlist.sh: Use C locale for sorting to ensure consistent
31465 output on all systems.
31466
b6c15a2d 31467 * util/grub.d/00_header.in: Remove incorrect space before
31468 "serial".
31469
c32ee8c9 314702008-11-07 Robert Millan <rmh@aybabtu.com>
31471
31472 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31473 per specification.
31474 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31475 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31476 (based on find_multi_boot1_header).
31477 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31478 using find_multi_boot2_header(), and abort if neither Multiboot or
31479 Multiboot headers were found.
31480
651c29b7 314812008-11-07 Robert Millan <rmh@aybabtu.com>
31482
31483 Modularize at_keyboard.mod:
31484
31485 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31486 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31487 (at_keyboard_mod_LDFLAGS): New variables.
31488
31489 Actual terminal split:
31490
31491 * include/grub/term.h (struct grub_term): Split in ...
31492 (struct grub_term_input): ... this, and ...
31493 (struct grub_term_output): ... this. Update all users.
31494 (grub_term_set_current): Split in ...
31495 (grub_term_set_current_input): ... this, and ...
31496 (grub_term_set_current_output): ... this.
31497 (grub_term_get_current): Split in ...
31498 (grub_term_get_current_input): ... this, and ...
31499 (grub_term_get_current_output): ... this.
31500 (grub_term_register): Split in ...
31501 (grub_term_register_input): ... this, and ...
31502 (grub_term_register_output): ... this.
31503 (grub_term_unregister): Split in ...
31504 (grub_term_unregister_input): ... this, and ...
31505 (grub_term_unregister_output): ... this.
31506 (grub_term_iterate): Split in ...
31507 (grub_term_iterate_input): ... this, and ...
31508 (grub_term_iterate_output): ... this.
31509
31510 * kern/term.c (grub_term_list): Split in ...
31511 (grub_term_list_input): ... this, and ...
31512 (grub_term_list_output): ... this. Update all users.
31513 (grub_cur_term): Split in ...
31514 (grub_cur_term_input): ... this, and ...
31515 (grub_cur_term_output): ... this. Update all users.
31516 (grub_term_set_current): Split in ...
31517 (grub_term_set_current_input): ... this, and ...
31518 (grub_term_set_current_output): ... this.
31519 (grub_term_get_current): Split in ...
31520 (grub_term_get_current_input): ... this, and ...
31521 (grub_term_get_current_output): ... this.
31522 (grub_term_register): Split in ...
31523 (grub_term_register_input): ... this, and ...
31524 (grub_term_register_output): ... this.
31525 (grub_term_unregister): Split in ...
31526 (grub_term_unregister_input): ... this, and ...
31527 (grub_term_unregister_output): ... this.
31528 (grub_term_iterate): Split in ...
31529 (grub_term_iterate_input): ... this, and ...
31530 (grub_term_iterate_output): ... this.
31531
31532 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31533 a check for input and one for output (and only attempt to get keys
31534 from user when input works).
31535
31536 * util/grub-probe.c (grub_term_get_current): Split in ...
31537 (grub_term_get_current_input): ... this, and ...
31538 (grub_term_get_current_output): ... this.
31539 * util/grub-fstest.c: Likewise.
31540 * util/i386/pc/grub-setup.c: Likewise.
31541 * util/grub-editenv.c: Likewise.
31542
31543 Portability adjustments:
31544
31545 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31546 `term/i386/pc/at_keyboard.c'.
31547 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31548 grub_keyboard_controller_init() (now handled by terminal .init).
31549 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31550 grub_at_keyboard_init().
31551 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31552 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31553 at_keyboard.mod via input terminal interface).
31554 * include/grub/i386/coreboot/console.h: Convert into a stub for
31555 `<grub/i386/pc/console.h>'.
31556
31557 Migrate full terminals to new API:
31558
31559 * term/efi/console.c (grub_console_term): Split into ...
31560 (grub_console_term_input): ... this, and ...
31561 (grub_console_term_output): ... this. Update all users.
31562 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31563 (grub_ofconsole_init): Split into ...
31564 (grub_ofconsole_init_input): ... this, and ...
31565 (grub_ofconsole_init_output): ... this.
31566 (grub_ofconsole_term): Split into ...
31567 (grub_ofconsole_term_input): ... this, and ...
31568 (grub_ofconsole_term_output): ... this. Update all users.
31569 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31570 (grub_serial_term_input): ... this, and ...
31571 (grub_serial_term_output): ... this. Update all users.
31572 * term/i386/pc/console.c (grub_console_term): Split into ...
31573 (grub_console_term_input): ... this, and ...
31574 (grub_console_term_output): ... this. Update all users.
31575 (grub_console_term_input): Only enable it on PC/BIOS platform.
31576 (grub_console_init): Remove grub_keyboard_controller_init() call.
31577
31578 Migrate input terminals to new API:
31579
31580 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31581 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31582 i386-specific anyway).
31583 (grub_console_checkkey): Rename to ...
31584 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31585 users.
31586 (grub_keyboard_controller_orig): New variable.
31587 (grub_console_getkey): Rename to ...
31588 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31589 users.
31590 (grub_keyboard_controller_init): Static-ize. Save original
31591 controller value so that it can be restored ...
31592 (grub_keyboard_controller_fini): ... here (new function).
31593 (grub_at_keyboard_term): New structure.
31594 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31595 functions.
31596
31597 Migrate output terminals to new API:
31598
31599 * term/i386/pc/vga.c (grub_vga_term): Change type to
31600 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31601 members. Update all users.
31602 * term/gfxterm.c (grub_video_term): Change type to
31603 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31604 members. Update all users.
31605 * include/grub/i386/pc/console.h (grub_console_checkkey)
31606 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31607 etc).
31608
31609 Migrate `terminal' command and userland tools to new API:
31610
31611 * commands/terminal.c (grub_cmd_terminal): Split into ...
31612 (grub_cmd_terminal_input): ... this, and ...
31613 (grub_cmd_terminal_output): ... this.
31614 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31615 `terminal_input' and `terminal_output'.
31616 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31617 `terminal_input' / `terminal_output' API.
31618 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31619 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31620 provided ${GRUB_TERMINAL}, convert it).
31621
96e5d876 316222008-11-04 Robert Millan <rmh@aybabtu.com>
31623
31624 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31625 for FreeBSD.
31626 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31627
556f3775 316282008-11-03 Bean <bean123ch@gmail.com>
31629
31630 * kern/elf.c (grub_elf32_load): Revert to previous code.
31631 (grub_elf64_load): Likewise.
31632
31633 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31634
926b9823 316352008-11-01 Robert Millan <rmh@aybabtu.com>
31636
31637 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31638 (TARGET_CPPFLAGS): Likewise.
31639 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31640
1432e958 316412008-11-01 Carles Pina i Estany <carles@pina.cat>
31642
31643 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31644
dba3f844 316452008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31646
31647 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31648 addition of objects until the code is not going to be able to fail.
31649
dba3f844 316502008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31651
31652 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31653 (add a missing NULL check, and correct them by moving the pointer
31654 operations after the actual check).
31655
7ab28c21 316562008-10-29 Robert Millan <rmh@aybabtu.com>
31657
31658 * util/i386/pc/grub-install.in: Handle empty string as output from
31659 make_system_path_relative_to_its_root().
31660
1b7748eb 316612008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31662
31663 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31664 circular metadata worst case scenario. If the metadata is circular
31665 then copy the wrap in place.
31666 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31667 project lib/format_text/layout.h
31668 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31669
c9618ab2 316702008-10-03 Felix Zielcke <fzielcke@z-51.de>
31671
7a36edca 31672 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31673
bf981c62 316742008-10-03 Felix Zielcke <fzielcke@z-51.de>
31675
31676 * util/update-grub_lib.in: Mention filename in warning message.
31677
6d994591 316782008-09-29 Felix Zielcke <fzielcke@z-51.de>
31679
31680 * NEWS: Update for rename of update-grub to grub-mkconfig.
31681
18ade780 316822008-09-29 Felix Zielcke <fzielcke@z-51.de>
31683
31684 * util/update-grub_lib.in: Copy to ...
31685 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31686 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31687 * util/update-grub.in: Rename to ...
31688 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31689 option. Add `--output' option to allow users to specify the generated
31690 configuration file. Default to stdout.
31691 (update_grub_dir): Rename to ...
31692 (grub_mkconfig_dir): ... this.
31693 (grub_cfg): Default to an empty string.
31694 * conf/common.rmk (update-grub): Rename to ...
31695 (grub-mkconfig): ... this.
31696 (update-grub_lib): Copy to ...
31697 (grub-mkconfig_lib): ... this.
31698 (update-grub_SCRIPTS): Copy to ...
31699 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31700 (update-grub_DATA): Rename to ...
31701 (grub-mkconfig_DATA): ... this.
31702
556ce6ac 317032008-09-28 Robert Millan <rmh@aybabtu.com>
31704
31705 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31706 to `modified'. Add the real `created' field.
31707 (grub_iso9660_uuid): Use `modified' rather than `created' for
31708 constructing the UUID.
31709
317102008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31711
31712 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31713 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31714
92274e85 317152008-09-28 Bean <bean123ch@gmail.com>
31716
31717 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31718 Thanks to Christian Franke for finding this bug.
31719
add6f17a 317202008-09-25 Robert Millan <rmh@aybabtu.com>
31721
31722 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31723 instances of grub_util_get_disk_name() (see previous commit).
31724
d2a367b8 317252008-09-25 Robert Millan <rmh@aybabtu.com>
31726
31727 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31728 `util/i386/get_disk_name.c'.
31729 * conf/i386-efi.rmk: Likewise.
31730 * conf/x86_64-efi.rmk: Likewise.
31731 * conf/i386-coreboot.rmk: Likewise.
31732 * conf/i386-ieee1275.rmk: Likewise.
31733 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31734 `util/ieee1275/get_disk_name.c'.
31735 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31736 * util/ieee1275/get_disk_name.c: Remove file.
31737 * util/i386/get_disk_name.c: Remove file.
31738 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31739 "hd%d" for device.map entries, rather than using
31740 grub_util_get_disk_name().
31741
81a06771 317422008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31743
31744 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31745 warning.
31746 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31747
5a004279 317482008-09-24 Carles Pina i Estany <carles@pina.cat>
31749
31750 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31751 Changed to 0x5100.
31752 (GRUB_TERM_PPAGE): Changed to 0x4900.
31753
397093d3 317542008-09-24 Robert Millan <rmh@aybabtu.com>
31755
31756 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31757 macros (they were i386-pc specific).
31758 * include/grub/sparc64/ieee1275/console.h: Likewise.
31759 * include/grub/efi/console.h: Likewise.
31760
a91b6c7c 317612008-09-22 Bean <bean123ch@gmail.com>
31762
31763 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31764 resident and in attribute list.
31765
31766 * include/grub/ntfs.h (BMP_LEN): Removed.
31767
c40fd116 317682008-09-22 Bean <bean123ch@gmail.com>
31769
81a06771 31770 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31771 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31772
31773 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31774 error occurs, as grub_disk_open will call grub_disk_close, which will
31775 call p->close (scsi).
31776
81a06771 317772008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31778
31779 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31780 (AC_PREREQ): Bumped to 2.59.
31781 (AC_TRY_COMPILE): Replace obsolete macro with ...
31782 (AC_COMPILE_IFELSE): ... this.
31783 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31784 (AC_LINK_IFELSE): ... this.
31785
5dc43410 317862008-09-21 Felix Zielcke <fzielcke@z-51.de>
31787
31788 * autogen.sh: Add a call to `gendistlist.sh'.
31789
9035dce4 317902008-09-19 Christian Franke <franke@computer.org>
31791
31792 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31793 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31794 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31795 Export __enable_execute_stack() to modules.
31796 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31797 New function.
31798
7fd75377 317992008-09-09 Felix Zielcke <fzielcke@z-51.de>
31800
040030b3 31801 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31802 Sort the list.
31803
318042008-09-09 Felix Zielcke <fzielcke@z-51.de>
31805
31806 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31807 #include <grub/util/hostdisk.h>.
31808
89d5ffcf 318092008-09-08 Robert Millan <rmh@aybabtu.com>
31810
31811 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31812 segments when their filesz is zero (grub_file_read() interprets
81a06771 31813 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31814 Use `lowest_segment' rather than 0 for calculating the current
31815 segment load address.
31816
40da438f 318172008-09-08 Robert Millan <rmh@aybabtu.com>
31818
31819 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31820 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31821 clobbered useful information.
31822
ddbf5556 318232008-09-08 Robert Millan <rmh@aybabtu.com>
31824
31825 * include/grub/util/biosdisk.h: Move to ...
31826 * include/grub/util/hostdisk.h: ... here. Update all users.
31827 * util/biosdisk.c: Move to ...
31828 * util/hostdisk.c: ... here. Update all users.
31829
783d0f48 318302008-09-07 Robert Millan <rmh@aybabtu.com>
31831
31832 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31833 variables.
31834 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31835 and length can be stored directly in the `mbi->mmap_addr' and
31836 `mbi->mmap_length' struct fields.
31837
548e2ea5 318382008-09-07 Robert Millan <rmh@aybabtu.com>
31839
31840 * conf/i386.rmk: New file. Provides declaration for building
31841 `cpuid.mod'.
31842 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31843 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31844 variables.
31845 Include `conf/i386.mk'.
31846 * conf/i386-efi.rmk: Likewise.
31847 * conf/x86_64-efi.rmk: Likewise.
31848 * conf/i386-coreboot.rmk: Likewise.
31849 * conf/i386-ieee1275.rmk: Likewise.
31850
0ea85a37 318512008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31852
31853 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31854 Adds optimization support for BGR based modes.
31855
31856 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31857 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31858 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31859 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31860 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31861 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31862 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31863 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31864 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31865 (grub_video_i386_vbeblit_index_index): Likewise.
31866 (grub_video_i386_vbeblit_replace_directN): Added.
31867 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31868 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31869 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31870 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31871 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31872 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31873 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31874 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31875 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31876 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31877 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31878 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31879 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31880
31881 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31882 (grub_video_i386_vbefill_R8G8B8): Likewise.
31883 (grub_video_i386_vbefill_index): Likewise.
31884 (grub_video_i386_vbefill_direct32): Added.
31885 (grub_video_i386_vbefill_direct24): Likewise.
31886 (grub_video_i386_vbefill_direct16): Likewise.
31887 (grub_video_i386_vbefill_direct8): Likewise.
31888
81a06771 31889 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31890 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31891 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31892 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31893 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31894 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31895
0ea85a37 31896 * video/video.c (grub_video_get_blit_format): Updated to use new
31897 blit formats. Added handling for 16 bit color modes.
81a06771 31898
31899 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31900 fillers.
31901 (common_blitter): Updated to use new blitters.
31902
31903 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31904 Removed.
31905 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31906 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31907 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31908 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31909 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31910 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31911 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31912 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31913 (grub_video_i386_vbeblit_index_index): Likewise.
31914 (grub_video_i386_vbeblit_replace_directN): Added.
31915 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31916 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31917 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31918 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31919 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31920 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31921 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31922 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31923 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31924 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31925 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31926 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31927 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31928
0ea85a37 31929 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31930 (grub_video_i386_vbefill_R8G8B8): Likewise.
31931 (grub_video_i386_vbefill_index): Likewise.
31932 (grub_video_i386_vbefill_direct32): Added.
31933 (grub_video_i386_vbefill_direct24): Likewise.
31934 (grub_video_i386_vbefill_direct16): Likewise.
31935 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31936
0ea85a37 31937 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31938 types.
81a06771 31939
0ea85a37 31940 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31941 types.
81a06771 31942
0ea85a37 31943 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31944 blitter types.
81a06771 31945
0ea85a37 31946 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31947 types.
31948
e8a83df6 319492008-09-06 Felix Zielcke <fzielcke@z-51.de>
31950
31951 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31952 RAID level 1.
31953
6bcd8ee5 319542008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31955
6bcd8ee5 31956 * fs/iso9660.c (grub_iso9660_date): New structure.
31957 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31958 (grub_iso9660_uuid): New function.
c375ae58 31959
59261157 319602008-09-05 Bean <bean123ch@gmail.com>
31961
31962 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31963
31964 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31965 insensitive bit for names in Win32 and Win32 & DOS namespace.
31966
31967 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31968
31969 * include/grub/types.h (LONG_MAX): Likewise.
31970
58b6645a 319712008-09-04 Felix Zielcke <fzielcke@z-51.de>
31972
4ee55921 31973 * util/getroot.c: Include <config.h>.
31974 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31975 add support for /dev/md/N devices and handle LVM double dash escaping.
31976
319772008-09-04 Felix Zielcke <fzielcke@z-51.de>
31978
31979 * config.guess: Update to latest version from config git.
31980 * config.sub: Likewise.
58b6645a 31981
9124f65d 319822008-09-03 Robert Millan <rmh@aybabtu.com>
31983
31984 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31985 `disk->total_sectors'.
31986
81a06771 319872008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31988
31989 * include/grub/normal.h: Fixed incorrect comment for
31990 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31991
81a06771 319922008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31993
31994 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31995 values with defines.
31996
31997 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31998 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31999 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32000 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32001 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32002 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32003 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32004 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32005 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32006 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32007 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32008 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32009 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32010 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32011 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32012 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32013 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32014 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32015 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32016
93d5cbf8 320172008-08-31 Robert Millan <rmh@aybabtu.com>
32018
32019 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32020 declaration.
32021 (grub_multiboot): Fix a few warnings.
32022
21751d50 320232008-08-31 Robert Millan <rmh@aybabtu.com>
32024
32025 * loader/i386/pc/multiboot.c: Update comment not to say that
32026 boot_device support is unimplemented.
32027
e27a75c5 320282008-08-31 Robert Millan <rmh@aybabtu.com>
32029
32030 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32031 or memory map support are unimplemented.
32032
81a06771 320332008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32034
32035 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32036
81a06771 320372008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32038
32039 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32040 total video memory in 'vbeinfo' output; show color format details for
32041 each video mode.
32042
7c5d8d95 320432008-08-30 Pavel Roskin <proski@gnu.org>
32044
32045 * util/genmoddep.c: Remove for real this time.
32046 * DISTLIST: Remove util/genmoddep.c.
32047
4cebd25a 320482008-08-30 Robert Millan <rmh@aybabtu.com>
32049
32050 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32051 as required by Multiboot spec (it was already 4-byte aligned, but
32052 only by chance).
32053
b497a269 320542008-08-29 Pavel Roskin <proski@gnu.org>
32055
e3925185 32056 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32057 * kern/powerpc/ieee1275/startup.S: ... this.
32058 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32059 * DISTLIST: Likewise.
32060
b497a269 32061 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32062 grub/cpu/kernel.h. Add start label for consistency with other
32063 platforms. Add grub_prefix immediately after start. Add jump
32064 to the code after grub_prefix.
32065 * include/grub/powerpc/kernel.h: Provide valid values for
32066 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32067
6e5a42fe 320682008-08-29 Bean <bean123ch@gmail.com>
32069
32070 * configure.ac: Change host_os to cygwin for mingw.
32071 (asprintf): New check for function.
32072
32073 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32074 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32075
32076 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32077 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32078 sync, sleep and grub_util_get_disk_size for mingw.
32079
32080 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32081 to get size in mingw.
32082 (open_device): Use flag O_BINARY if it's defined.
32083 (find_root_device): Add dummy code for mingw.
32084
32085 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32086 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32087 (get_scsi_disk_name): Return 0 for mingw.
32088
32089 * util/hostfs.c: #include <grub/util/misc.h>.
32090 (grub_hostfs_open): Use "rb" flag to open file, use
32091 grub_util_get_disk_size to get disk size for mingw.
32092
32093 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32094 (asprintf): New function if HAVE_ASPRINTF is not set.
32095 (sync): New function for mingw.
32096 (sleep): Likewise.
32097 (grub_util_get_disk_size): Likewise.
32098
ab3f2673 320992008-08-28 Pavel Roskin <proski@gnu.org>
32100
32101 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32102 kern/time.c.
32103
1c282483 321042008-08-28 Robert Millan <rmh@aybabtu.com>
32105
32106 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32107
678e849c 321082008-08-28 Robert Millan <rmh@aybabtu.com>
32109
32110 Change find_grub_drive() syntax so it doesn't prevent it from
32111 detecting NULL names as errors.
32112
32113 * util/biosdisk.c (find_grub_drive): Move free slot search code
32114 from here ...
32115 (find_free_slot): ... to here.
32116 (read_device_map): Use find_free_slot() to search for free slots.
32117
965c75ca 321182008-08-27 Marco Gerards <marco@gnu.org>
32119
32120 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32121 (scsi_mod_SOURCES): New variable.
32122 (scsi_mod_CFLAGS): Likewise
32123 (scsi_mod_LDFLAGS): Likewise.
32124
32125 * disk/scsi.c: New file.
32126
32127 * include/grub/scsi.h: Likewise.
32128
32129 * include/grub/scsicmd.h: Likewise.
32130
32131 * disk/ata.c: Include <grub/scsi.h>.
32132 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32133 instead.
32134 (grub_ata_iterate): Skip ATAPI devices.
32135 (grub_ata_open): Only handle ATAPI devices.
32136 (struct grub_atapi_read): Removed.
32137 (grub_atapi_readsector): Likewise.
32138 (grub_ata_read): No longer handle ATAPI devices.
32139 (grub_ata_write): Likewise.
32140 (grub_atapi_iterate): New function.
32141 (grub_atapi_read): Likewise.
32142 (grub_atapi_write): Likewise.
32143 (grub_atapi_open): Likewise.
32144 (grub_atapi_close): Likewise.
32145 (grub_atapi_dev): New variable.
32146 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32147 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32148
32149 * include/grub/disk.h (enum grub_disk_dev_id): Add
32150 `GRUB_DISK_DEVICE_SCSI_ID'.
32151
c07ae501 321522008-08-26 Robert Millan <rmh@aybabtu.com>
32153
32154 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32155 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32156 descriptive.
32157
5ed20adc 321582008-08-23 Bean <bean123ch@gmail.com>
32159
32160 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32161 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32162 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32163 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32164 dm_nv.mod.
32165 (raid5rec_mod_SOURCES): New macro.
32166 (raid5rec_mod_CFLAGS): Likewise.
32167 (raid5rec_mod_LDFLAGS): Likewise.
32168 (raid6rec_mod_SOURCES): Likewise.
32169 (raid6rec_mod_CFLAGS): Likewise.
32170 (raid6rec_mod_LDFLAGS): Likewise.
32171 (mdraid_mod_SOURCES): Likewise.
32172 (mdraid_mod_CFLAGS): Likewise.
32173 (mdraid_mod_LDFLAGS): Likewise.
32174 (dm_nv_mod_SOURCES): Likewise.
32175 (dm_nv_mod_CFLAGS): Likewise.
32176 (dm_nv_mod_LDFLAGS): Likewise.
32177
32178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32179 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32180 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32181
32182 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32183 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32184
32185 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32186
32187 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32188
32189 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32190
32191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32192
32193 * disk/raid5_recover.c: New file.
32194
32195 * disk/raid6_recover.c: Likewise.
32196
32197 * disk/mdraid_linux.c: Likewise.
32198
32199 * disk/dmraid_nvidia.c: Likewise.
32200
32201 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32202 ULONG_MAX.
32203
32204 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32205 calculate the size of raid device.
32206 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32207 different layout of raid5.
32208 (grub_raid_scan_device): Remove code specific to mdraid.
32209 (grub_raid_list): New variable.
32210 (free_array): New function.
32211 (grub_raid_register): Likewise.
32212 (grub_raid_unregister): Likewise.
32213 (grub_raid_rescan): Likewise.
32214 (GRUB_MOD_INIT): Don't iterate device here.
32215 (GRUB_MOD_FINI): Use free_array to release resource.
32216
32217 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32218 (grub_raid5_recover_func_t): New function variable type.
32219 (grub_raid6_recover_func_t): Likewise.
32220 (grub_raid5_recover_func): New variable.
32221 (grub_raid6_recover_func): Likewise.
32222 (grub_raid_register): New function.
32223 (grub_raid_unregister): Likewise.
32224 (grub_raid_rescan): Likewise.
32225 (grub_raid_block_xor): Likewise.
32226
32227 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32228 (CMD_CRC): New macro.
32229 (part): Removed.
32230 (read_file): Handle device as well as file.
32231 (cmd_crc): New function.
32232 (fstest): Handle multiple disks.
32233 (options): Remove part, raw and long, add root and diskcount.
32234 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32235 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32236 add handling for the new options, support multiple disks.
32237
32238 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32239
29c18915 322402008-08-23 Bean <bean123ch@gmail.com>
32241
32242 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32243
32244 * genfslist.sh: Ignore kernel.mod.
32245
32246 * genpartmaplist.sh: Likewise.
32247
8415f261 322482008-08-23 Robert Millan <rmh@aybabtu.com>
32249
32250 * util/getroot.c (find_root_device): Skip anything that starts with
32251 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32252
d5a7dc5b 322532008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32254
d5a7dc5b 32255 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32256 * util/grub.d/00_header.in: Allow the administrator to change default
32257 gfxmode via ${GRUB_GFXMODE}.
32258
380cfbb4 322592008-08-21 Felix Zielcke <fzielcke@z-51.de>
32260
32261 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32262
c9baafe7 322632008-08-21 Robert Millan <rmh@aybabtu.com>
32264
32265 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32266 loader.
32267 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32268 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32269
e290bef2 322702008-08-20 Carles Pina i Estany <carles@pina.cat>
32271
32272 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32273 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32274
f9dbfc96 322752008-08-19 Robert Millan <rmh@aybabtu.com>
32276
32277 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32278 (struct grub_virtual_screen): Remove `cursor_color'.
32279 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32280 initialization.
32281 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32282
dd6bd6ab 322832008-08-18 Robert Millan <rmh@aybabtu.com>
32284
32285 Unify (identical) linux_normal.c files.
32286 * loader/i386/efi/linux_normal.c: Move from here ...
32287 * loader/linux_normal.c: ... to here. Update all users.
32288 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32289 * loader/i386/ieee1275/linux_normal.c: Likewise.
32290
7f42f83e 322912008-08-18 Robert Millan <rmh@aybabtu.com>
32292
32293 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32294 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32295 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32296 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32297 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32298 New macros.
32299 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32300 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32301 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32302 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32303 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32304 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32305 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32306 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32307 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32308 portably using grub_getxy().
32309 Replace `-EFI' with `-bzImage' in boot message.
32310
38487ddb 323112008-08-17 Robert Millan <rmh@aybabtu.com>
32312
32313 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32314
deceb3ec 323152008-08-17 Robert Millan <rmh@aybabtu.com>
32316
32317 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32318
32319 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32320 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32321 (grub_machine_mmap_iterate): New function declaration.
32322 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32323 structure.
32324 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32325 macros.
32326
32327 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32328 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32329 Move e820 parsing from here ...
32330 * kern/i386/pc/mmap.c: New file.
32331 (grub_machine_mmap_iterate): ... to here.
32332
32333 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32334 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32335 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32336 (grub_available_iterate): Redeclare to return `void', and redeclare
32337 its hook to use grub_uint64_t as addr and size parameters, and rename
32338 to ...
32339 (grub_machine_mmap_iterate): ... this. Update all users.
32340
32341 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32342 to make it more readable. Rename to ...
32343 (grub_machine_mmap_iterate): ... this.
32344
32345 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32346 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32347 (grub_multiboot): Allocate an extra region after the payload, and fill
32348 it with a Multiboot memory map. Adjust a.out loader to calculate size
32349 with the extra space.
32350 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32351 with the extra space.
32352
f8aa0f43 323532008-08-17 Carles Pina i Estany <carles@pina.cat>
32354
9807deb9 32355 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32356
605f5bb6 323572008-08-17 Felix Zielcke <fzielcke@z-51.de>
32358
32359 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32360 mdate-sh to the list `find' searches for.
32361 * DISTLIST: Regenerated.
32362
210db6c6 323632008-08-16 Felix Zielcke <fzielcke@z-51.de>
32364
32365 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32366 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32367 genmoddep.awk, gensymlist.sh.in.
32368 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32369 * DISTLIST: Regenerated.
48cdbfd4 32370 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32371
1082b929 323722008-08-16 Robert Millan <rmh@aybabtu.com>
32373
32374 * disk/raid.c (grub_raid_init): Handle/report errors set by
32375 grub_device_iterate().
32376 * disk/lvm.c (grub_lvm_init): Likewise.
32377
42ce5170 323782008-08-15 Bean <bean123ch@gmail.com>
32379
32380 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32381 and datehook.mod.
32382 (datetime_mod_SOURCES): New macro.
32383 (datetime_mod_CFLAGS): Likewise.
32384 (datetime_mod_LDFLAGS): Likewise.
32385 (date_mod_SOURCES): Likewise.
32386 (date_mod_CFLAGS): Likewise.
32387 (date_mod_LDFLAGS): Likewise.
32388 (datehook_mod_SOURCES): Likewise.
32389 (datehook_mod_CFLAGS): Likewise.
32390 (datehook_mod_LDFLAGS): Likewise.
32391
32392 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32393 and datehook.mod.
32394 (datetime_mod_SOURCES): New macro.
32395 (datetime_mod_CFLAGS): Likewise.
32396 (datetime_mod_LDFLAGS): Likewise.
32397 (date_mod_SOURCES): Likewise.
32398 (date_mod_CFLAGS): Likewise.
32399 (date_mod_LDFLAGS): Likewise.
32400 (datehook_mod_SOURCES): Likewise.
32401 (datehook_mod_CFLAGS): Likewise.
32402 (datehook_mod_LDFLAGS): Likewise.
32403
32404 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32405 and datehook.mod.
32406 (datetime_mod_SOURCES): New macro.
32407 (datetime_mod_CFLAGS): Likewise.
32408 (datetime_mod_LDFLAGS): Likewise.
32409 (date_mod_SOURCES): Likewise.
32410 (date_mod_CFLAGS): Likewise.
32411 (date_mod_LDFLAGS): Likewise.
32412 (datehook_mod_SOURCES): Likewise.
32413 (datehook_mod_CFLAGS): Likewise.
32414 (datehook_mod_LDFLAGS): Likewise.
32415
32416 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32417 and datehook.mod.
32418 (datetime_mod_SOURCES): New macro.
32419 (datetime_mod_CFLAGS): Likewise.
32420 (datetime_mod_LDFLAGS): Likewise.
32421 (date_mod_SOURCES): Likewise.
32422 (date_mod_CFLAGS): Likewise.
32423 (date_mod_LDFLAGS): Likewise.
32424 (datehook_mod_SOURCES): Likewise.
32425 (datehook_mod_CFLAGS): Likewise.
32426 (datehook_mod_LDFLAGS): Likewise.
32427
32428 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32429 and datehook.mod.
32430 (datetime_mod_SOURCES): New macro.
32431 (datetime_mod_CFLAGS): Likewise.
32432 (datetime_mod_LDFLAGS): Likewise.
32433 (date_mod_SOURCES): Likewise.
32434 (date_mod_CFLAGS): Likewise.
32435 (date_mod_LDFLAGS): Likewise.
32436 (datehook_mod_SOURCES): Likewise.
32437 (datehook_mod_CFLAGS): Likewise.
32438 (datehook_mod_LDFLAGS): Likewise.
32439
32440 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32441
32442 * commands/date.c: New file.
32443
32444 * hook/datehook.c: Likewise.
32445
32446 * include/grub/lib/datetime.h: Likewise.
32447
32448 * include/grub/i386/cmos.h: Likewise.
32449
32450 * lib/datetime.c: Likewise.
32451
32452 * lib/i386/datetime.c: Likewise.
32453
32454 * lib/efi/datetime.c: Likewise.
32455
0e9242da 324562008-08-14 Robert Millan <rmh@aybabtu.com>
32457
32458 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32459 (grub_mkelfimage_SOURCES): New variable.
32460 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32461
32462 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32463 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32464 * conf/powerpc-ieee1275.rmk: Likewise.
32465 * conf/i386-ieee1275.rmk: Likewise.
32466
32467 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32468 * kern/i386/coreboot/init.c: Likewise.
32469
32470 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32471 with `<grub/cpu/kernel.h>'.
32472 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32473 to ...
32474 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32475 * kern/i386/coreboot/startup.S: Likewise.
32476
32477 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32478 (GRUB_MOD_GAP): Remove.
32479 * include/grub/powerpc/kernel.h: New file.
32480 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32481 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32482 * include/grub/i386/kernel.h: New file.
32483 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32484 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32485 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32486
32487 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32488 `grub-mkelfimage'.
32489 Use --directory when invoking grub_mkimage.
32490
32491 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32492 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32493 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32494 and GRUB_KERNEL_CPU_PREFIX.
32495
b86408f8 324962008-08-14 Felix Zielcke <fzielcke@z-51.de>
32497
d5e619ca 32498 * include/grub/err.h (grub_err_printf): New function prototype.
32499 * util/misc.c (grub_err_printf): New function.
32500 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32501 grub_printf.
32502 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32503
7161f0e0 325042008-08-13 Robert Millan <rmh@aybabtu.com>
32505
32506 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32507
a1967522 325082008-08-13 Robert Millan <rmh@aybabtu.com>
32509
32510 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32511 boot entry.
32512
371458b5 325132008-08-12 Robert Millan <rmh@aybabtu.com>
32514
32515 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32516 of the relocation code from here ...
32517 (grub_multiboot): ... to here.
32518 (forward_relocator, backward_relocator): Move from here ...
32519 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32520 (grub_multiboot_backward_relocator): ... to here.
32521 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32522 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32523 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32524 (grub_multiboot_forward_relocator_end)
32525 (grub_multiboot_backward_relocator)
32526 (grub_multiboot_backward_relocator_end): New variables.
32527
05f9452b 325282008-08-12 Bean <bean123ch@gmail.com>
32529
32530 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32531
20024ab0 325322008-08-11 Robert Millan <rmh@aybabtu.com>
32533
32534 * kern/i386/linuxbios/startup.S: Move from here ...
32535 * kern/i386/coreboot/startup.S: ... to here.
32536
32537 * kern/i386/linuxbios/init.c: Move from here ...
32538 * kern/i386/coreboot/init.c: ... to here.
32539
32540 * kern/i386/linuxbios/table.c: Move from here ...
32541 * kern/i386/coreboot/mmap.c: ... to here.
32542
32543 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32544
e352e9cd 325452008-08-11 Robert Millan <rmh@aybabtu.com>
32546
32547 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32548 errors. Leave it to the upper layer to handle them.
32549
2d05bc6a 325502008-08-09 Christian Franke <franke@computer.org>
32551
32552 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32553 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32554 Install `grub.d/10_windows' only on Cygwin.
32555 * configure.ac: Add subst of `target_os'.
32556 Check `target_os' also before setting TARGET_OBJ2ELF.
32557 Add `--enable-grub-pe2elf'.
32558
042bd419 325592008-08-08 Robert Millan <rmh@aybabtu.com>
32560
32561 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32562 (grub_last_time): Change type to grub_uint64_t.
32563 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32564 (grub_disk_close): Likewise.
32565
32566 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32567 (run_menu): Migrate code from to using grub_get_time_ms().
32568
32569 * util/misc.c (grub_get_time_ms): New function.
32570
7f280db5 325712008-08-08 Marco Gerards <marco@gnu.org>
32572
32573 * disk/ata.c (grub_ata_regget): Change return type to
32574 `grub_uint8_t'.
32575 (grub_ata_regget2): Likewise.
32576 (grub_ata_wait_status): New function.
32577 (grub_ata_wait_busy): Removed function, updated all users to use
32578 `grub_ata_wait_status'.
32579 (grub_ata_wait_drq): Likewise.
32580 (grub_ata_cmd): New function.
32581 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32582 error handling.
32583 (grub_ata_pio_write): Add error handling.
32584 (grub_atapi_identify): Likewise.
32585 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32586 handling.
32587 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32588 handling. Actually use the detected registers. Reorder the
32589 detection logic such that it is easier to read.
32590 (grub_ata_pciinit): Do not assign the same ID to each controller.
32591 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32592 handling.
32593 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32594
32595 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32596
1fbc5e66 325972008-08-08 Marco Gerards <marco@gnu.org>
32598
32599 * NEWS: Update.
32600
819ce6c0 326012008-08-07 Bean <bean123ch@gmail.com>
32602
32603 * include/grub/x86_64/pci.h: New file.
32604
5c41d44d 326052008-08-07 Christian Franke <franke@computer.org>
32606
32607 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32608 (TIMER2_GATE): Likewise.
32609 (grub_pit_wait): Add enable/disable of the timer2 gate
32610 bit of port 0x61. This fixes a possible infinite loop.
32611
5ebc275d 326122008-08-07 Bean <bean123ch@gmail.com>
32613
32614 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32615 kern/i386/tsc.c and kern/i386/pit.c.
32616
32617 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32618 x86_64 platform.
32619
32620 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32621 <grub/i386/tsc.h>.
32622
32623 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32624
e383b3d0 326252008-08-07 Bean <bean123ch@gmail.com>
32626
32627 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32628
32629 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32630
32631 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32632 multiple inclusion. Add #include <grub/types.h>.
32633
1cbb58ac 326342008-08-06 Christian Franke <franke@computer.org>
32635
32636 * conf/common.rmk: Build and install `10_windows'.
32637 * util/grub.d/10_windows.in: New script.
32638
337f5a1e 326392008-08-06 Pavel Roskin <proski@gnu.org>
32640
32641 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32642
057bc4ac 326432008-08-06 Robert Millan <rmh@aybabtu.com>
32644
32645 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32646 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32647
2b99f123 326482008-08-06 Bean <bean123ch@gmail.com>
32649
32650 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32651 (grub_pxefs_fs_int): Remove dummy definition.
32652 (grub_pxefs_open): Use data->block_size to store the current block
32653 size setting.
32654 (grub_pxefs_read): Use block size stored in data->block_size. As the
32655 value of grub_pxe_blksize can be changed after the file is opened.
32656
9f0234cb 326572008-08-06 Bean <bean123ch@gmail.com>
32658
32659 * fs/i386/pc/pxe.c (curr_file): new variable.
32660 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32661 require the dummy internal file system anymore.
32662 (grub_pxefs_read): Removed.
32663 (grub_pxefs_close): Likewise.
32664 (grub_pxefs_fs_int): Likewise.
32665 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32666 connection when we switch file.
32667 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32668
a55d42e0 326692008-08-06 Robert Millan <rmh@aybabtu.com>
32670
32671 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32672 `halt.mod'.
32673 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32674 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32675
32676 * kern/i386/halt.c: New file.
32677 * kern/i386/reboot.c: Likewise.
32678 * include/grub/i386/reboot.h: Likewise.
32679 * include/grub/i386/halt.h: Likewise.
32680
32681 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32682 Include `<grub/cpu/halt.h>'.
32683 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32684 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32685
32686 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32687 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32688 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32689 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32690 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32691 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32692 from here ...
32693 * include/grub/i386/at_keyboard.h: ... to here.
32694
24371d26 326952008-08-05 Robert Millan <rmh@aybabtu.com>
32696
32697 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32698 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32699 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32700 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32701 `kern/generic/millisleep.c'.
32702
32703 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32704 instead of grub_get_rtc().
32705 (grub_tsc_init): Initialize `tsc_boot_time'.
32706
32707 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32708 (grub_machine_init): Use grub_tsc_init() rather than
32709 installing an RTC-based handler via grub_install_get_time_ms().
32710
32711 * kern/i386/pit.c: New file.
32712 * include/grub/i386/pit.h: Likewise.
32713
9e7007b3 327142008-08-05 Bean <bean123ch@gmail.com>
32715
32716 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32717
32718 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32719 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32720 (pxe_mod_SOURCES): New macro.
32721 (pxe_mod_CFLAGS): Likewise.
32722 (pxe_mod_LDFLAGS): Likewise.
32723 (pxecmd_mod_SOURCES): Likewise.
32724 (pxecmd_mod_CFLAGS): Likewise.
32725 (pxecmd_mod_LDFLAGS): Likewise.
32726
32727 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32728 (grub_pxe_call): Likewise.
32729
32730 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32731
32732 * commands/i386/pc/pxecmd.c: New file.
32733
9f0234cb 32734 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32735
32736 * include/grub/i386/pc/pxe.h: Likewise.
32737
6977d49f 327382008-08-05 Bean <bean123ch@gmail.com>
32739
32740 * util/console.c (grub_console_cur_color): New variable.
32741 (grub_console_standard_color): Likewise.
32742 (grub_console_normal_color): Likewise.
32743 (grub_console_highlight_color): Likewise.
32744 (color_map): Likewise.
32745 (use_color): Likewise.
32746 (NUM_COLORS): New macro.
32747 (grub_ncurses_setcolorstate): Handle color properly.
32748 (grub_ncurses_setcolor): Don't change color here, just remember the
32749 settings, color will be set in grub_ncurses_setcolorstate.
32750 (grub_ncurses_getcolor): New function.
32751 (grub_ncurses_init): Initialize color pairs.
32752 (grub_ncurses_term): New member grub_ncurses_getcolor.
32753
9c2ff3ee 327542008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32755
9c2ff3ee 32756 High resolution timer support. Implemented for x86 CPUs using TSC.
32757 Extracted generic grub_millisleep() so it's linked in only as needed.
32758 This requires a Pentium compatible CPU; if the RDTSC instruction is
32759 not supported, then it falls back on the generic grub_get_time_ms()
32760 implementation that uses the machine's RTC.
32761
32762 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32763 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32764 `kern/generic/millisleep.c'.
32765
32766 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32767 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32768
32769 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32770 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32771
32772 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32773
32774 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32775 `kern/generic/millisleep.c'.
32776
32777 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32778
32779 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32780
32781 * kern/generic/rtc_get_time_ms.c: New file.
32782
32783 * kern/generic/millisleep.c: New file.
337f5a1e 32784
9c2ff3ee 32785 * kern/misc.c: Don't include
32786 <kern/time.h> anymore.
32787 (grub_millisleep_generic): Removed.
32788
32789 * commands/sleep.c (grub_interruptible_millisleep): Uses
32790 grub_get_time_ms() instead of grub_get_rtc().
32791
32792 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32793 function.
32794 (grub_cpu_is_cpuid_supported): New inline function.
32795 (grub_cpu_is_tsc_supported): New inline function.
32796 (grub_tsc_init): New function prototype.
32797 (grub_tsc_get_time_ms): New function prototype.
32798
32799 * kern/i386/tsc.c (grub_get_time_ms): New file.
32800
32801 * include/grub/time.h: Include <grub/types.h.
32802 (grub_millisleep_generic): Removed.
32803 (grub_get_time_ms): New prototype.
32804 (grub_install_get_time_ms): New prototype.
32805 (grub_rtc_get_time_ms): New prototype.
32806
32807 * kern/time.c (grub_get_time_ms): New function.
32808 (grub_install_get_time_ms): New function.
32809
32810 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32811 <grub/time.h> anymore.
32812 (grub_millisleep): Removed.
32813 (grub_machine_init): Call grub_tsc_init.
32814
32815 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32816 get_time_ms() implementation.
32817
32818 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32819 (ieee1275_get_time_ms): New function.
32820 (grub_machine_init): Install get_time_ms() implementation.
32821
32822 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32823 (grub_machine_init): Call grub_tsc_init().
32824 (grub_millisleep): Removed.
bf06a93f 32825
9c2ff3ee 32826 * kern/ieee1275/init.c (grub_millisleep): Removed.
32827 (grub_machine_init): Install ieee1275_get_time_ms()
32828 implementation.
32829 (ieee1275_get_time_ms): New function.
32830 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32831 real work.
32832
9ec92aaf 328332008-08-05 Marco Gerards <marco@gnu.org>
32834
32835 * disk/ata.c: Include <grub/pci.h>.
32836 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32837 (grub_ata_initialize): Rewritten.
32838 (grub_ata_device_initialize): New function.
32839
8d23f507 328402008-08-04 Pavel Roskin <proski@gnu.org>
32841
32842 * kern/main.c: Include grub/mm.h.
32843
5e15ee3d 328442008-08-04 Robert Millan <rmh@aybabtu.com>
32845
32846 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32847 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32848 corruption problem).
32849
a9053f8f 328502008-08-04 Robert Millan <rmh@aybabtu.com>
32851
32852 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32853 warnings introduced in my last commit.
32854
dd19c7d7 328552008-08-03 Robert Millan <rmh@aybabtu.com>
32856
32857 Make PCI available on all i386 architectures.
32858
32859 * include/grub/i386/pc/pci.h: Move from here ...
32860 * include/grub/i386/pci.h: ... to here.
32861
32862 * include/grub/i386/pc/pci.h: Remove.
32863 * include/grub/i386/efi/pci.h: Remove.
32864 * include/grub/x86_64/efi/pci.h: Remove.
32865
32866 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32867 `<grub/cpu/pci.h>'.
32868
32869 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32870 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32871 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32872
32873 * conf/i386-ieee1275.rmk: Likewise.
32874
e14a6184 328752008-08-03 Robert Millan <rmh@aybabtu.com>
32876
32877 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32878 (grub_console_setcursor): Make it possible to set cursor off.
32879
52768e37 328802008-08-03 Robert Millan <rmh@aybabtu.com>
32881
32882 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32883 of modules instead of assuming which platform provides what.
32884 * util/update-grub.in: Likewise.
32885
2d52f57f 328862008-08-03 Robert Millan <rmh@aybabtu.com>
32887
32888 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32889 instead of `grub_install_dos_part' to determine whether a drive needs
32890 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32891 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32892
2a5cd121 328932008-08-02 Robert Millan <rmh@aybabtu.com>
32894
32895 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32896
93808428 328972008-08-02 Robert Millan <rmh@aybabtu.com>
32898
32899 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32900 of informational grub_dprintf() calls.
32901
3bd0a12a 329022008-08-02 Robert Millan <rmh@aybabtu.com>
32903
32904 * disk/memdisk.c (memdisk_size): Don't initialize.
32905 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32906
32907 * include/grub/i386/pc/kernel.h
32908 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32909 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32910 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32911 (grub_arch_memdisk_size): Remove.
32912
32913 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32914 field (was only used to transfer a constant). Add `type' field to
32915 support multiple module types.
32916 (grub_module_iterate): New function.
32917
32918 * kern/device.c (grub_device_open): Do not hide error messages
32919 when grub_disk_open() fails. Use grub_print_error() instead.
32920
32921 * kern/i386/pc/init.c (grub_arch_modules_addr)
32922 (grub_arch_memdisk_size): Remove functions.
32923 (grub_arch_modules_addr): Return the module address in high memory
32924 (now that it isn't copied anymore).
32925
32926 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32927 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32928 decompression routine (grub_total_module_size already includes that
32929 now). Don't copy modules back to low memory.
32930
32931 * kern/main.c: Include `<grub/mm.h>'.
32932 (grub_load_modules): Split out (and use) ...
32933 (grub_module_iterate): ... this function, which iterates through
32934 module objects and runs a hook.
32935 Comment out grub_mm_init_region() call, as it would cause non-ELF
32936 modules to be overwritten.
32937
32938 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32939 the memdisk image in its own region, make it part of the module list.
32940 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32941 (main): Parse --memdisk|-m option, and pass user-provided path as
32942 parameter to generate_image().
32943 (add_segments): Pass `memdisk_path' down to load_modules().
32944 (load_modules): Embed memdisk image in module section when requested.
32945 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32946 `header.type' instead of `header.offset'.
32947
32948 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32949 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32950 (memdisk_mod_LDFLAGS): New variables.
32951 * conf/i386-coreboot.rmk: Likewise.
32952 * conf/i386-ieee1275.rmk: Likewise.
32953
a927cc73 329542008-08-02 Robert Millan <rmh@aybabtu.com>
32955
32956 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32957 (backward_relocator): New variables. Used to allocate and relocate
32958 the payload, respectively.
32959 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32960 address, install the appropriate relocator code in each bound of
a927cc73 32961 the payload, and set the entry point such that
32962 grub_multiboot_real_boot() will jump to one of them.
32963
32964 * kern/i386/loader.S (grub_multiboot_payload_size)
32965 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32966 (grub_multiboot_payload_entry_offset): New variables.
32967 (grub_multiboot_real_boot): Set cpu context to what the relocator
32968 expects, and jump to the relocator instead of the payload.
32969
32970 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32971 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32972 (grub_multiboot_payload_entry_offset): Export.
32973
b15d8a0c 329742008-08-01 Bean <bean123ch@gmail.com>
32975
32976 * normal/menu_entry.c (editor_getline): Don't return the original
32977 string as result, as it will be released by lexer once it has done
32978 using it.
32979
cdfb3d22 329802008-08-01 Robert Millan <rmh@aybabtu.com>
32981
32982 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32983 within menuentries, not before them.
32984 util/grub.d/10_hurd.in: Likewise.
32985
9175e93d 329862008-08-01 Bean <bean123ch@gmail.com>
32987
32988 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32989 (bufio_mod_SOURCES): New macro.
32990 (bufio_mod_CFLAGS): Likewise.
32991 (bufio_mod_LDFLAGS): Likewise.
32992
32993 * include/grub/bufio.h: New file.
32994
32995 * io/bufio.c: Likewise.
32996
32997 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32998 (grub_video_reader_png): Use grub_buffile_open to open file.
32999
33000 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33001 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33002
33003 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33004 (grub_video_reader_tga): Use grub_buffile_open to open file.
33005
33006 * font/manager.c: Include <grub/bufio.h>.
33007 (add_font): Use grub_buffile_open to open file.
33008
3d8383e7 330092008-07-31 Robert Millan <rmh@aybabtu.com>
33010
33011 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33012 ELF segments, use a macro for arbitrarily accessing any of them instead
33013 of preparing a pointer that allows access to one at a time.
33014 (grub_multiboot_load_elf64): Likewise.
33015
16e641b6 330162008-07-31 Bean <bean123ch@gmail.com>
33017
33018 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33019 GRUB_KERNEL_MACHINE_DATA_END.
33020
59198b72 330212008-07-30 Robert Millan <rmh@aybabtu.com>
33022
33023 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33024 Increase from 0x50 to 0x60.
33025 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33026 use UUIDs to identify the root drive for them. If that's not
33027 possible, abort.
33028 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33029 check, for cross-disk installs.
33030
ae88bca3 330312008-07-30 Robert Millan <rmh@aybabtu.com>
33032
33033 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33034 is non-empty, use it to set the `prefix' environment variable instead
33035 of the usual approach.
33036 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33037 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33038 environment variable instead of dummy make_install_device().
33039
33040 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33041 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33042 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33043
33044 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33045 New variable reference.
33046 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33047 New macro. Defines offset of `grub_prefix' within startup.S (relative
33048 to `start').
33049 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33050 section within startup.S (relative to `start').
33051 * include/grub/i386/coreboot/kernel.h: Likewise.
33052
33053 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33054 Overwrite grub_prefix with its contents, at the beginning of the
33055 first segment.
33056 (main): Understand -p|--prefix.
33057
14f41dd1 330582008-07-30 Robert Millan <rmh@aybabtu.com>
33059
33060 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33061
4ca049a3 330622008-07-30 Robert Millan <rmh@aybabtu.com>
33063
33064 * term/i386/pc/vga_text.c (grub_console_cls): Use
33065 grub_console_gotoxy() to go back to beginning of the screen.
33066 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33067
2921d337 330682008-07-29 Christian Franke <franke@computer.org>
33069
33070 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33071 Add conversion of emulated mount points on Cygwin.
33072
b609876d 330732008-07-29 Christian Franke <franke@computer.org>
33074
33075 * util/update-grub.in: Add a check for admin
33076 group on Cygwin.
33077 Remove old `grub.cfg.new' before creation.
33078 Add `-f' to `mv' to handle the different filesystem
33079 semantics of Windows.
33080
e93e4679 330812008-07-29 Bean <bean123ch@gmail.com>
33082
33083 * normal/main.c (get_line): Fix buffer overflow bug.
33084
41694fd0 330852008-07-28 Robert Millan <rmh@aybabtu.com>
33086
33087 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33088 (struct grub_apple_header): New struct. Describes the layout of
33089 the partmap header.
33090 (apple_partition_map_iterate): Check the header magic as well as the
33091 partition magic (which was already being checked).
33092
cfd0b4e6 330932008-07-28 Pavel Roskin <proski@gnu.org>
33094
33095 * genmk.rb: Add a warning to the beginning of the output that
33096 it's a generated file and should not be edited.
33097
93cce016 330982008-07-28 Robert Millan <rmh@aybabtu.com>
33099
33100 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33101 with the same number are found, just use issue a warning with
33102 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33103
cd1df915 331042008-07-27 Robert Millan <rmh@aybabtu.com>
33105
33106 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33107 information.
33108
b70a8427 331092008-07-27 Bean <bean123ch@gmail.com>
33110
33111 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33112 (grub_fat_find_dir): Ignore case when comparing filename.
33113
8f5e379f 331142008-07-27 Bean <bean123ch@gmail.com>
33115
33116 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33117 smallino, as it's more descriptive, and i8count can be confused with
33118 the other field count.
33119 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33120 inode type.
33121
a85cd5a0 331222008-07-27 Bean <bean123ch@gmail.com>
33123
33124 * commands/crc.c: New file.
33125
33126 * lib/crc.c: Likewise.
33127
33128 * include/grub/lib/crc.h: Likewise.
33129
33130 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33131
33132 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33133 (hexdump): Move this function to ...
33134
33135 * lib/hexdump.c: ... here.
33136
33137 * include/grub/hexdump.h: Renamed to ...
33138
33139 * include/grub/lib/hexdump.h: ... this.
33140
33141 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33142
33143 * util/grub-editenv.c: Likewise.
33144
33145 * include/envblk.h: Renamed to ...
33146
33147 * include/lib/envblk.h: ... this.
33148
33149 * util/envblk.c: Renamed to ...
33150
33151 * lib/envblk.c: ... this.
33152
33153 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33154 lib/hexdump.c.
33155 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33156 (pkglib_MODULES): Add crc.mod.
33157 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33158 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33159 (crc_mod_SOURCES): New macro.
33160 (crc_mod_CFLAGS): Likewise.
33161 (crc_mod_LDFLAGS): Likewise.
33162
33163 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33164
33165 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33166
33167 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33168
33169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33170
33171 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33172
c298def0 331732008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33174
33175 * commands/help.c: Include <grub/term.h>.
33176 (TERM_WIDTH): Removed. Updated all users.
33177
cc349fb3 331782008-07-27 Pavel Roskin <proski@gnu.org>
33179
33180 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33181 spurious warnings about a comment within a comment.
33182
9051607e 331832008-07-25 Robert Millan <rmh@aybabtu.com>
33184
33185 * util/getroot.c (find_root_device): Skip devices that match
33186 /dev/dm-[0-9]. This lets the real device be found for any type of
33187 abstraction (LVM, EVMS, RAID..).
33188 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33189 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33190 device is found first, find_root_device() will now skip it.
33191
01453bfc 331922008-07-24 Pavel Roskin <proski@gnu.org>
33193
33194 * include/grub/types.h: Use __builtin_bswap32() and
33195 __builtin_bswap64() with gcc 4.3 and newer.
33196
6af9849f 331972008-07-24 Christian Franke <franke@computer.org>
33198
3a0fa256 33199 * util/i386/pc/grub-install.in: If `--debug' is specified,
33200 pass `--verbose' to grub-setup.
33201 Abort script if make_system_path_relative_to_its_root() fails.
33202
7810e747 332032008-07-24 Bean <bean123ch@gmail.com>
33204
33205 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33206 variable `target_platform' should be `platform'.
33207
42290e17 332082008-07-24 Bean <bean123ch@gmail.com>
33209
51cc5193 33210 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33211 (grub_png_init_fixed_block): New function.
33212 (grub_png_decode_image_data): Handle fixed huffman code compression.
33213
2a8a80e4 332142008-07-24 Bean <bean123ch@gmail.com>
33215
33216 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33217 (grub_pe2elf_SOURCES): New macro.
33218 (CLEANFILES): Add grub-pe2elf.
33219
33220 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33221 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33222 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33223 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33224 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33225 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33226 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33227 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33228 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33229 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33230 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33231 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33232 (GRUB_PE32_DT_FUNCTION): Likewise.
33233 (GRUB_PE32_REL_I386_DIR32): Likewise.
33234 (GRUB_PE32_REL_I386_REL32): Likewise.
33235 (grub_pe32_symbol): New structure.
33236 (grub_pe32_reloc): Likewise.
33237
33238 * util/grub-pe2elf.c: New file.
33239
33240 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33241 start symbol in non pc platform.
33242
33243 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33244
33245 The following patches are from Christian Franke.
33246
33247 * include/grub/dl.h: Remove .previous, gas supports this only
33248 for ELF format.
33249
33250 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33251 Remove .type, gas supports this only for ELF format.
33252
33253 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33254 nullbytes in symbol table. This fixes an infinite loop if table is
33255 zero filled.
33256
33257 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33258 TARGET_IMG_LDFLAGS and EXEEXT.
33259
33260 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33261 TARGET_IMG_LDFLAGS_AC.
33262 (grub_CHECK_STACK_ARG_PROBE): New function.
33263
33264 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33265
33266 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33267
33268 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33269 to set TARGET_IMG_LD* accordingly.
33270 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33271 Add call to grub_CHECK_STACK_ARG_PROBE.
33272 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33273
33274 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33275
33276 * genmk.rb: Add EXEEXT to CLEANFILES.
33277
12ccdb75 332782008-07-23 Robert Millan <rmh@aybabtu.com>
33279
33280 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33281 define the codes for arrows and lines used for the menu).
33282 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33283 as well.
33284
33285 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33286 fonts, because the latter are too slow.
33287
18eeaf04 332882008-07-21 Bean <bean123ch@gmail.com>
33289
33290 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33291 a20. Run keyboard test last, as it will cause macbook to halt.
33292
b095e2ad 332932008-07-18 Pavel Roskin <proski@gnu.org>
33294
33295 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33296 load foreign architecture modules correctly anyway. Keep
33297 support for loading host architecture modules, whether we
33298 compile them or not.
33299
737feb35 333002008-07-17 Pavel Roskin <proski@gnu.org>
33301
3f4ce737 33302 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33303 change target_cpu. The compiler default can mismatch target_cpu
33304 in any case.
33305
4ad2d049 33306 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33307 * kern/efi/efi.c: Likewise.
33308
f6130a12 33309 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33310 target compiler is functional.
33311 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33312 are set up.
33313
58393a2d 33314 * configure.ac: Default to efi platform for x86_64-apple. Allow
33315 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33316 adjustments from the rest, only do them if target is not
33317 explicitly given. Merge other adjustments with the final sanity
33318 check. Remove an extraneous check for supported CPU. Be
33319 specific which CPU and which platform is not supported.
33320
737feb35 33321 * configure.ac: Default to pc platform for x86_64.
33322
546f966a 333232008-07-17 Robert Millan <rmh@aybabtu.com>
33324
33325 Partial LinuxBIOS -> Coreboot rename.
33326
33327 * conf/i386-linuxbios.rmk: Renamed to ...
33328 * conf/i386-coreboot.rmk: ... this.
33329 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33330 * configure.ac: Accept "coreboot" as input platform (but maintain
33331 compatibility with "linuxbios").
33332 * include/grub/i386/linuxbios: Renamed to ...
33333 * include/grub/i386/coreboot: ... this.
33334
20011694 333352008-07-17 Bean <bean123ch@gmail.com>
33336
33337 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33338 (appleldr_mod_SOURCE): New variable.
20011694 33339 (appleldr_mod_CFLAGS): Likewise.
33340 (appleldr_mod_LDFLAGS): Likewise.
33341 (pci_mod_SOURCES): Likewise.
33342 (pci_mod_CFLAGS): Likewise.
33343 (pci_mod_LDFLAGS): Likewise.
33344 (lspci_mod_SOURCES): Likewise.
33345 (lspci_mod_CFLAGS): Likewise.
33346 (lspci_mod_LDFLAGS): Likewise.
33347
33348 * conf/x86_64-efi.rmk: New file.
33349
33350 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33351 macro.
33352 (grub_efidisk_write): Likewise.
33353
33354 * include/efi/api.h (efi_call_0): New macro.
33355 (efi_call_1): Likewise.
33356 (efi_call_2): Likewise.
33357 (efi_call_3): Likewise.
33358 (efi_call_4): Likewise.
33359 (efi_call_5): Likewise.
33360 (efi_call_6): Likewise.
33361
33362 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33363 grub_rescue_cmd_chainloader.
33364
33365 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33366 (grub_pe32_optional_header): Change some fields based on i386 or
33367 x86_64 platform.
33368 (GRUB_PE32_PE32_MAGIC): Likewise.
33369
33370 * include/grub/efi/uga_draw.h: New file.
33371
33372 * include/grub/elf.h (STN_ABS): New constant.
33373 (R_X86_64_NONE): Relocation constant for x86_64.
33374 (R_X86_64_64): Likewise.
33375 (R_X86_64_PC32): Likewise.
33376 (R_X86_64_GOT32): Likewise.
33377 (R_X86_64_PLT32): Likewise.
33378 (R_X86_64_COPY): Likewise.
33379 (R_X86_64_GLOB_DAT): Likewise.
33380 (R_X86_64_JUMP_SLOT): Likewise.
33381 (R_X86_64_RELATIVE): Likewise.
33382 (R_X86_64_GOTPCREL): Likewise.
33383 (R_X86_64_32): Likewise.
33384 (R_X86_64_32S): Likewise.
33385 (R_X86_64_16): Likewise.
33386 (R_X86_64_PC16): Likewise.
33387 (R_X86_64_8): Likewise.
33388 (R_X86_64_PC8): Likewise.
33389
33390 * include/grub/i386/efi/pci.h: New file.
33391
33392 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33393 Change it value based on platform.
33394 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33395 (GRUB_E820_RAM): Likewise.
33396 (GRUB_E820_RESERVED): Likewise.
33397 (GRUB_E820_ACPI): Likewise.
33398 (GRUB_E820_NVS): Likewise.
33399 (GRUB_E820_EXEC_CODE): Likewise.
33400 (GRUB_E820_MAX_ENTRY): Likewise.
33401 (grub_e820_mmap): New structure.
33402 (linux_kernel_header): Change the efi field according to different
33403 kernel version, also field from linux_kernel_header.
33404
33405 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33406
33407 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33408 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33409 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33410 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33411 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33412 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33413 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33414 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33415 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33416 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33417
33418 * include/grub/x86_64/efi/kernel.h: New file.
33419
33420 * include/grub/x86_64/efi/loader.h: Likewise.
33421
33422 * include/grub/x86_64/efi/machine.h: Likewise.
33423
33424 * include/grub/x86_64/efi/pci.h: Likewise.
33425
33426 * include/grub/x86_64/efi/time.h: Likewise.
33427
33428 * include/grub/x86_64/linux.h: Likewise.
33429
33430 * include/grub/x86_64/setjmp.h: Likewise.
33431
33432 * include/grub/x86_64/time.h: Likewise.
33433
33434 * include/grub/x86_64/types.h: Likewise.
33435
33436 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33437 GRUB_TARGET_SIZEOF_VOID_P.
33438
33439 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33440 (grub_efi_locate_handle): Likewise.
33441 (grub_efi_open_protocol): Likewise.
33442 (grub_efi_set_text_mode): Likewise.
33443 (grub_efi_stall): Likewise.
33444 (grub_exit): Likewise.
33445 (grub_reboot): Likewise.
33446 (grub_halt): Likewise.
33447 (grub_efi_exit_boot_services): Likewise.
33448 (grub_get_rtc): Likewise.
33449
33450 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33451 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33452 (grub_efi_allocate_pages): Wrap efi calls.
33453 (grub_efi_free_pages): Wrap efi calls.
33454 (grub_efi_get_memory_map): Wrap efi calls.
33455
33456 * kern/x86_64/dl.c: New file.
33457
33458 * kern/x86_64/efi/callwrap.S: Likewise.
33459
33460 * kern/x86_64/efi/startup.S: Likewise.
33461
33462 * loader/efi/appleloader.c: Likewise.
33463
33464 * loader/efi/chainloader.c (cmdline): New variable.
33465 (grub_chainloader_unload): Wrap efi calls.
33466 (grub_chainloader_boot): Likewise.
33467 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33468 command line.
33469
33470 * loader/efi/chainloader_normal.c (chainloader_command):
33471 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33472 command line.
33473
33474 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33475 method.
33476 (grub_e820_add_region): New function.
33477 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33478 booting.
33479 (grub_find_video_card): New function.
33480 (grub_linux_setup_video): New function.
33481 (grub_rescue_cmd_linux): Probe for video information.
33482
33483 * normal/x86_64/setjmp.S: New file.
33484
33485 * term/efi/console.c (map_char): New function.
33486 (grub_console_putchar): Map unicode char.
33487 (grub_console_checkkey): Wrap efi calls.
33488 (grub_console_getkey): Likewise.
33489 (grub_console_getwh): Likewise.
33490 (grub_console_gotoxy): Likewise.
33491 (grub_console_cls): Likewise.
33492 (grub_console_setcolorstate): Likewise.
33493 (grub_console_setcursor): Likewise.
33494
33495 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33496
59652a20 334972008-07-16 Pavel Roskin <proski@gnu.org>
33498
ef294055 33499 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33500 format strings.
33501
59652a20 33502 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33503 pointer, not an integer. This fixes a warning and prevents
33504 precision loss on 64-bit systems.
33505 (relocate_addresses): Remove unneeded cast.
33506
afc3b5d7 335072008-07-15 Pavel Roskin <proski@gnu.org>
33508
506b2b3e 33509 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33510
62ead89c 33511 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33512
c4cd51d7 33513 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33514 Fix comparison between signed and unsigned.
33515
0d3d8f28 33516 * include/grub/i386/ieee1275/console.h: Declare
33517 grub_console_init() and grub_console_fini().
33518
8804b286 33519 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33520 It's empty and unused.
33521
ee01cf35 33522 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33523 beginning to avoid warnings with some compilers.
33524
afc3b5d7 33525 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33526 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33527
e4e8eaa5 335282008-07-14 Pavel Roskin <proski@gnu.org>
33529
407aceb4 33530 * kern/env.c (grub_register_variable_hook): Don't copy empty
33531 string, it leaks memory. Pass "" to grub_env_set(), it should
33532 handle constant strings.
33533
e4e8eaa5 33534 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33535 * commands/cmp.c (grub_cmd_cmp): Likewise.
33536 * kern/dl.c (grub_dl_flush_cache): Likewise.
33537 (grub_dl_load_core): Likewise.
33538 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33539 (grub_elf64_load_phdrs): Likewise.
33540
d4e2dad3 335412008-07-13 Pavel Roskin <proski@gnu.org>
33542
33543 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33544 between signed and unsigned.
33545 (LzmaEnc_Finish): Fix warning about an unused parameter.
33546
aa24b516 335472008-07-13 Bean <bean123ch@gmail.com>
33548
33549 * Makefile.in (enable_lzo): New rule.
33550
33551 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33552
33553 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33554
33555 * boot/i386/pc/lnxboot.S: #include <config.h>.
33556
33557 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33558 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33559
33560 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33561 compression algorithm according to configure macro.
33562
33563 * kern/i386/pc/startup.S (codestart): Likewise.
33564
33565 * kern/i386/pc/lzma_decode.S: New file.
33566
33567 * include/grub/lib/LzFind.h: Likewise.
33568
33569 * include/grub/lib/LzHash.h: Likewise.
33570
33571 * include/grub/lib/LzmaDec.h: Likewise.
33572
33573 * include/grub/lib/LzmaEnc.h: Likewise.
33574
33575 * include/grub/lib/LzmaTypes.h: Likewise.
33576
33577 * lib/LzFind.c: Likewise.
33578
33579 * lib/LzmaDec.c: Likewise.
33580
33581 * lib/LzmaEnc.c: Likewise.
33582
4ae821ac 335832008-07-13 Bean <bean123ch@gmail.com>
33584
33585 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33586 (grub_ext4_extent_header): New structure.
33587 (grub_ext4_extent): Likewise.
33588 (grub_ext4_extent_idx): Likewise.
33589 (grub_ext4_find_leaf): New function.
33590 (grub_ext2_read_block): Handle extents.
33591
9a745147 335922008-07-12 Robert Millan <rmh@aybabtu.com>
33593
33594 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33595
d49a4cf6 335962008-07-11 Robert Millan <rmh@aybabtu.com>
33597
33598 * util/grub.d/40_custom.in: New file. Example on how to add custom
33599 entries to /etc/grub.d.
33600 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33601 40_custom (implicitly, by merging all the grub.d rules).
33602
947414b4 336032008-07-11 Pavel Roskin <proski@gnu.org>
33604
0059cf6f 33605 * commands/read.c (grub_getline): Fix invalid memory access.
33606 Don't add newline to the variable value.
33607
947414b4 33608 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33609 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33610 (serial_hw_get_port): Check validity of the port number.
33611 (grub_cmd_serial): Check return value of serial_hw_get_port().
33612
62a02d00 336132008-07-07 Pavel Roskin <proski@gnu.org>
33614
33615 * boot/i386/pc/diskboot.S (notification_string): Replace
33616 "Loading kernel" with just "loading". This is shorter, less
33617 confusing and saves a few bytes for possible future changes.
33618
3e5581b0 336192008-07-05 Pavel Roskin <proski@gnu.org>
33620
ea387a48 33621 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33622 size for ATAPI devices, they are undefined. Output sector
33623 number in decimal form.
33624
3e5581b0 33625 * disk/ata.c: Use named constants for status bits.
33626
fdecb8fd 336272008-07-04 Pavel Roskin <proski@gnu.org>
33628
bcd35b90 33629 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33630 grub_addr_t before casting it to the void pointer to fix a
33631 warning. Non-addressable regions are discarded earlier.
33632 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33633 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33634 (check_signature): Don't shadow table_header.
33635 (grub_linuxbios_table_iterate): Cast numeric constants to
33636 grub_linuxbios_table_header_t.
33637 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33638 grub_stop().
33639
af58ab3d 33640 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33641 prevent warnings.
33642
1759aa57 33643 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33644 pointer, which can cause warnings. Support 64-bit addresses.
33645
fdecb8fd 33646 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33647 of sizeof(long). This fixes PowerPC image generation on x86_64.
33648
8516d2a8 336492008-07-04 Robert Millan <rmh@aybabtu.com>
33650
33651 This fixes a performance issue when pc & gpt partmap iterators
33652 didn't abort iteration even after our hook found what it was
fe987087 33653 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33654
33655 Some callers relied on previous buggy behaviour, since they would
34c44600 33656 raise an error when their own hooks caused early abortion of its
8516d2a8 33657 iteration.
33658
33659 * kern/device.c (grub_device_open): Improve error message.
33660 * disk/lvm.c (grub_lvm_open): Likewise.
33661 * disk/raid.c (grub_raid_open): Likewise.
33662
33663 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33664 when hook requests it, independently of grub_errno.
33665 (pc_partition_map_probe): Do not fail when find_func() caused
33666 early abortion of pc_partition_map_iterate().
33667
33668 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33669 when hook requests it, independently of grub_errno.
33670 (gpt_partition_map_probe): Do not fail when find_func() caused
33671 early abortion of gpt_partition_map_iterate().
33672
33673 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33674 when hook requests it, independently of grub_errno. Do not fail when
33675 part_map_iterate_hook() caused early abortion of p->iterate().
33676
33677 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33678 when grub_partition_iterate() returned with non-zero.
33679
277d0de9 336802008-07-03 Pavel Roskin <proski@gnu.org>
33681
33682 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33683 like we do in grub_ata_pio_read().
33684 (grub_ata_readwrite): Always write individual sectors. Fix the
33685 sector count for the remainder.
33686 (grub_ata_write): Enable writing to ATA devices. Correctly
33687 report error for ATAPI devices.
33688
d4c9b428 336892008-07-02 Pavel Roskin <proski@gnu.org>
33690
e43fc690 33691 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33692 warning.
33693
f707af42 33694 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33695 for every read sector, we already increment it for the whole
33696 batch. This fixes reading more than 256 sectors at once.
33697
11e16b15 33698 * util/grub-editenv.c (cmd_info): Cast argument to long
33699 explicitly. ptrdiff_t reduces to int on i386.
33700
cbabfdd4 33701 * util/grub-editenv.c (main): Be specific which parameter is
33702 missing.
33703
b8fbce0a 33704 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33705 (memdisk): Make memdisk_orig_addr a pointer.
33706
c9c8e606 33707 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33708 for file offsets, use grub_off_t instead. Fix printf format
33709 warnings.
33710
ca62e598 33711 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33712 there. Real unexpected warnings should not drown in the noise
33713 about known problems.
33714
ce8d1766 33715 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33716 grub_disk_addr_t for memory addresses.
33717
00c7a56a 33718 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33719 explicitly to fix a warning.
33720
08d3ef09 33721 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33722
cb71ba20 33723 * Makefile.in (MODULE_LDFLAGS): New variable.
33724 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33725 the linker accepts --build-id=none.
33726 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33727 MODULE_LDFLAGS.
33728 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33729
d4c9b428 33730 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33731 those in Linux XFS code. Provide a way to access 64-bit parent
33732 inode.
33733 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33734 the end of struct grub_xfs_dir_header.
33735
d4156eee 337362008-07-02 Bean <bean123ch@gmail.com>
33737
33738 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33739 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33740 and GRUB_IEEE1275_FLAG_NO_ANSI.
33741
33742 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33743 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33744 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33745
33746 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33747 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33748
33749 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33750 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33751
33752 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33753 esc sequence on non ANSI terminal.
33754 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33755
33756 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33757 beginning of file.
33758
2270f77b 337592008-07-02 Bean <bean123ch@gmail.com>
33760
33761 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33762 (grub_editenv_SOURCES): New variable.
33763 (pkglib_MODULES): Add loadenv.mod.
33764 (loadenv_mod_SOURCES): New variable.
33765 (loadenv_mod_CFLAGS): Likewise.
33766 (loadenv_mod_LDFLAGS): Likewise.
33767
33768 * include/grub/envblk.h: New file.
33769
33770 * util/envblk.c: New file.
33771
33772 * util/grub-editenv.c: New file.
33773
33774 * commands/loadenv.c: New file.
33775
0e9e51ec 337762008-07-01 Pavel Roskin <proski@gnu.org>
33777
d89b7634 33778 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33779 not unsigned char. This fixes warnings and is consistent with
33780 other tags.
33781
bf1835b1 33782 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33783
8222a04b 33784 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33785
6a42d99d 33786 * term/tparm.c (analyze): Always set *popcount.
33787
10b159d1 33788 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33789 cast to fix a warning.
33790
b8789f6c 33791 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33792 cast to suppress a warning.
33793
29d7e38a 33794 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33795 grub_fshelp_read_file() expects.
33796
f341f669 33797 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33798 write uuid as a 32-bit value in CPU byte order, so declare and
33799 use it as such.
33800
0e9e51ec 33801 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33802 long if the format specifier expects it.
33803 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33804 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33805 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33806 long to fix a warning.
33807 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33808 grub_dprintf() arguments to fix warnings.
33809
3aefa857 338102008-06-30 Pavel Roskin <proski@gnu.org>
33811
56c7668b 33812 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33813 install_bsd_part immediately before core.img is embedded or
33814 modified on disk. This fixes core.img verification if core.img
33815 cannot be embedded.
33816
3aefa857 33817 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33818 core_path to calculate the blocklist.
33819 Patch from Javier Martín <lordhabbit@gmail.com>
33820
5444088d 338212008-06-29 Robert Millan <rmh@aybabtu.com>
33822
33823 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33824 block to disk block.
33825 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33826 Patch from Niels Böhm <bitbucket@arcor.de>
33827
674835c8 338282008-06-29 Robert Millan <rmh@aybabtu.com>
33829
33830 * util/update-grub_lib.in (font_path): Search for fonts in
33831 /boot/grub first, which is more likely to be readable (we aren't
33832 deciding where fonts live, just looking for them).
33833
f527dbc8 338342008-06-26 Pavel Roskin <proski@gnu.org>
33835
6c2d8df6 33836 * util/biosdisk.c (read_device_map): Don't leave dead map
33837 entries for devices failing stat() check.
33838
f527dbc8 33839 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33840 core_path_dev for the core.img path on the target device.
33841
aebe3d13 338422008-06-26 Robert Millan <rmh@aybabtu.com>
33843
33844 * disk/fs_uuid.c: New file.
33845 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33846 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33847 (fs_uuid_mod_LDFLAGS): New variables.
33848 * include/grub/disk.h (grub_disk_dev_id): Add
33849 `GRUB_DISK_DEVICE_UUID_ID'.
33850 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33851 implement iterate().
33852
37aaf354 338532008-06-26 Robert Millan <rmh@aybabtu.com>
33854
33855 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33856 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33857 Linux image includes no initrd.
33858
25ff262a 338592008-06-21 Javier Martín <lordhabbit@gmail.com>
33860
33861 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33862 call to resolve the core image location that effectively appended the
33863 name twice.
33864
76a2bd44 338652008-06-21 Robert Millan <rmh@aybabtu.com>
33866
33867 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33868 call from here ...
33869
33870 * util/grub.d/10_hurd.in: ... to here ...
33871 * util/grub.d/10_linux.in: ... and here.
33872
650e1c79 338732008-06-19 Robert Millan <rmh@aybabtu.com>
33874
fe987087 33875 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33876 after it has been set by grub_machine_set_prefix().
33877
6ce63911 338782008-06-19 Robert Millan <rmh@aybabtu.com>
33879
33880 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33881 search result when not saving to variable, not the other way around.
33882 When saving to variable, abort iteration as soon as a match is found.
33883
73940cec 338842008-06-19 Robert Millan <rmh@aybabtu.com>
33885
33886 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33887 check for partition that provides /boot/grub. Its logic is flawed,
33888 as it prevents prepare_grub_to_access_device() from being called
33889 multiple times.
33890
3c62a39d 338912008-06-19 Robert Millan <rmh@aybabtu.com>
33892
33893 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33894 "insmod" command directly when abstraction modules are needed,
fe987087 33895 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33896 since it had already been processed).
33897
47395a42 338982008-06-19 Pavel Roskin <proski@gnu.org>
33899
33900 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33901 changed. This is needed in case GRUB_LIBDIR changes.
33902 * conf/i386-ieee1275.rmk: Likewise.
33903 * conf/i386-linuxbios.rmk: Likewise.
33904 * conf/i386-pc.rmk: Likewise.
33905 * conf/powerpc-ieee1275.rmk: Likewise.
33906
a145ac2d 339072008-06-18 Pavel Roskin <proski@gnu.org>
33908
33909 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33910 kernel_elf_symlist.c to symlist.c for consistency with other
33911 architectures. Update all users.
33912 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33913
7847c51e 339142008-06-18 Robert Millan <rmh@aybabtu.com>
33915
33916 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33917 it in prefix.
33918
33919 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33920 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33921 a RAID device, run setup() for all members independently on whether
33922 LVM abstraction is being used.
33923 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33924 If grub-mkimage has set `*install_dos_part == -2', don't override this
33925 value.
33926 Perform *install_dos_part adjustments independently on whether
33927 we're embedding or not.
33928 Clarify error message when image is too big for embedding.
33929 Remove duplicate *install_dos_part stanza.
33930
b23e5644 339312008-06-17 Robert Millan <rmh@aybabtu.com>
33932
33933 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33934 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33935 variables.
33936 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33937 values in grub_ofconsole_normal_color and
33938 grub_ofconsole_highlight_color (they're not directly related to
33939 background and foreground).
33940 (grub_ofconsole_setcolorstate): Extract background and foreground
33941 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33942
0aac2f79 339432008-06-17 Robert Millan <rmh@aybabtu.com>
33944
33945 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33946 /boot/grub for the check in last commit, not /boot (they could be
33947 different partitions).
33948
3cca7ef3 339492008-06-16 Robert Millan <rmh@aybabtu.com>
33950
33951 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33952 asked to setup access for the same partition that provides /boot,
33953 don't bother using UUIDs since our root already has the value we
33954 want.
33955
347396d8 339562008-06-16 Robert Millan <rmh@aybabtu.com>
33957
33958 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33959 I2O devices.
33960 Patch from Sven Mueller <sven@debian.org>.
33961
991477f8 339622008-06-16 Robert Millan <rmh@aybabtu.com>
33963
33964 * util/update-grub.in: Check for $EUID instead of $UID.
33965 Reported by Vincent Zweije.
33966
d31a32a1 339672008-06-16 Bean <bean123ch@gmail.com>
33968
fe987087 33969 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33970 (grub_ext2_read_block): Likewise.
33971 (grub_ext2_read_inode): Likewise.
33972 (grub_ext2_mount): Likewise.
33973 (grub_ext2_close): Likewise.
33974 (grub_ext3_get_journal): Removed.
33975
fe987087 33976 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33977 (grub_reiserfs_read_symlink): Likewise.
33978 (grub_reiserfs_mount): Likewise.
33979 (grub_reiserfs_open): Likewise.
33980 (grub_reiserfs_read): Likewise.
33981 (grub_reiserfs_close): Likewise.
33982 (grub_reiserfs_get_journal): Removed.
33983
33984 * fs/fshelp.c (grub_fshelp_read): Removed.
33985 (grub_fshelp_map_block): Likewise.
33986
33987 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33988 (grub_fshelp_journal): Likewise.
33989 (grub_fshelp_read): Likewise.
33990 (grub_fshelp_map_block): Likewise.
33991
3540a760 339922008-06-16 Pavel Roskin <proski@gnu.org>
33993
33994 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33995 floating point anymore.
33996 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33997
95614c84 339982008-06-15 Pavel Roskin <proski@gnu.org>
33999
34000 * commands/ls.c (grub_ls_list_files): Use integer calculations
34001 for human readable format, avoid floating point use.
34002 * kern/misc.c (grub_ftoa): Remove.
34003 (grub_vsprintf): Remove floating point support.
34004
50465dd6 340052008-06-15 Robert Millan <rmh@aybabtu.com>
34006
fe6b695a 34007 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34008 devices.
34009 Reported by Max Vozeler.
34010
a9207284 340112008-06-15 Robert Millan <rmh@aybabtu.com>
34012
34013 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34014 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34015 skipped later.
34016 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34017 the beginning of the prefix.
34018
34019 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34020 It is assumed that if we have a memdisk, grub-mkimage has set
34021 grub_prefix to include the "(memdisk)" drive in it.
34022
a7cbd45a 340232008-06-15 Robert Millan <rmh@aybabtu.com>
34024
34025 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34026 Initialize keyboard controller after registering the terminal, so that
34027 grub_printf() can be called from grub_keyboard_controller_init().
34028
21cf716a 340292008-06-15 Robert Millan <rmh@aybabtu.com>
34030
34031 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34032 extent-btree which is written as big endian on disk.
34033 Reported by Alain Greppin <al@chilibi.org>.
34034
23a64d8e 340352008-06-14 Robert Millan <rmh@aybabtu.com>
34036
34037 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34038 * util/i386/pc/grub-install.in (modules): Likewise.
34039
d687651c 340402008-06-13 Pavel Roskin <proski@gnu.org>
34041
34042 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34043
dfe9ddd4 340442008-06-13 Bean <bean123ch@gmail.com>
34045
34046 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34047
34048 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34049
34050 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34051 to indicate sparse block.
34052
16ae7781 340532008-06-12 Pavel Roskin <proski@gnu.org>
34054
e6d1a308 34055 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34056 number, grub_fshelp_read() does it for us.
34057
16ae7781 34058 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34059 linear disk read with journal translation.
34060 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34061 * include/grub/fshelp.h: Declare grub_fshelp_read().
34062
40fd3a2b 340632008-06-09 Pavel Roskin <proski@gnu.org>
34064
34065 * fs/minix.c (grub_minix_mount): Handle error reading
34066 superblock.
34067
f5679726 340682008-06-08 Robert Millan <rmh@aybabtu.com>
34069
34070 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34071 don't append the RAID prefix afterwards.
34072 Reported by Clint Adams.
34073
ce525529 340742008-06-08 Robert Millan <rmh@aybabtu.com>
34075
34076 Based on description from Pavel:
34077 * kern/disk.c (grub_disk_check_range): Rename to ...
34078 (grub_disk_adjust_range): ... this. Add a comment explaining the
34079 tasks performed by this function.
34080
ad4936a0 340812008-06-08 Robert Millan <rmh@aybabtu.com>
34082
34083 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34084 `num_serial' (for consistency with other variables).
34085 (struct grub_ntfs_data): Add `uuid' member.
34086 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34087 (grub_ntfs_uuid): New function.
34088 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34089
dc20b0f9 340902008-06-07 Pavel Roskin <proski@gnu.org>
34091
34092 * util/biosdisk.c (open_device): Revert last change to the
34093 function, it broke installation. The sector needs to be
34094 different dependent on which device is opened.
34095
c5e3cfba 340962008-06-06 Robert Millan <rmh@aybabtu.com>
34097
34098 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34099 rest of GRUB, and breakage doesn't happen if its value were modified.
34100
34101 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34102 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34103 a constant (same value).
34104 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34105 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34106
26a1f8c4 341072008-06-06 Robert Millan <rmh@aybabtu.com>
34108
34109 * util/biosdisk.c (open_device): Do not modify sector offset when
34110 accessing a partition. kern/disk.c already handles this for us.
34111
25d6b327 341122008-06-06 Robert Millan <rmh@aybabtu.com>
34113
34114 * util/grub-emu.c (grub_machine_init): Move code in this function from
34115 here ...
34116 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34117 segfault in case grub_printf() is called).
34118
34119 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34120 grub_probe. Update all users not to explicitly add it again.
34121 (grub_device): New variable; contains corresponding device for grubdir.
34122 (fs_module, partmap_module, devabstraction_module): Pass
34123 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34124 every time.
34125
9ece62fb 341262008-06-05 Robert Millan <rmh@aybabtu.com>
34127
34128 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34129 is found, print it (same layout as with labels).
34130
1ad36d37 341312008-06-04 Robert Millan <rmh@aybabtu.com>
34132
34133 * util/biosdisk.c (get_drive): Rename to ...
34134 (find_grub_drive): ... this. Update all users.
34135
34136 (get_os_disk): Rename to ...
34137 (convert_system_partition_to_system_disk): ... this. Update all users.
34138
34139 (find_drive): Rename to ...
34140 (find_system_device): ... this. Update all users.
34141
e6a30859 341422008-06-04 Robert Millan <rmh@aybabtu.com>
34143
34144 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34145 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34146 (make_device_map): Likewise.
34147
00c108a4 341482008-06-01 Robert Millan <rmh@aybabtu.com>
34149
34150 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34151 before dereferencing it.
34152
34153 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34154 union with fat12/fat16-specific ones. Add some new fields, including
34155 `num_serial' for both versions.
34156 (struct grub_fat_data): Add `uuid' member.
34157 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34158 names. Initialize `data->uuid' using `num_serial'.
34159 (grub_fat_uuid): New function.
34160 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34161
34162 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34163 (grub_reiserfs_uuid): New function.
34164 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34165 member.
34166
34167 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34168 (grub_xfs_uuid): New function.
34169 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34170
1385c5bb 341712008-06-01 Robert Millan <rmh@aybabtu.com>
34172
34173 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34174 code that is backward compatible with pre-uuid search command.
34175
c682dfd7 341762008-05-31 Robert Millan <rmh@aybabtu.com>
34177
34178 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34179 floppies after everything else, to ensure floppy drive isn't accessed
34180 unnecessarily (patch from Bean).
34181
b7db5d47 341822008-05-31 Robert Millan <rmh@aybabtu.com>
34183
34184 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34185 not print device names when we were asked to set a variable.
34186
6e037aa9 341872008-05-31 Robert Millan <rmh@aybabtu.com>
34188
34189 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34190 using "cursor-on" and "cursor-off" commands (understood at least by
34191 the Open Firmware flavour on OLPC).
34192
41305bc8 341932008-05-31 Michael Gorven <michael@gorven.za.net>
34194
34195 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34196 on and off sequences.
34197
69ba137e 341982008-05-31 Robert Millan <rmh@aybabtu.com>
34199
34200 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34201 * util/update-grub.in: Likewise.
34202
520ae21b 342032008-05-30 Pavel Roskin <proski@gnu.org>
34204
34205 * util/biosdisk.c (linux_find_partition): Simplify logic and
34206 make the code more universal. Keep special processing for
34207 devfs, but use a simple rule for all other devices. If the
34208 device ends with a number, append 'p' and the partition number.
34209 Otherwise, append only the partition number.
34210
5786569b 342112008-05-30 Robert Millan <rmh@aybabtu.com>
34212
34213 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34214 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34215 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34216 the `root' parameter to Linux.
34217
51500452 342182008-05-30 Robert Millan <rmh@aybabtu.com>
34219
34220 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34221 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34222 --fs_uuid with --fs-uuid.
34223 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34224 all filesystems support them).
34225
811d3878 342262008-05-30 Robert Millan <rmh@aybabtu.com>
34227
34228 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34229 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34230
cab63c95 342312008-05-30 Robert Millan <rmh@aybabtu.com>
34232
34233 * util/grub.d/00_header.in: Remove obsolete comment referencing
34234 convert_system_path_to_grub_path().
34235 * util/update-grub.in: Likewise.
34236 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34237 (convert_system_path_to_grub_path): Add a warning message explaining
34238 that this function is deprecated. Rely on is_path_readable_by_grub()
34239 for the readability checks.
34240 (font_path): Use is_path_readable_by_grub() for the readability
34241 check rather than convert_system_path_to_grub_path().
34242
972e2f7a 342432008-05-30 Robert Millan <rmh@aybabtu.com>
34244
34245 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34246 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34247 converting it first.
34248 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34249 grub.cfg for access to font file, and afterwards call it again to set
34250 the root device.
34251
62191274 342522008-05-30 Robert Millan <rmh@aybabtu.com>
34253
34254 * commands/search.c (options): Add --fs_uuid option.
34255 (search_fs_uuid): New function.
34256 (grub_cmd_search): Fix --set argument passing.
34257 Use search_fs_uuid() when requested via --fs_uuid.
34258 (grub_search_init): Update help message.
34259 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34260 and redeclare it as an array of 16-bit words.
34261 (grub_ext2_uuid): New function.
34262 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34263 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34264 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34265 (GRUB_DEVICE_BOOT_UUID): New variables.
34266 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34267 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34268 whenever possible.
34269 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34270 just assume `root' variable has the right value.
34271 * util/grub.d/10_linux.in: Likewise.
34272 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34273 via PRINT_FS_UUID.
34274 (main): Recognise `-t fs_uuid' argument.
34275
01b73ec8 342762008-05-30 Robert Millan <rmh@aybabtu.com>
34277
34278 * util/biosdisk.c (map): Redefine structure to hold information
34279 about GRUB drive name.
fe6b695a 34280 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34281 drive names.
34282 (call_hook): Remove.
34283 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34284 member. Assume drive has partitions.
34285 (grub_util_biosdisk_open): Access device names via `.device' struct
34286 member.
34287 (open_device): Likewise.
34288 (find_drive): Likewise.
34289 (read_device_map): Adjust map[] usage to match the new struct
34290 definition. Don't check for duplicates (still possible, but not cheap
34291 anymore).
34292 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34293 (make_device_name): Remove assumption of BIOS-like drive names.
34294
22f16596 342952008-05-30 Pavel Roskin <proski@gnu.org>
34296
34297 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34298 compiling execute.c doesn't need grub_script.tab.h anymore.
34299 (normal/command.c_DEPENDENCIES): Likewise.
34300 (normal/function.c_DEPENDENCIES): Likewise.
34301 * conf/i386-ieee1275.rmk: Likewise.
34302 * conf/i386-linuxbios.rmk: Likewise.
34303 * conf/i386-pc.rmk: Likewise.
34304 * conf/powerpc-ieee1275.rmk: Likewise.
34305 * conf/sparc64-ieee1275.rmk: Likewise.
34306
528ad8f2 343072008-05-29 Pavel Roskin <proski@gnu.org>
34308
d1dff95d 34309 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34310 when scanning metadata for volume group name.
34311
528ad8f2 34312 * include/grub/script.h: Don't include grub_script.tab.h. It's
34313 a generated file, which may only be included from the files with
34314 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34315 use union YYSTYPE, as the later allows forward declaration.
34316 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34317
47248e08 343182008-05-29 Robert Millan <rmh@aybabtu.com>
34319
34320 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34321 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34322 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34323 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34324 scan codes.
34325
ee632529 343262008-05-29 Robert Millan <rmh@aybabtu.com>
34327
34328 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34329 control key combinations.
34330
eee96e08 343312008-05-29 Robert Millan <rmh@aybabtu.com>
34332
34333 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34334 * util/ieee1275/grub-install.in: ... to here.
34335 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34336 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34337 (grub_install_SOURCES): Likewise.
34338
da9a6a94 343392008-05-29 Robert Millan <rmh@aybabtu.com>
34340
34341 * fs/affs.c: Update copyright year.
34342 * fs/ext2.c: Likewise.
34343 * fs/fshelp.c: Likewise.
34344 * fs/hfsplus.c: Likewise.
34345 * fs/ntfs.c: Likewise.
34346 * fs/xfs.c: Likewise.
34347 * include/grub/fshelp.h: Likewise.
34348 * util/grub-mkdevicemap.c: Likewise.
34349
12e65f3a 343502008-05-28 Robert Millan <rmh@aybabtu.com>
34351
34352 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34353 might need to be fatfs to support some firmware implementations
34354 (e.g. OFW or EFI).
34355
23023641 343562008-05-28 Robert Millan <rmh@aybabtu.com>
34357
34358 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34359 devices.
34360 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34361 (make_device_map): Likewise.
34362
887d2619 343632008-05-20 Bean <bean123ch@gmail.com>
34364
34365 * fs/fshelp.c (grub_fshelp_map_block): New function.
34366 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34367 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34368
34369 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34370 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34371 (grub_fshelp_journal): New structure.
34372 (grub_fshelp_map_block): New function prototype.
34373 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34374 (grub_fshelp_map_block): Likewise.
34375
34376 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34377 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34378 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34379 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34380 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34381 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34382 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34383 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34384 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34385 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34386 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34387 (grub_ext2_sblock): New members for journal support.
34388 (grub_ext3_journal_header): New structure.
34389 (grub_ext3_journal_revoke_header): Likewise.
34390 (grub_ext3_journal_block_tag): Likewise.
34391 (grub_ext3_journal_sblock): Likewise.
34392 (grub_fshelp_node): New members logfile and journal.
34393 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34394 grub_fshelp_map_block to get real block number.
34395 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34396 number.
34397 (grub_ext2_read_inode): Likewise.
34398 (grub_ext3_get_journal): New function.
34399 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34400 (grub_ext2_close): Release memory used by journal.
34401
34402 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34403 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34404 (grub_reiserfs_transaction_header): Renamed to
34405 grub_reiserfs_description_block, replace field data with real_blocks.
34406 (grub_reiserfs_commit_block): New structure.
34407 (grub_reiserfs_data): New member journal.
34408 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34409 number.
34410 (grub_reiserfs_read_symlink): Likewise.
34411 (grub_reiserfs_iterate_dir): Likewise.
34412 (grub_reiserfs_open): Likewise.
34413 (grub_reiserfs_read): Likewise.
34414 (grub_reiserfs_get_journal): New function.
34415 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34416 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34417 using grub_reiserfs_get_journal.
34418 (grub_reiserfs_close): Release memory used by journal.
34419
34420 * fs/affs.c (grub_affs_read_block): Change block type to
34421 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34422
34423 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34424
34425 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34426
34427 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34428
34429 * fs/udf.c (grub_udf_read_block): Change block type to
34430 grub_disk_addr_t. Use type cast to avoid warning.
34431
34432 * fs/xfs.c (grub_xfs_read_block): Likewise.
34433
b7c6bed5 344342008-05-16 Christian Franke <franke@computer.org>
34435
34436 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34437 to ensure that break with ESC will always work.
34438 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34439 Remove ESC from keyboard queue.
34440
eedf167f 344412008-05-16 Christian Franke <franke@computer.org>
34442
34443 * util/biosdisk.c: [__CYGWIN__] Add includes.
34444 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34445 (get_os_disk): Move variable declarations to OS specific
34446 parts to avoid warning.
34447 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34448 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34449 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34450 Cygwin.
34451 * util/getroot.c: [__CYGWIN__] Add includes.
34452 (strip_extra_slashes): Fix "/" case.
34453 [__CYGWIN__] (get_win32_path): New function.
34454 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34455 [__CYGWIN__] (find_root_device): Disable.
34456 [__CYGWIN__] (get_bootsec_serial): New function.
34457 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34458 [__linux__] (grub_guess_root_device): Add early returns to simplify
34459 structure.
34460 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34461 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34462 check for Linux only.
34463
a079699e 344642008-05-15 Bean <bean123ch@gmail.com>
34465
34466 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34467 keyboard hang problem in apple's intel mac.
34468
1cf4059a 344692008-05-09 Robert Millan <rmh@aybabtu.com>
34470
34471 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34472 devices.
34473 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34474 (make_device_map): Likewise.
34475 Reported by Aurelien Jarno <aurel32@debian.org>
34476
ed759390 344772008-05-07 Ian Campbell <ijc@hellion.org.uk>
34478
34479 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34480 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34481 (make_device_map): Output entries for xvd type disks.
34482
b56c4eaa 344832008-05-07 Robert Millan <rmh@aybabtu.com>
34484
34485 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34486 devices.
34487 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34488 (make_device_map): Likewise.
34489 Reported by Roland Dreier <rdreier@cisco.com>
34490
7f8866ed 344912008-05-07 Robert Millan <rmh@aybabtu.com>
34492
34493 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34494 grub_strstr() call. Correct a few mistakes in failure path handling.
34495
b0346e0f 344962008-05-06 Robert Millan <rmh@aybabtu.com>
34497
34498 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34499 Do not print a trailing slash (therefore, the root directory is an
34500 empty string).
34501 (convert_system_path_to_grub_path): Do not remove trailing slash
34502 from make_system_path_relative_to_its_root() output.
34503
34504 * util/i386/pc/grub-install.in: Add trailing slash to output from
34505 make_system_path_relative_to_its_root().
34506
6cf12cbd 345072008-05-06 Robert Millan <rmh@aybabtu.com>
34508
34509 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34510 ensures that output lines aren't intermangled with those sent to
34511 stderr (via grub_util_info()).
34512 * util/grub-probe.c (grub_refresh): Likewise.
34513 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34514
0fbb3117 345152008-05-05 Christian Franke <franke@computer.org>
34516
34517 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34518 Add Cygwin device names.
34519 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34520 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34521 (check_device): Return error instead of success on empty name.
34522 (make_device_map): Move label inside linux specific code to
34523 prevent compiler warning.
34524
8124cdb7 345252008-04-30 Robert Millan <rmh@aybabtu.com>
34526
34527 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34528 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34529 first boot option.
34530 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34531
094c01d0 345322008-04-29 Robert Millan <rmh@aybabtu.com>
34533
34534 * docs/grub.cfg: New file (example GRUB configuration).
34535
f4b1fc02 345362008-04-26 Robert Millan <rmh@aybabtu.com>
34537
329ce2a5 34538 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34539 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34540 and `disk/ieee1275/nand.c'.
f4b1fc02 34541
25f16ec1 345422008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34543
25f16ec1 34544 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34545 i386-linuxbios.
34546
34547 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34548 change the buffer size to 4096 for cdrom device.
34549
34550 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34551 and nand.mod.
34552 (_linux_mod_SOURCES): New variable.
34553 (_linux_mod_CFLAGS): Likewise.
34554 (_linux_mod_LDFLAGS): Likewise.
34555 (linux_mod_SOURCES): Likewise.
34556 (linux_mod_CFLAGS): Likewise.
34557 (linux_mod_LDFLAGS): Likewise.
34558 (nand_mod_SOURCES): Likewise.
34559 (nand_mod_CFLAGS): Likewise.
34560 (nand_mod_LDFLAGS): Likewise.
34561
34562 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34563 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34564 type property. (nand device in olpc don't have this property)
34565
34566 * include/grub/disk.h (grub_disk_dev_id): New macro
34567 GRUB_DISK_DEVICE_NAND_ID.
34568
34569 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34570 function prototype.
34571 (grub_rescue_cmd_initrd): Likewise.
34572
34573 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34574 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34575 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34576
25f16ec1 34577 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34578 GRUB_MACHINE_IEEE1275 is defined.
34579
34580 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34581 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34582
34583 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34584 on nested function heap_init.
34585 (grub_upper_mem): New variable for i386-ieee1275.
34586 (grub_get_extended_memory): New function for i386-ieee1275.
34587 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34588
34589 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34590 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34591 property.
f19dbdb7 34592
25f16ec1 34593 * loader/i386/ieee1275/linux.c: New file.
34594
34595 * loader/i386/ieee1275/linux_normal.c: New file.
34596
34597 * disk/ieee1275/nand.c: New file.
34598
e89d61e9 345992008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34600
34601 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34602 value.
34603 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34604
602566f6 346052008-04-18 Robert Millan <rmh@aybabtu.com>
34606
34607 Restructures early code path on ieee1275 to unify grub_main() as
34608 the first C function that is executed in every platform.
34609
34610 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34611 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34612 cmain().
34613 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34614 * kern/ieee1275/cmain.c (cmain): Rename to ...
34615 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34616 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34617 at the beginning.
34618
57490c2b 346192008-04-18 Robert Millan <rmh@aybabtu.com>
34620
34621 * util/update-grub.in: Fix syntax error when setting
34622 `GRUB_PRELOAD_MODULES'.
34623 Reported by Stephane Chazelas <stephane@artesyncp.com>
34624
1977517d 346252008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34626
34627 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34628 section into account, newer toolchains generate unique build ids
34629 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34630 we want build ids to be preserved
1977517d 34631 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34632 far from other sections don't cause the raw binary images grow
34633 size
34634
bfb1f1a2 346352008-04-15 Robert Millan <rmh@aybabtu.com>
34636
34637 * disk/lvm.c: Update copyright year.
34638 * kern/misc.c: Likewise.
34639
01979850 346402008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34641
34642 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34643 there is no memory left for physical volume name.
01979850 34644
0a1150e2 346452008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34646
34647 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34648 volume name mapping to support bigger than 9 character names properly.
34649
82ead3fe 346502008-04-13 Robert Millan <rmh@aybabtu.com>
34651
34652 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34653 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34654
e54a72f5 346552008-04-13 Christian Franke <franke@computer.org>
34656
34657 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34658 to create a floppy emulation boot CD when non emulation mode
34659 does not work.
34660 Enable Joliet CD filesystem extension.
34661
9fe86034 346622008-04-13 Robert Millan <rmh@aybabtu.com>
34663
34664 * kern/misc.c (grub_strncat): Fix off-by-one error.
34665 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34666
34667 * kern/env.c (grub_env_context_close): Clear current context, not
34668 previous one.
34669 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34670
34671 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34672
7ceeee39 346732008-04-13 Robert Millan <rmh@aybabtu.com>
34674
34675 Improve robustness when handling LVM.
34676
34677 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34678 (and leave `*p' unmodified).
7ceeee39 34679 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34680 through it.
34681 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34682 iterating through it.
34683 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34684 through it.
fe6b695a 34685 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34686 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34687 Don't assume `vg->pvs != NULL' when iterating through it.
34688
58cd3d85 346892008-04-13 Robert Millan <rmh@aybabtu.com>
34690
34691 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34692 * genmk.rb (partmap): New variable.
34693 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34694 (#{partmap}): New target rule.
34695 * genpartmaplist.sh: New file.
34696 * Makefile.in (pkglib_DATA): Add partmap.lst.
34697 (partmap.lst): New target rule.
34698 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34699 modules (including all partition maps), instead of preloading them.
34700
78b51059 347012007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34702
34703 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34704 `linux-boot-prober' (if installed) to detect other operating
34705 systems which are installed on the computer and add them to
34706 the boot menu.
34707 * conf/common.rmk: Build and install 30_os-prober.
34708
a91627b4 347092008-04-12 Robert Millan <rmh@aybabtu.com>
34710
34711 * kern/powerpc/ieee1275/init.c: Move from here ...
34712 * kern/ieee1275/init.c: ... to here. Update all users.
34713
34714 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34715 * kern/ieee1275/cmain.c: ... to here. Update all users.
34716
34717 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34718 * kern/ieee1275/openfw.c: ... to here. Update all users.
34719
34720 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34721 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34722
322562ea 347232008-04-10 Pavel Roskin <proski@gnu.org>
34724
34725 * configure.ac: Always use "_cv_" in cache variables for
34726 compatibility with Autoconf 2.62.
34727
a02a73c5 347282008-04-07 Robert Millan <rmh@aybabtu.com>
34729
34730 Revert grub/machine/init.h addition by Pavel (since it breaks on
34731 i386-ieee1275 and others):
34732 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34733 * util/powerpc/ieee1275/misc.c: Likewise.
34734
25c024b1 347352008-04-07 Robert Millan <rmh@aybabtu.com>
34736
34737 * util/grub-probe.c (probe): Improve error message.
34738
3cbd2f98 347392008-04-07 Robert Millan <rmh@aybabtu.com>
34740
34741 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34742 (this prevents the presence of a bogus entry from ruining the whole
34743 thing).
34744
87a297bf 347452008-04-06 Pavel Roskin <proski@gnu.org>
34746
36747a62 34747 * util/biosdisk.c: Include grub/util/biosdisk.h.
34748 * util/grub-fstest.c (execute_command): Make static.
34749 * util/grub-mkdevicemap.c (check_device): Likewise.
34750 * util/i386/pc/misc.c: Include grub/machine/init.h.
34751 * util/powerpc/ieee1275/misc.c: Likewise.
34752 * util/lvm.c: Include grub/util/lvm.h.
34753 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34754 grub/cache.h.
34755 * util/raid.c: Include grub/util/raid.h.
34756 (grub_util_getdiskname): Make static.
34757
87a297bf 34758 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34759 grub_hostfs_fini(), as they are called from grub_init_all() and
34760 grub_fini_all() respectively. This fixes an infinite loop in
34761 grub-fstest due to double registration of hostfs.
34762 Reported by Christian Franke <Christian.Franke@t-online.de>
34763
f6ce7629 347642008-04-05 Pavel Roskin <proski@gnu.org>
34765
34766 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34767 all 8 functions. Otherwise, probe function 0 only.
34768
070e49e4 347692008-04-04 Pavel Roskin <proski@gnu.org>
34770
8b088a4c 34771 * commands/lspci.c (grub_lspci_iter): Print the bus number
34772 correctly.
34773
4f657021 34774 * commands/lspci.c (grub_pci_classes): Fix typos.
34775 (grub_lspci_iter): Don't print func twice. Print vendor ID
34776 before device ID, as it's normally done.
34777
070e49e4 34778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34779 Fix signedness warnings.
34780 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34781 Likewise.
34782 * util/ieee1275/get_disk_name.c: Include config.h so that
34783 _GNU_SOURCE is defined and getline() is declared. Mark an
34784 unused argument as such. Fix a signedness warning.
34785
ba7328dc 347862008-04-02 Pavel Roskin <proski@gnu.org>
34787
26887f22 34788 * genkernsyms.sh.in: Use more robust assignments for CC and
34789 srcdir. Quote srcdir.
34790 * gensymlist.sh.in: Likewise. Assert at the compile time that
34791 the symbol table is not empty.
34792
ba7328dc 34793 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34794 * fs/cpio.c (grub_cpio_read): Likewise.
34795
0f582c6b 347962008-04-01 Pavel Roskin <proski@gnu.org>
34797
4b6e1995 34798 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34799 * disk/host.c (grub_host_open): Likewise.
34800 * disk/loopback.c (grub_loopback_open): Likewise.
34801 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34802 disk->id as in disk/host.c, not a multi-character constant.
34803
828a2768 34804 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34805 later is obsolete, potentially dangerous and sets a bad example.
34806 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34807 * util/misc.c (grub_util_get_image_size): Likewise.
34808
2bb4fb47 34809 * disk/loopback.c (options): Improve help for "--partitions".
34810
0f582c6b 34811 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34812 options to align them with the short options, e.g. "echo -e".
34813
a33224e0 348142008-03-31 Bean <bean123ch@gmail.com>
34815
34816 * video/reader/png.c (grub_png_data): New member is_16bit and
34817 image_data.
34818 (grub_png_decode_image_header): Detect 16 bit png image.
34819 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34820 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34821 (grub_video_reader_png): Release memory occupied by image_data.
34822
34823 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34824 4096 bytes.
34825 (grub_nfs_mount): Skip the test for sector per cluster.
34826
34827 * include/grub/ntfs.h (MAX_SPC): Removed.
34828
86cb4f54 348292008-03-31 Bean <bean123ch@gmail.com>
34830
34831 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34832 (grub_probe_SOURCES): Add fs/afs.c.
34833 (grub_fstest_SOURCES): Likewise.
34834 (afs_mod_SOURCES): New variable.
34835 (afs_mod_CFLAGS): Likewise.
34836 (afs_mod_LDFLAGS): Likewise.
34837
34838 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34839 (grub_emu_SOURCES): Likewise.
34840
34841 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34842
34843 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34844
34845 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34846
34847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34848
34849 * fs/afs.c: New file.
34850
17c74c21 348512008-03-30 Pavel Roskin <proski@gnu.org>
34852
4cb68e89 34853 * disk/host.c: Include grub/misc.h to fix a warning.
34854 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34855 warnings about implicit declarations.
34856
8790bb04 34857 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34858 variable.
34859 * include/grub/i386/loader.h: Change declaration of
34860 grub_linux_boot() to match what grub_loader_set() expects.
34861 * util/getroot.c (grub_guess_root_device): Return const char* to
34862 fix a warning.
34863 * util/grub-probe.c (probe): Fix a warning about uninitialized
34864 abstraction_name variable.
34865 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34866 second argument as unused to fix a warning.
34867
9a3f3296 34868 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34869 missing grub_error() call.
34870
0ecef90d 34871 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34872 2.60 and newer uses it to define datadir.
34873
0bf6d401 34874 * commands/sleep.c: Fix warning about implicit declaration.
34875 * disk/memdisk.c: Likewise.
34876 * loader/aout.c: Likewise.
34877 * loader/i386/bsd_normal.c: Likewise.
34878 * util/grub-probe.c: Likewise.
34879
7cdacf97 34880 * commands/i386/cpuid.c (has_longmode): Make static.
34881 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34882 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34883
17c74c21 34884 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34885 GDT. This is more robust, as %ds can change.
34886 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34887 calling real_to_prot().
34888 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34889
80a3e68b 348902008-03-28 Pavel Roskin <proski@gnu.org>
34891
34892 * kern/i386/pc/startup.S: Assert that uncompressed functions
34893 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34894 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34895 code, as they push parts of the code (error handlers) beyond
34896 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34897 code as correctness and size.
34898
77bcd272 348992008-03-28 Pavel Roskin <proski@gnu.org>
34900
34901 * kern/i386/pc/startup.S
34902 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34903 data block address to the real mode, keep offset minimal. This
34904 works around a bug in AWARD BIOS on old Athlon systems, which
34905 makes CD detection hang.
34906
c5dfd43b 349072008-03-26 Pavel Roskin <proski@gnu.org>
34908
34909 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34910 const.
34911 * include/grub/normal.h: Add grub_parse_color_name_pair()
34912 declaration.
34913
bf962df2 349142008-03-24 Bean <bean123ch@gmail.com>
34915
34916 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34917 (cd_count): Removed.
34918 (cd_drive): New variable.
34919 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34920 (grub_biosdisk_call_hook): Likewise.
34921 (grub_biosdisk_iterate): Change cdrom detection method.
34922 (grub_biosdisk_open): Replace cd_start with cd_drive.
34923 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34924 detect cdrom device.
34925
34926 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34927 Removed.
34928 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34929 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34930 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34931 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34932 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34933 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34934 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34935 (grub_biosdisk_cdrp): New structure.
34936 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34937
34938 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34939
34940 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34941 device.
34942
34943 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34944 New function.
34945
68e7fc7a 349462008-03-20 Robert Millan <rmh@aybabtu.com>
34947
34948 Remove 2 TiB limit in ata.mod.
34949 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34950 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34951 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34952 grub_uint64_t instead of grub_uint32_t.
34953
38ad2cf5 349542008-03-05 Bean <bean123ch@gmail.com>
34955
34956 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34957 (grub_multiboot): Set boot device.
34958
34959 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34960
2b89344e 349612008-03-02 Bean <bean123ch@gmail.com>
34962
34963 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34964 symlink_buffer.
34965
87a95d1f 349662008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34967
34968 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34969 texinfo.tex.
34970
34971 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34972 modified.
34973
34974 * docs/fdl.texi: New file.
f19dbdb7 34975
87a95d1f 34976 * docs/mdate-sh: New file. Copied from gnulib.
34977 * docs/texinfo.tex: Likewise.
34978
34979 * config.guess: Updated from gnulib.
34980 * install-sh: Likewise.
34981
7dc15d8e 349822008-02-28 Robert Millan <rmh@aybabtu.com>
34983
34984 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34985 (aout_mod_SOURCES): New variable.
34986 (aout_mod_CFLAGS): Likewise.
34987 (aout_mod_LDFLAGS): Likewise.
34988
34989 * conf/i386-ieee1275.rmk: Likewise.
34990
b00ab696 349912008-02-28 Robert Millan <rmh@aybabtu.com>
34992
34993 * util/update-grub.in: Reorganise terminal validity check. Accept
34994 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34995 Based on suggestion by Franklin PIAT.
34996
79ca2d78 349972008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34998
34999 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35000 function.
35001 * util/getroot.c (grub_util_check_block_device): New function that
35002 returns the given argument if it is a block device and returns NULL else.
35003 * util/grub-probe.c (argument_is_device): New variable.
35004 (probe): Promote device_name from a variable to an argument. Receive
35005 device_name from grub_util_check_block_device() if path is NULL and from
35006 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35007 (options): Introduce new parameter '-d, --device'.
79ca2d78 35008 (main): Add description of the new parameter to the help screen.
35009 Rename path variable to argument. Set argument_is_device if the '-d'
35010 option is given. Pass argument to probe() depending on
35011 argument_is_device.
35012
0d16e571 350132008-02-24 Bean <bean123ch@gmail.com>
35014
35015 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35016 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35017 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35018 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35019 (GRUB_ISO9660_VOLDESC_END): Likewise.
35020 (grub_iso9660_primary_voldesc): New member escape.
35021 (grub_iso9660_data): New member joliet.
35022 (grub_iso9660_convert_string): New function.
35023 (grub_iso9660_mount): Detect joliet extension.
35024 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35025 (grub_iso9660_iso9660_label): Likewise.
35026
35027 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35028 (grub_setup_SOURCES): Add fs/udf.c.
35029 (grub_fstest_SOURCES): Likewise.
35030 (udf_mod_SOURCES): New variable.
35031 (udf_mod_CFLAGS): Likewise.
35032 (udf_mod_LDFLAGS): Likewise.
35033
35034 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35035 (grub_emu_SOURCES): Likewise.
35036
35037 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35038
35039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35040
35041 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35042
35043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35044
35045 * fs/udf.c: New file.
35046
8a594a17 350472008-02-24 Robert Millan <rmh@aybabtu.com>
35048
35049 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35050 (normal/lexer.c_DEPENDENCIES): New variables.
35051 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35052 (normal/lexer.c_DEPENDENCIES): Likewise.
35053 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35054 (normal/lexer.c_DEPENDENCIES): Likewise.
35055 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35056 (normal/lexer.c_DEPENDENCIES): Likewise.
35057 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35058 (normal/lexer.c_DEPENDENCIES): Likewise.
35059 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35060 (normal/lexer.c_DEPENDENCIES): Likewise.
35061
2dc33c03 350622008-02-23 Robert Millan <rmh@aybabtu.com>
35063
35064 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35065 since they were intended to be in hex. This didn't break previously
35066 because of a bug in gpt_partition_map_iterate() (see below).
35067
35068 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35069 when checking the validity of GPT header.
35070 Remove `partno', since it always provides the same information as `i'.
35071
f6f4cfb0 350722008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35073
35074 * include/grub/efi/time.h: Fix a wrong comment.
35075
79ff665f 350762008-02-19 Pavel Roskin <proski@gnu.org>
35077
35078 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35079 message.
35080
d38e24c2 350812008-02-19 Bean <bean123ch@gmail.com>
35082
35083 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35084 (aout_mod_SOURCES): New variable.
35085 (aout_mod_CFLAGS): Likewise.
35086 (aout_mod_LDFLAGS): Likewise.
35087 (_bsd_mod_SOURCES): New variable.
35088 (_bsd_mod_CFLAGS): Likewise.
35089 (_bsd_mod_LDFLAGS): Likewise.
35090 (bsd_mod_SOURCES): New variable.
35091 (bsd_mod_CFLAGS): Likewise.
35092 (bsd_mod_LDFLAGS): Likewise.
35093
35094 * include/grub/aout.h: New file.
35095
35096 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35097
35098 * include/grub/i386/bsd.h: New file.
35099
35100 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35101 to make it public.
35102
35103 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35104 function is called, so that it's possible to change it inside the hook.
35105 (grub_elf64_load): Likewise.
35106 (grub_elf_file): Don't close the file if elf header is not found.
35107 (grub_elf_close): Close the file if grub_elf_file fails (The new
35108 grub_elf_file won't close it).
35109 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35110 (grub_elf64_size): Likewise.
35111
35112 * kern/i386/loader.S (grub_unix_real_boot): New function.
35113
35114 * loader/aout.c: New file.
35115
35116 * loader/i386/bsd.c: New file.
35117
35118 * loader/i386/bsd_normal.c: New file.
35119
35120 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35121
35122 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35123 can test other formats.
d38e24c2 35124
b93bdb0f 351252008-02-19 Robert Millan <rmh@aybabtu.com>
35126
35127 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35128 (grub_gpt_partition_type_empty): Redefine with macro from
35129 `<grub/gpt_partition.h>'.
35130 (gpt_partition_map_iterate): Adjust partition type comparison.
35131
35132 Export `entry' as partmap-specific `part.data' struct.
35133 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35134
35135 * include/grub/gpt_partition.h (grub_gpt_header)
35136 (grub_gpt_partentry): ... to here (new file).
35137
35138 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35139
35140 (grub_gpt_partition_type_bios_boot): New const variable, defined
35141 with macro from `<grub/gpt_partition.h>'.
35142
35143 (setup): Replace `first_start' with `embed_region', which keeps
35144 track of the embed region (and is partmap-agnostic).
35145
35146 Replace find_first_partition_start() with find_usable_region(),
35147 which finds a usable region for embedding using partmap-specific
35148 knowledge (supports PC/MSDOS and GPT).
35149
35150 Fix all assumptions that the embed region start at sector 1, using
35151 `embed_region.start' from now on. Similarly, use `embed_region.end'
35152 rather than `first_start' to calculate available size.
35153
35154 In grub_util_info() message, replace "into after the MBR" with an
35155 indication of the specific sector our embed region starts at.
35156
66cb40f6 351572008-02-19 Robert Millan <rmh@aybabtu.com>
35158
35159 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35160 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35161 `commands/reboot.c'.
35162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35163 (halt_mod_SOURCES): Likewise.
35164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35165 (halt_mod_SOURCES): Likewise.
35166
b7202015 351672008-02-17 Christian Franke <franke@computer.org>
35168
35169 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35170
32b0fc49 351712008-02-17 Robert Millan <rmh@aybabtu.com>
35172
35173 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35174 set `first_start' to 0 for non-PC/MSDOS partition maps.
35175
aca63502 351762008-02-16 Robert Millan <rmh@aybabtu.com>
35177
35178 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35179 do not assume partition map is PC/MSDOS before performing checks that
35180 are specific to that layout.
35181
0de8be86 351822008-02-13 Robert Millan <rmh@aybabtu.com>
35183
35184 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35185 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35186 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35187
c3db8364 351882008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35189
35190 * configure.ac: Only a cosmetic change on the handling of
35191 -fno-stack-protector.
35192
f714229e 351932008-02-12 Alexandre Boeglin <alex@boeglin.org>
35194
c3db8364 35195 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35196 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35197 reboot.c.
f714229e 35198 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35199 (halt_mod_SOURCES): New variable.
35200 (halt_mod_CFLAGS): Likewise.
35201 (halt_mod_LDFLAGS): Likewise.
35202 (reboot_mod_SOURCES): Likewise.
35203 (reboot_mod_CFLAGS): Likewise.
35204 (reboot_mod_LDFLAGS): Likewise.
35205
c3db8364 35206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35207 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35208 reboot.c.
f714229e 35209 (halt_mod_SOURCES): Likewise.
35210 (reboot_mod_SOURCES): Likewise.
35211
c3db8364 35212 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35213 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35214 (reboot_mod_SOURCES): Likewise.
35215
35216 * commands/i386/pc/reboot.c: merge this file ...
35217
35218 * commands/ieee1275/reboot.c: ... and this file ...
35219
35220 * commands/reboot.c: ... to this file.
c3db8364 35221 Add some precompiler directive to include the correct header for
35222 each machine.
f714229e 35223
35224 * commands/ieee1275/halt.c: move this file ...
35225
35226 * commands/halt.c: ... to here.
c3db8364 35227 Add some precompiler directive to include the correct header for
35228 each machine.
f714229e 35229
35230 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35231 (grub_halt): Likewise.
35232
35233 * kern/efi/efi.c (grub_reboot): New function.
35234 (grub_halt): Likewise.
35235
c74493e0 352362008-02-12 Robert Millan <rmh@aybabtu.com>
35237
35238 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35239 /dev (like it is done for /dev/mapper). This doesn't provide support
35240 for EVMS, but at least it is now easy to identify the problem when it
35241 arises.
35242
d0db4b04 352432008-02-11 Robert Millan <rmh@aybabtu.com>
35244
35245 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35246 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35247 comparing it with -1, not 0.
35248
bf748642 352492008-02-10 Robert Millan <rmh@aybabtu.com>
35250
35251 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35252 `disk/lvm.c'.
35253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35254 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35255
35256 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35257 `disk/lvm.c' to the end of the list.
35258 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35259 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35260
b5db202a 352612008-02-10 Robert Millan <rmh@aybabtu.com>
35262
35263 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35264 grub_print_error() instead. This will let user know why we're entering
35265 rescue mode.
35266 Based on suggestions from Sam Morris.
35267
83abee31 352682008-02-10 Alexandre Boeglin <alex@boeglin.org>
35269
35270 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35271 on remaining N args, instead of "--" arg N times.
35272
78d5a08b 352732008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35274
35275 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35276 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35277 pattern for unknown glyphs.
35278
68807e5f 352792008-02-09 Robert Millan <rmh@aybabtu.com>
35280
35281 * configure.ac: Probe for `help2man'.
35282 * Makefile.in (builddir): New variable.
35283 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35284 or otherwise add a few flags/options to it.
35285 (install-local): For every executable utility or script that is
35286 installed, invoke $(HELP2MAN) to install a manpage based on --help
35287 output.
35288
35289 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35290 that it doesn't prevent --help from working in build tree.
35291
35292 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35293 with `bug-grub@gnu.org'.
35294 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35295 * util/update-grub.in (usage): New function.
35296 Implement proper argument check, with support for --help and --version
35297 (as well as existing -y).
35298
352992008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35300
35301 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35302 avoid overwriting previous output.
35303 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35304
c1962162 353052008-02-09 Robert Millan <rmh@aybabtu.com>
35306
35307 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35308 drawing the menu.
35309
3dac2e3f 353102008-02-09 Robert Millan <rmh@aybabtu.com>
35311
35312 * commands/sleep.c: New file.
35313 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35314 (sleep_mod_SOURCES): New variable.
35315 (sleep_mod_CFLAGS): Likewise.
35316 (sleep_mod_LDFLAGS): Likewise.
35317
7a634e08 353182008-02-09 Robert Millan <rmh@aybabtu.com>
35319
35320 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35321 situations in which we can deduce the RAID size and the superblock
35322 doesn't match it.
35323
b92f0c18 353242008-02-09 Robert Millan <rmh@aybabtu.com>
35325
35326 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35327 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35328 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35329
35330 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35331 and return a grub_diskmemberlist_t composed of physical array members.
35332 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35333
35334 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35335 prototype.
35336 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35337 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35338 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35339
35340 * util/grub-probe.c (probe): Move partmap probing code from here ...
35341 (probe_partmap): ... to here.
35342 (probe): Use probe_partmap() once for the disk we're probing, and
35343 additionally, when such disk contains a memberlist() struct member,
35344 once for each disk that is contained in the structure returned by
35345 memberlist().
35346
91a4bf68 353472008-02-09 Robert Millan <rmh@aybabtu.com>
35348
35349 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35350 environment variable to 'all' in order to obtain debug output from
35351 non-util/ code.
35352 * util/i386/pc/grub-setup.c (main): Likewise.
35353
a96f9caa 353542008-02-08 Robert Millan <rmh@aybabtu.com>
35355
35356 * disk/raid.c (grub_raid_scan_device): Check for
35357 `array->device[sb.this_disk.number]' rather than for
35358 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35359 guaranteed to be accessible.
a96f9caa 35360
b37a9222 353612008-02-08 Robert Millan <rmh@aybabtu.com>
35362
35363 * disk/raid.c: Update copyright.
35364 * fs/cpio.c: Likewise.
35365 * include/grub/raid.h: Likewise.
35366 * loader/i386/pc/multiboot.c: Likewise.
35367 * util/hostfs.c: Likewise.
35368
5626aee1 353692008-02-08 Robert Millan <rmh@aybabtu.com>
35370
35371 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35372 to a grub_disk_t array.
35373 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35374 `device[x]'.
35375 (grub_raid_scan_device): Replace `device[x].name' accesses with
35376 `device[x]->name'. Simplify initialization of `array->device[x]'.
35377
554f0187 353782008-02-08 Robert Millan <rmh@aybabtu.com>
35379
35380 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35381 grub_dprintf() calls.
35382 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35383 error message.
35384
1ec8425d 353852008-02-07 Christian Franke <franke@computer.org>
35386
35387 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35388 instead of fseek and ftell to support large files.
35389 (grub_hostfs_read): Likewise.
35390
f2156fda 353912008-02-07 Robert Millan <rmh@aybabtu.com>
35392
35393 Patch from Jeroen Dekkers.
35394 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35395 failure, since successfully reading all array members might not be
f2156fda 35396 required.
35397
9216e0e7 353982008-02-06 Robert Millan <rmh@aybabtu.com>
35399
35400 * util/grub-probe.c (probe): Simplify partmap probing (with the
35401 assumption that the first word up to the underscore equals to
35402 the module name).
35403
b0dfd29a 354042008-02-06 Christian Franke <franke@computer.org>
35405
35406 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35407 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35408 last block of a cpio or tar stream.
35409 Check for "TRAILER!!!" instead of any empty data
35410 block to detect last block of a cpio stream.
35411 (grub_cpio_dir): Fix constness of variable np.
35412 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35413 cpio or tar trailer is detected. This fixes a crash
35414 on open of a non existing file.
35415
c32865bf 354162008-02-05 Bean <bean123ch@gmail.com>
35417
35418 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35419 address of entry.
35420 (grub_multiboot_load_elf64): Likewise.
35421 (grub_multiboot): Initialize mbi structure.
35422
35423 * util/grub-fstest.c: Don't include unused header file script.h.
35424
fe6b695a 35425 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35426 of file.
35427 (grub_fstest_SOURCES): Likewise.
35428
409480b7 354292008-02-05 Robert Millan <rmh@aybabtu.com>
35430
35431 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35432 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35433 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35434 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35435
35436 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35437 (translation_table): Replace hardcoded values with macros
35438 provided by `<grub/term.h>'.
35439
35440 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35441 (keyboard_map): Correct/add a few values, with macros provided
35442 by `<grub/term.h>'.
35443 (keyboard_map_shift): Zero values that don't differ from their
35444 `keyboard_map' equivalents.
35445 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35446 Discard the second scan code that is always sent by Caps lock.
35447 Only use `keyboard_map_shift' when it provides a non-zero value,
35448 otherwise fallback to `keyboard_map'.
35449
99fadbaa 354502008-02-04 Bean <bean123ch@gmail.com>
35451
35452 * Makefile.in (enable_grub_fstest): New variable.
35453
35454 * conf/common.rmk (grub_fstest_init.lst): New rule.
35455 (grub_fstest_init.h): Likewise.
35456 (grub_fstest_init.c): Likewise.
35457 (util/grub-fstest.c_DEPENDENCIES): New variable.
35458 (grub_fstest_SOURCES): Likewise.
35459
35460 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35461
35462 * util/grub-fstest.c: New file.
35463
bf567c50 354642008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35465
35466 Make grub-setup handle a separate root device.
f19dbdb7 35467
bf567c50 35468 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35469 so that the root device can be compared with the destination
35470 device.
35471 When embedding the core image, if the root and destination devices
35472 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35473 0xFF.
35474 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35475
9be6b98b 354762008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35477
35478 Add support for having a grub directory in a different drive. This
35479 is still only the data handling part.
f19dbdb7 35480
9be6b98b 35481 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35482 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35483 (grub_root_drive): New variable.
35484
35485 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35486 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35487 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35488 as it was.
35489
35490 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35491
35492 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35493 macro.
35494 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35495
35496 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35497 is bogus, because PXE booting does not specify any drive
35498 correctly.
35499
35500 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35501 am not sure if this is really correct.
35502
35503 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35504 is always identical to the boot drive when booting from a CD.
35505
35506 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35507 longer.
35508 (root_drive): New variable.
35509 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35510 (setup_sectors): Push %dx right after popping it, because %dh will
35511 be modified later.
35512 (copy_buffer): Restore %dx.
35513
e0ca0677 355142008-02-03 Robert Millan <rmh@aybabtu.com>
35515
35516 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35517 use `cdboot.img' for cdrom images.
35518
3b3f6629 355192008-02-03 Robert Millan <rmh@aybabtu.com>
35520
35521 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35522 only setup gfxterm when `font' command has succeeded.
35523
d42b3672 355242008-02-03 Robert Millan <rmh@aybabtu.com>
35525
35526 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35527 (grub_rescue_cmd_multiboot_loader)
35528 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35529
fa370ea6 355302008-02-03 Pavel Roskin <proski@gnu.org>
35531
e0c5dacb 35532 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35533 %edx and %esi from stack only after grub_gate_a20() is called.
35534 grub_gate_a20() clobbers %edx.
35535
f2a76e1d 355362008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35537
35538 * configure.ac (AC_INIT): Bumped to 1.96.
35539
35540 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35541 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35542 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35543 video/readers/png.c.
35544
90fd32d1 355452008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35546
35547 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35548 (cdboot_img_SOURCES): New variable.
35549 (cdboot_img_ASFLAGS): New variable.
35550 (cdboot_img_LDFLAGS): New variable.
35551
35552 * boot/i386/pc/cdboot.S: New file.
35553
35554 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35555 (cd_count): Likewise.
35556 (grub_biosdisk_get_drive): Add support for cd device.
35557 (grub_biosdisk_call_hook): Likewise.
35558 (grub_biosdisk_iterate): Likewise.
35559 (grub_biosdisk_open): Likewise.
35560 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35561 (grub_biosdisk_rw): Support reading from cd device.
35562 (GRUB_MOD_INIT): Iterate cd devices.
35563
35564 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35565 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35566 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35567
35568 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35569
4020aa53 355702008-02-02 Robert Millan <rmh@aybabtu.com>
35571
35572 * commands/read.c: New file.
35573 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35574 (read_mod_SOURCES): New variable.
35575 (read_mod_CFLAGS): Likewise.
35576 (read_mod_LDFLAGS): Likewise.
35577
e03a1132 355782008-02-02 Robert Millan <rmh@aybabtu.com>
35579
35580 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35581 determining whether menu has to be displayed.
35582
58c69220 355832008-02-02 Marco Gerards <marco@gnu.org>
35584
35585 * bus/pci.c: New file.
35586
35587 * include/grub/pci.h: Likewise.
35588
35589 * include/grub/i386/pc/pci.h: Likewise.
35590
35591 * commands/lspci.c: Likewise.
35592
35593 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35594 `lspci.mod'.
35595 (pci_mod_SOURCES): New variable.
35596 (pci_mod_CFLAGS): Likewise.
35597 (pci_mod_LDFLAGS): Likewise.
35598 (lspci_mod_SOURCES): Likewise.
35599 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35600 (lspci_mod_LDFLAGS): Likewise.
58c69220 35601
c004e1b4 356022008-02-02 Bean <bean123ch@gmail.com>
35603
35604 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35605 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35606
35607 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35608 (grub_xfs_btree_node): New structure.
35609 (grub_xfs_btree_root): New structure.
35610 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35611 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35612 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35613 (GRUB_XFS_EXTENT_SIZE): Likewise.
35614 (grub_xfs_read_block): Support btree format type.
35615 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35616 Use directory block as basic unit.
35617
35618 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35619
35620 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35621 __attribute__ ((__regparm__ (1))).
35622
f95562bf 356232008-02-01 Robert Millan <rmh@aybabtu.com>
35624
35625 Correct a mistake in previous commit.
35626
35627 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35628 top.
35629 (normal/command.c_DEPENDENCIES): New variable.
35630
7d31f41f 356312008-02-01 Robert Millan <rmh@aybabtu.com>
35632
35633 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35634 top.
35635 (normal/command.c_DEPENDENCIES): New variable.
35636 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35637 * conf/i386-ieee1275.rmk: Likewise.
35638 * conf/i386-linuxbios.rmk: Likewise.
35639 * conf/i386-pc.rmk: Likewise.
35640 * conf/sparc64-ieee1275.rmk: Likewise.
35641 * conf/powerpc-ieee1275.rmk: Likewise.
35642 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35643
35644 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35645
60b6be74 356462008-02-01 Robert Millan <rmh@aybabtu.com>
35647
35648 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35649 call at beginning of function.
35650
078522ab 356512008-01-31 Pavel Roskin <proski@gnu.org>
35652
35653 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35654 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35655 (grub_mkrescue_SOURCES): Likewise.
078522ab 35656 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35657
ccaa8a5f 356582008-01-30 Robert Millan <rmh@aybabtu.com>
35659
35660 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35661 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35662 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35663 (grub_probe_SOURCES): ... to here.
35664
35665 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35666 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35667 * conf/i386-ieee1275.rmk: Likewise.
35668 * conf/i386-linuxbios.rmk: Likewise.
35669 * conf/powerpc-ieee1275.rmk: Likewise.
35670
ae5a9cd7 356712008-01-30 Tristan Gingold <gingold@free.fr>
35672
35673 * kern/rescue.c: Silently accept empty lines.
35674
70bc2ef2 356752008-01-29 Bean <bean123ch@gmail.com>
35676
35677 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35678 (real_code_2): Code cleanup and change comment style.
35679 (move_memory): Avoid using 32-bit address mode.
35680
6a4d50ea 356812008-01-29 Bean <bean123ch@gmail.com>
35682
35683 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35684 (png_mod_SOURCES): New variable.
35685 (png_mod_CFLAGS): Likewise.
35686 (png_mod_LDFLAGS): Likewise.
35687
35688 * video/readers/png.c: New file.
35689
11cc30ac 356902008-01-28 Robert Millan <rmh@aybabtu.com>
35691
35692 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35693 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35694 `ifndef GRUB_MOD_GAP' hack.
35695 * util/elf/grub-mkimage.c (add_segments): Likewise.
35696
3abc589f 356972008-01-27 Robert Millan <rmh@aybabtu.com>
35698
35699 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35700 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35701 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35702
e1907778 357032008-01-27 Robert Millan <rmh@aybabtu.com>
35704
35705 Get grub-emu to build again (including parallel builds).
35706
35707 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35708 Split into ...
35709 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35710 (normal/execute.c_DEPENDENCIES): ... this, ...
35711 (grub-emu_DEPENDENCIES): ... and this.
35712
35713 * conf/i386-efi.rmk: Likewise.
35714 * conf/i386-linuxbios.rmk: Likewise.
35715 * conf/i386-ieee1275.rmk: Likewise.
35716 * conf/powerpc-ieee1275.rmk: Likewise.
35717 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35718
2216b101 357192008-01-27 Robert Millan <rmh@aybabtu.com>
35720
35721 * NEWS: Add a few items.
35722
f75172d9 357232008-01-27 Robert Millan <rmh@aybabtu.com>
35724
35725 Fix parallel builds with grub-emu. Based on earlier commit for
35726 grub-probe and grub-setup.
35727
35728 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35729 (util/grub-emu.c_DEPENDENCIES): ... this.
35730 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35731 (util/grub-emu.c_DEPENDENCIES): ... this.
35732 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35733 (util/grub-emu.c_DEPENDENCIES): ... this.
35734 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35735 (util/grub-emu.c_DEPENDENCIES): ... this.
35736 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35737 (util/grub-emu.c_DEPENDENCIES): ... this.
35738
3f51de77 357392008-01-27 Pavel Roskin <proski@gnu.org>
35740
35741 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35742 to create a gap between _end and the modules added to the image
35743 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35744 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35745 * util/elf/grub-mkimage.c (add_segments): Likewise.
35746
2033f53e 357472008-01-26 Pavel Roskin <proski@gnu.org>
35748
35749 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35750 just return an error.
35751
22da1f6f 357522008-01-26 Bean <bean123ch@gmail.com>
35753
35754 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35755 (grub_reiserfs_get_item): Save offset of the next item.
35756 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35757
2a9525e6 357582008-01-25 Robert Millan <rmh@aybabtu.com>
35759
35760 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35761 make all filesystem sources appear together (possibly fixing omissions
35762 while at it).
35763 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35764 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35765 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35767
35768 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35769 add `kern/file.c'.
35770 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35771 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35772 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35773 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35774
35775 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35776 (probe): Add a sanity check to make sure of our ability to read
35777 requested files when probing for filesystem type.
35778
35779 * genmk.rb: Update copyright year (2007).
35780
35781 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35782 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35783 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35784 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35785 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35786 : Remove function prototypes.
35787
b95f71b5 357882008-01-25 Robert Millan <rmh@aybabtu.com>
35789
35790 Revert my previous commits (based on wrong assumption of how grub_errno
35791 works).
35792
fe6b695a 35793 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35794 * kern/file.c (grub_file_open): Likewise.
35795
d08bbb49 357962008-01-24 Pavel Roskin <proski@gnu.org>
35797
35798 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35799 that hang if GRUB tries to setup colors.
35800 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35801 colors for firmwares that don't support it.
35802 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35803 Recognize Open Hack'Ware, set flags to work around its
35804 limitations.
35805
605e36ed 358062008-01-24 Robert Millan <rmh@aybabtu.com>
35807
35808 * kern/file.c (grub_file_open): Do not account previous failures of
35809 unrelated functions when grub_errno is checked for.
35810 Reported by Oleg Strikov.
35811
bac332a1 358122008-01-24 Bean <bean123ch@gmail.com>
35813
35814 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35815 (grub_ufs_sblock): New member volume name.
35816 (grub_ufs_find_file): Fix string copy bug.
35817 (grub_ufs_label): Implement this function properly.
35818
35819 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35820 (grub_hfs_iterate_records): Use the correct file number for extents
35821 and catalog file. Fix problem in next index calculation.
35822 (grub_hfs_find_node): Replace recursive function call with loop.
35823 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35824
15c80c09 358252008-01-23 Robert Millan <rmh@aybabtu.com>
35826
35827 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35828 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35829 (grub_multiboot2_real_boot): New function prototype.
35830
35831 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35832 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35833
35834 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35835 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35836
305338fd 358372008-01-23 Robert Millan <rmh@aybabtu.com>
35838
35839 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35840 #ifdef'ed out grub_printf().
35841
3ea52685 358422008-01-23 Robert Millan <rmh@aybabtu.com>
35843
35844 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35845 grub_dprintf calls, since they make "debug=all" mode unusable.
35846 (grub_console_checkkey): Likewise.
35847
5882ae4b 358482008-01-23 Robert Millan <rmh@aybabtu.com>
35849
35850 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35851 `term/i386/pc/at_keyboard.c'.
35852 (pkglib_MODULES): Add `serial.mod'.
35853 (serial_mod_SOURCES): New variable.
35854 (serial_mod_CFLAGS): Likewise.
35855 (serial_mod_LDFLAGS): Likewise.
35856
35857 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35858 `<grub/powerpc/ieee1275/console.h>'.
35859 (grub_keyboard_controller_init): New function prototype.
35860 (grub_console_checkkey): Likewise.
35861 (grub_console_getkey): Likewise.
35862
35863 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35864 keyboard on i386.
35865
35866 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35867 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35868
06ab5303 358692008-01-23 Robert Millan <rmh@aybabtu.com>
35870
35871 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35872 present, "(memdisk)/boot/grub" becomes the default prefix.
35873
35874 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35875 a memdisk tarball with all the modules. Add --overlay=DIR option that
35876 allows users to overlay additional files into the image.
35877
dbb475a4 358782008-01-23 Robert Millan <rmh@aybabtu.com>
35879
35880 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35881 and `machine/memory.h'.
35882 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35883 (_multiboot_mod_SOURCES): New variable.
35884 (_multiboot_mod_CFLAGS): Likewise.
35885 (_multiboot_mod_LDFLAGS): Likewise.
35886 (multiboot_mod_SOURCES): Likewise.
35887 (multiboot_mod_CFLAGS): Likewise.
35888 (multiboot_mod_LDFLAGS): Likewise.
35889
35890 * include/grub/i386/ieee1275/loader.h: New file.
35891
35892 * include/grub/i386/ieee1275/machine.h: Likewise.
35893
35894 * include/grub/i386/ieee1275/memory.h: Likewise.
35895
35896 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35897 variable declaration.
35898 (grub_os_area_size): Likewise.
35899
35900 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35901 (grub_lower_mem, grub_upper_mem): New variables.
35902 (grub_stop_floppy): New function (just to make
35903 grub_multiboot2_real_boot() happy).
35904
35905 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35906 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35907 (grub_stop): New function.
35908 Include `"../realmode.S"' and `"../loader.S"'.
35909
35910 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35911 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35912
35913 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35914 rely on grub_multiboot2_real_boot() for final boot.
35915
25638629 359162008-01-22 Robert Millan <rmh@aybabtu.com>
35917
35918 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35919 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35920 device that doesn't look like an SD card.
35921 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35922 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35923 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35924 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35925 found.
35926
9dad816d 359272008-01-22 Robert Millan <rmh@aybabtu.com>
35928
35929 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35930 avoid claiming over our own code.
35931
34842f2d 359322008-01-22 Bean <bean123ch@gmail.com>
35933
35934 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35935 (jpeg_mod_SOURCES): New variable.
35936 (jpeg_mod_CFLAGS): Likewise.
35937 (jpeg_mod_LDFLAGS): Likewise.
35938
35939 * video/readers/jpeg.c : New file.
35940
44023a28 359412008-01-22 Bean <bean123ch@gmail.com>
35942
35943 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35944 there are no more items.
35945
bc2d8ac6 359462008-01-21 Robert Millan <rmh@aybabtu.com>
35947
35948 * kern/mm.c (grub_mm_init_region): Improve debug message.
35949
261bd4bc 359502008-01-21 Robert Millan <rmh@aybabtu.com>
35951
35952 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35953 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35954 address.
35955 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35956 a C macro.
35957 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35958 Indicates start of upper memory.
35959 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35960 (generate_image): Abort when image size is big enough to corrupt
35961 upper memory.
35962
35963 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35964 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35965 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35966 instead of hardcoding 0xA0000.
35967 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35968 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35969 instead of hardcoding 0xA0000.
35970
f970b55e 359712008-01-21 Robert Millan <rmh@aybabtu.com>
35972
35973 * disk/memdisk.c (memdisk_size): New variable.
35974 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35975 `memdisk_size'.
35976 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35977 image to dynamic memory.
35978 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35979 `memdisk_size'. Free memdisk block.
35980
1a8b0526 359812008-01-21 Robert Millan <rmh@aybabtu.com>
35982
35983 Fix detection of very small filesystems (like tar).
35984
35985 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35986 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35987 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35988 a problem with this disk).
35989
6e9b4aab 359902008-01-21 Robert Millan <rmh@aybabtu.com>
35991
35992 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35993 on grub_biosdisk_rw_standard() error.
35994
0d8837b2 359952008-01-21 Robert Millan <rmh@aybabtu.com>
35996
35997 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35998 recent changes.
35999 * kern/elf.c: Likewise.
36000 * kern/ieee1275/ieee1275.c: Likewise.
36001 * kern/powerpc/ieee1275/openfw.c: Likewise.
36002 * term/ieee1275/ofconsole.c: Likewise.
36003
ffd36e34 360042008-01-21 Robert Millan <rmh@aybabtu.com>
36005
36006 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36007
3f0093d0 36008 * include/grub/kernel.h (grub_arch_memdisk_addr)
36009 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36010
3f0093d0 36011 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36012 (grub_arch_memdisk_size): ... to here.
ffd36e34 36013
6c391b21 360142008-01-21 Robert Millan <rmh@aybabtu.com>
36015
36016 Mostly based on bugfix from Bean.
36017
36018 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36019 attribute with hook() parameter.
36020 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36021 declaration.
36022 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36023 attribute with hook() parameter.
36024 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36025 declaration.
36026
55a581dc 360272008-01-21 Robert Millan <rmh@aybabtu.com>
36028
36029 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36030 (pkglib_MODULES): Add `memdisk.mod'.
36031 (memdisk_mod_SOURCES): New variable.
36032 (memdisk_mod_CFLAGS): Likewise.
36033 (memdisk_mod_LDFLAGS): Likewise.
36034
36035 * disk/memdisk.c: New file.
36036
36037 * include/grub/disk.h (grub_disk_dev_id): Add
36038 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36039
36040 * include/grub/i386/pc/kernel.h
36041 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36042 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36043 (grub_kernel_image_size): New variable declaration.
36044 (grub_total_module_size): Likewise.
36045 (grub_memdisk_image_size): Likewise.
36046
36047 * include/grub/i386/pc/memory.h
36048 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36049
36050 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36051 (grub_arch_memdisk_addr): New variable declaration.
36052 (grub_arch_memdisk_size): Likewise.
36053
36054 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36055 (grub_arch_memdisk_size): Likewise.
36056
36057 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36058 (codestart): Replace hardcoded `0x100000' with
36059 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36060
36061 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36062 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36063 not NULL, append the contents of the file it refers to, at the end of
36064 the compressed kernel image. Initialize `grub_memdisk_image_size'
36065 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36066 (options): Add "memdisk"|'m' option.
36067 (main): Parse --memdisk|-m option, and pass user-provided path as
36068 parameter to generate_image().
36069
3d7f54c9 360702008-01-20 Robert Millan <rmh@aybabtu.com>
36071
36072 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36073 grub_dprintf() calls from here ...
36074 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36075
0bf74728 360762008-01-20 Robert Millan <rmh@aybabtu.com>
36077
36078 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36079
36080 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36081 declaration.
36082 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36083 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36084 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36085 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36086 property).
36087 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36088 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36089
33bf70a7 360902008-01-19 Robert Millan <rmh@aybabtu.com>
36091
fe6b695a 36092 Get rid of confusing function (superseded by
33bf70a7 36093 `grub_ieee1275_get_integer_property')
36094 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36095 prototype.
36096 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36097 function.
36098 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36099 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36100 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36101
e2da7d26 361022008-01-19 Robert Millan <rmh@aybabtu.com>
36103
36104 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36105 command after "shut-down", since implementations differ on which
36106 the command for halt is.
36107
59f1fd8d 361082008-01-19 Robert Millan <rmh@aybabtu.com>
36109
36110 * include/grub/i386/linuxbios/console.h: Add header protection.
36111 (grub_keyboard_controller_init): New function prototype.
36112 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36113 (KEYBOARD_COMMAND_READ): Likewise.
36114 (KEYBOARD_COMMAND_WRITE): Likewise.
36115 (KEYBOARD_SCANCODE_SET1): Likewise.
36116 (grub_keyboard_controller_write): New function.
36117 (grub_keyboard_controller_read): Likewise.
36118 (grub_keyboard_controller_init): Likewise.
36119
36120 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36121 (grub_console_init): On coreboot/LinuxBIOS, call
36122 grub_keyboard_controller_init().
36123
5f5a7c15 361242008-01-19 Robert Millan <rmh@aybabtu.com>
36125
36126 PowerPC changes provided by Pavel Roskin.
36127
36128 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36129 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36130 don't rely on cmain() doing it.
36131 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36132 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36133
1210e168 361342008-01-16 Robert Millan <rmh@aybabtu.com>
36135
36136 * include/grub/i386/linuxbios/memory.h
36137 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36138 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36139 receive `table_header' as argument. Instead, probe for it in the
36140 known memory ranges where it can be present.
36141 (grub_available_iterate): Do not pass a fixed `table_header' address
36142 to grub_linuxbios_table_iterate().
36143
3d04eab8 361442008-01-15 Robert Millan <rmh@aybabtu.com>
36145
36146 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36147 * conf/i386-ieee1275.rmk: New file.
36148 * include/grub/i386/ieee1275/console.h: Likewise.
36149 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36150 * include/grub/i386/ieee1275/kernel.h: Likewise.
36151 * include/grub/i386/ieee1275/time.h: Likewise.
36152 * kern/i386/ieee1275/init.c: Likewise.
36153 * kern/i386/ieee1275/startup.S: Likewise.
36154
d1bc1b73 361552008-01-15 Robert Millan <rmh@aybabtu.com>
36156
36157 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36158 when pointers are 32-bit (but still do set it to one when they are
36159 64-bit).
36160
66a65807 361612008-01-15 Robert Millan <rmh@aybabtu.com>
36162
36163 * include/grub/ieee1275/ieee1275.h
36164 (grub_ieee1275_get_integer_property): New function prototype.
36165
36166 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36167 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36168 grub_ieee1275_get_property() to handle endianness.
66a65807 36169
36170 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36171 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36172 where appropriate.
66a65807 36173 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36174 (grub_map): Likewise.
36175 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36176
a83ccafd 361772008-01-15 Bean <bean123ch@gmail.com>
36178
36179 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36180 (grub_script_execute_cmdline): Reset grub_errno.
36181
36182 * normal/main.c (read_config_file): Reset grub_errno.
36183
36184 * normal/parse.y (script_init): New.
36185 (script): Move function and menuentry here.
36186 (delimiter): New.
36187 (command): Add delimiter at the end of command.
36188 (commands): Adjust to match the new command.
36189 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36190 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36191 (if): Use the new commands.
36192
36193 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36194
df6ecfc6 361952008-01-15 Robert Millan <rmh@aybabtu.com>
36196
36197 * normal/menu.c (run_menu): Move timeout message from here ...
36198 (print_timeout): ... to here.
36199 (run_menu): Use print_timeout() once during initial draw to print
36200 the whole message, and again in every clock tick to update only
36201 the number of seconds.
36202
87ae25eb 362032008-01-15 Robert Millan <rmh@aybabtu.com>
36204
36205 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36206 actual size of `available' from grub_ieee1275_get_property(), and
36207 restrict parsing to that bound.
36208
47bf09a4 362092008-01-15 Christian Franke <franke@computer.org>
36210
36211 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36212 (argp_program_version): Remove variable.
36213 (argp_program_bug_address): Likewise.
36214 (options): Convert from struct argp_option to struct option.
36215 (struct arguments): Remove.
36216 (parse_opt): Remove.
36217 (usage): New function.
36218 (main): Replace struct args members by simple variables.
36219 Replace argp_parse() by getopt_long().
36220 Add switch to evaluate options.
36221 Add missing "(...)" around root_dev in prefix string.
36222
c86f1469 362232008-01-14 Robert Millan <rmh@aybabtu.com>
36224
36225 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36226 for grub_ieee1275_exit(), in order to improve portability.
36227
e622c559 362282008-01-14 Robert Millan <rmh@aybabtu.com>
36229
36230 * util/grub.d/10_linux.in (prefix): Define.
36231 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36232
44cb1ec8 362332008-01-13 Pavel Roskin <proski@gnu.org>
36234
36235 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36236 grub_errno if no errors have been detected.
36237
1eb8c802 362382008-01-12 Robert Millan <rmh@aybabtu.com>
36239
36240 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36241 (grub_util_get_dev_abstraction): New function prototype.
36242
36243 * util/getroot.c: Include `<grub/util/getroot.h>'
36244 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36245 (grub_util_get_dev_abstraction): ... here (new function).
36246
36247 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36248 `PRINT_ABSTRACTION'.
36249 (probe): Probe for abstraction type when requested.
36250 (main): Understand `--target=abstraction'.
36251
36252 * util/i386/efi/grub-install.in: Add abstraction module to core
36253 image when it is found to be necessary.
36254 * util/i386/pc/grub-install.in: Likewise.
36255 * util/powerpc/ieee1275/grub-install.in: Likewise.
36256
36257 * util/update-grub_lib.in (font_path): Return system path without
36258 converting to GRUB path.
36259 * util/update-grub.in: Convert system path returned by font_path()
36260 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36261 abstraction module is needed for loading fonts (if any). Export
36262 that as `GRUB_PRELOAD_MODULES'.
36263 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36264 insmod commands).
36265
52bd3de9 362662008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36267
36268 Remove some unused code from reiserfs.
f19dbdb7 36269
52bd3de9 36270 * fs/reiserfs.c (struct grub_reiserfs_key)
36271 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36272 (struct grub_reiserfs_node_body): Removed.
36273 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36274 Likewise.
36275 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36276 Likewise.
36277 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36278 Likewise.
36279 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36280 Likewise.
36281 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36282 Likewise.
36283 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36284 Likewise.
36285 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36286 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36287 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36288
2f80039d 362892008-01-10 Robert Millan <rmh@aybabtu.com>
36290
36291 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36292 Determines if a file is garbage left by packaging systems, etc.
36293 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36294 for processing /etc/grub.d scripts.
36295 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36296 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36297 as a condition for processing Linux images.
36298
87888032 362992008-01-10 Pavel Roskin <proski@gnu.org>
36300
36301 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36302 to compile reiserfs.c on PowerPC.
36303
7e54fced 363042008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36305
36306 * kern/device.c (grub_device_iterate): Do not abort device iteration
36307 when one of the devices cannot be opened.
36308 * kern/disk.c (grub_disk_open): Do not account previous failures of
36309 unrelated functions when grub_errno is checked for.
36310
5aa541e6 363112008-01-08 Robert Millan <rmh@aybabtu.com>
36312
36313 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36314 `! grub_linux_is_bzimage', change order of address comparison to make
36315 it more intuitive, and improve "too big zImage" error message.
36316
7076340d 363172008-01-08 Robert Millan <rmh@aybabtu.com>
36318
36319 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36320 `$(update-grub_DATA)'.
36321 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36322 targets.
36323
9ca70333 363242008-01-07 Robert Millan <rmh@aybabtu.com>
36325
36326 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36327 which instruction is modified by grub-setup during installation
36328 (since it wasn't obvious by only looking at this file).
36329
38ccf575 363302008-01-07 Robert Millan <rmh@aybabtu.com>
36331
36332 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36333 listing actual TODO items.
36334
f5db4291 363352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36336
868967cf 36337 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36338 correctly.
36339 (grub_reiserfs_get_key_offset): Likewise.
36340 (grub_reiserfs_set_key_offset): Likewise.
36341 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36342 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36343
36344 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36345 better to remove the bitfield version completely.
f19dbdb7 36346
868967cf 363472008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36348
f5db4291 36349 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36350 allocated from the heap, due to the fshelp implementation.
36351 (grub_reiserfs_dir): Free NODE, due to the same reason.
36352
492e6d9d 363532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36354
36355 Mostly from Vincent Pelletier:
f19dbdb7 36356
492e6d9d 36357 * fs/reiserfs.c: New file.
f19dbdb7 36358
492e6d9d 36359 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36360 (reiserfs_mod_SOURCES): New variable.
36361 (reiserfs_mod_CFLAGS): Likewise.
36362 (reiserfs_mod_LDFLAGS): Likewise.
36363
36364 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36365 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36366 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36367 normal/color.c.
36368
9ce3e7c1 363692008-01-06 Robert Millan <rmh@aybabtu.com>
36370
36371 * normal/color.c: Remove `<grub/env.h>'.
36372
f3b58148 363732008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36374
36375 * include/grub/normal.h: Include <grub/env.h>.
36376
7ac3bcfa 363772008-01-05 Robert Millan <rmh@aybabtu.com>
36378
36379 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36380 usage example with `(hd0,1)'.
fb358190 36381 Reported by Samuel Thibault.
7ac3bcfa 36382
c8ee99d7 363832008-01-05 Robert Millan <rmh@aybabtu.com>
36384
36385 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36386 (grub_linux_boot_zimage): Rename to ...
36387 (grub_linux_boot): ... this.
36388 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36389 (grub_linux_boot_zimage): Conditionalize zImage copy.
36390
36391 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36392 (grub_linux_boot_bzimage): Remove prototype.
36393 (grub_linux_boot_zimage): Rename to ...
36394 (grub_linux_boot): ... this.
36395
36396 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36397 (grub_linux_boot): Remove function.
36398
0ece25b1 363992008-01-05 Robert Millan <rmh@aybabtu.com>
36400
36401 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36402 (grub_env_write_color_highlight): Likewise.
36403 (grub_wait_after_message): Likewise.
36404
36405 * normal/color.c: New file.
36406
36407 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36408 (normal_mod_DEPENDENCIES): Likewise.
36409
36410 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36411 (normal_mod_DEPENDENCIES): Likewise.
36412
36413 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36414 (normal_mod_DEPENDENCIES): Likewise.
36415
36416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36417 (normal_mod_DEPENDENCIES): Likewise.
36418
36419 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36420 for waiting after a message is printed.
36421 * normal/main.c (read_config_file): Likewise.
36422 (grub_normal_init): Register grub_env_write_color_normal() and
36423 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36424 `color_highlight' variables as global.
36425
36426 * normal/menu.c (grub_wait_after_message): New function.
36427 (grub_color_menu_normal): New variable. Replaces ...
36428 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36429 (grub_color_menu_highlight): New variable. Replaces ...
36430 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36431 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36432 `GRUB_TERM_COLOR_STANDARD'.
36433 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36434 `normal_code' and `highlight_code' to `old_color_normal' and
36435 `old_color_highlight', respectively.
36436 (grub_menu_init_page): Update colors when drawing the menu, based on
36437 `menu_color_normal' and `menu_color_highlight' variables.
36438 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36439 a message is printed.
36440
182dd4e5 364412008-01-05 Robert Millan <rmh@aybabtu.com>
36442
36443 * kern/env.c (grub_env_context_open): Propagate hooks for global
36444 variables to new context.
36445
36446 * kern/main.c (grub_set_root_dev): Export `root' variable.
36447
ddf8f6ad 364482008-01-05 Robert Millan <rmh@aybabtu.com>
36449
36450 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36451 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36452 them.
36453
d8b43d9b 364542008-01-05 Robert Millan <rmh@aybabtu.com>
36455
36456 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36457
2bff2de3 364582008-01-04 Christian Franke <franke@computer.org>
36459
36460 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36461 of eisa_mmap.
36462
97eab917 364632008-01-03 Pavel Roskin <proski@gnu.org>
36464
36465 * kern/i386/linuxbios/init.c: Put "void" to all function
36466 declarations with no arguments.
36467 * kern/powerpc/ieee1275/init.c: Likewise.
36468 * term/i386/pc/at_keyboard.c: Likewise.
36469 * term/i386/pc/vga_text.c: Likewise.
36470 * util/grub-mkdevicemap.c: Likewise.
36471
b9416d00 364722008-01-02 Robert Millan <rmh@aybabtu.com>
36473
36474 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36475 message when loaded image is out of bounds.
36476 (grub_multiboot_load_elf64): Likewise.
36477
92695df9 364782008-01-02 Pavel Roskin <proski@gnu.org>
36479
36480 * util/grub.d/10_linux.in: Try version without ".old" when
36481 looking for initrd. It's better to use initrd from the newer
36482 kernel of the same version than no initrd at all.
36483
d98d9cad 364842008-01-01 Robert Millan <rmh@aybabtu.com>
36485
36486 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36487
dbfdce36 364882008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36489
f19dbdb7 36490 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36491 grub_video_get_active_render_target.
36492 (grub_video_adapter): Added unmap_color and get_active_render_target.
36493
f19dbdb7 36494 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36495 grub_video_get_active_render_target.
36496 (grub_video_get_info): Changed method to accept NULL pointer as an
36497 argument to allow detection of active video adapter.
36498
36499 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36500 grub_video_vbe_unmap_color_int.
36501 Added grub_video_vbe_unmap_color and
36502 grub_video_vbe_get_active_render_target.
36503 (grub_video_vbe_adapter): Added unmap_color and
36504 get_active_render_target.
36505
f19dbdb7 36506 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36507 with grub_video_vbe_unmap_color_int.
36508
36509 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36510 (DEFAULT_NORMAL_COLOR): Likewise.
36511 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36512 (DEFAULT_FG_COLOR): Removed.
36513 (DEFAULT_BG_COLOR): Likewise.
36514 (DEFAULT_CURSOR_COLOR): Changed value.
36515 (grub_virtual_screen): Added standard_color_setting,
36516 normal_color_setting, highlight_color_setting and term_color.
36517 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36518 (bitmap_width): Added.
36519 (bitmap_height): Likewise.
36520 (bitmap): Likewise.
36521 (set_term_color): Likewise.
36522 (grub_virtual_screen_setup): Changed to use new terminal coloring
36523 settings.
36524 (grub_gfxterm_init): Added init for bitmap.
36525 (grub_gfxterm_fini): Added destroy for bitmap.
36526 (redraw_screen_rect): Updated to use background bitmap and new
36527 terminal coloring.
36528 (scroll_up): Added optimization for case when there is no bitmap.
36529 (grub_gfxterm_cls): Fixed to use correct background color.
36530 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36531 coloring.
36532 (grub_virtual_screen_setcolor): Likewise.
36533 (grub_virtual_screen_getcolor): Added.
36534 (grub_gfxterm_background_image_cmd): Likewise.
36535 (grub_video_term): Added setcolor and getcolor.
36536 (MOD_INIT): Added registration of background_image command.
36537 (MOD_TERM): Added unregistration for background_image command.
36538
c3c20931 365392007-12-30 Pavel Roskin <proski@gnu.org>
36540
36541 * loader/multiboot_loader.c: Fix multiboot command
36542 unregistration. Fix all typos in the word "multiboot".
36543
df266716 365442007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36545
36546 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36547 support for initrd names used in Fedora.
36548
fc6e896c 365492007-12-26 Bean <bean123ch@gmail.com>
36550
36551 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36552 (cpio_mod_SOURCES): New variable.
36553 (cpio_mod_CFLAGS): Likewise.
36554 (cpio_mod_LDFLAGS): Likewise.
36555
36556 * fs/cpio.c: New file.
36557
36558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36559
36560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36561
36562 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36563
36564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36565
533110ad 365662007-12-25 Robert Millan <rmh@aybabtu.com>
36567
36568 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36569 (grub_getcolor): New function.
36570
36571 * kern/term.c (grub_getcolor): New function.
36572 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36573 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36574 (print_entry): Set normal and highlight colors to
36575 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36576 respectively, before printing and restore them to old
36577 values afterwards.
36578 (grub_menu_init_page): Likewise. Fill an additional colored space
36579 that would otherwise be left blank.
36580
36581 * term/efi/console.c (grub_console_getcolor): New function.
36582 (struct grub_console_term.getcolor): New variable.
36583 * term/i386/pc/console.c (grub_console_getcolor): New function.
36584 (struct grub_console_term.getcolor): New variable.
36585 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36586 (struct grub_console_term.getcolor): New variable.
36587
36588 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36589 (struct grub_console_term.setcolor): Remove variable.
36590 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36591 (struct grub_console_term.setcolor): Remove variable.
36592 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36593 (struct grub_console_term.setcolor): Remove variable.
36594 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36595 (struct grub_console_term.setcolor): Remove variable.
36596
4931827f 365972007-12-25 Robert Millan <rmh@aybabtu.com>
36598
36599 * configure.ac: Search for possible unifont.hex locations, and
36600 define UNIFONT_HEX if found.
36601
36602 * Makefile.in (UNIFONT_HEX): Define variable.
36603 (DATA): Rename to ...
36604 (PKGLIB): ... this. Update all users.
36605 (PKGDATA): New variable.
36606 (pkgdata_IMAGES): Rename to ...
36607 (pkglib_IMAGES): ... this. Update all users.
36608 (pkgdata_MODULES): Rename to ...
36609 (pkglib_MODULES): ... this. Update all users.
36610 (pkgdata_PROGRAMS): Rename to ...
36611 (pkglib_PROGRAMS): ... this. Update all users.
36612 (pkgdata_DATA): Rename to ...
36613 (pkglib_DATA): ... this. Update all users.
36614 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36615 (unicode.pff, ascii.pff): New rules.
36616 (all-local): Add `$(PKGDATA)' dependency.
36617 (install-local): Process `$(PKGDATA)'.
36618
36619 * util/update-grub_lib.in (font_path): Search for *.pff files in
36620 a few more locations, including `${pkgdata}'.
36621
57e57e31 366222007-12-23 Robert Millan <rmh@aybabtu.com>
36623
36624 Patch from Bean <bean123ch@gmail.com>:
36625 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36626 `size'.
36627
4bc72aa9 366282007-12-21 Bean <bean123ch@gmail.com>
36629
36630 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36631 (ntfscomp_mod_SOURCES): New variable.
36632 (ntfscomp_mod_CFLAGS): Likewise.
36633 (ntfscomp_mod_LDFLAGS): Likewise.
36634
36635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36636 (grub_probe_SOURCES): Likewise.
36637 (grub_emu_SOURCES): Likewise.
36638
36639 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36640 (grub_emu_SOURCES): Likewise.
36641
36642 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36643 (grub_emu_SOURCES): Likewise.
36644
36645 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36646 (grub_emu_SOURCES): Likewise.
36647
36648 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36649 (read_run_list): Renamed to grub_ntfs_read_run_list.
36650 (decomp_nextvcn): Moved to ntfscomp.c.
36651 (decomp_getch): Likewise.
36652 (decomp_get16): Likewise.
36653 (decomp_block): Likewise.
36654 (read_block): Likewise.
36655 (read_data): Partially moved to ntfscomp.c.
36656 (fixup): Change unsigned to grub_uint16_t.
36657 (read_mft): Change unsigned long to grub_uint32_t.
36658 (read_attr): Likewise.
36659 (read_data): Likewise.
36660 (read_run_data): Likewise.
36661 (read_run_list): Likewise.
36662 (read_mft): Likewise.
36663
36664 * fs/ntfscomp.c: New file.
36665
36666 * include/grub/ntfs.h: New file.
36667
af680a87 366682007-12-16 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36671 IDE disk check, since Linux is known to support 20 IDE disks.
36672 Reported by Colin Watson.
36673
84be7599 366742007-12-15 Bean <bean123ch@gmail.com>
36675
36676 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36677 (lnxboot_img_SOURCES): New variable.
36678 (lnxboot_img_ASFLAGS): Likewise.
36679 (lnxboot_img_LDFLAGS): Likewise.
36680
36681 * boot/i386/pc/lnxboot.S: New file.
36682
6af9db01 366832007-11-24 Pavel Roskin <proski@gnu.org>
36684
36685 * configure.ac: Test if '--build-id=none' is supported by the
36686 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36687 objcopy to generate incorrect binary files (binutils
36688 2.17.50.0.18-1 as shipped by Fedora 8).
36689 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36690 linking, so that build ID doesn't break the test.
36691
7361cfe6 366922007-11-24 Pavel Roskin <proski@gnu.org>
36693
36694 * include/grub/i386/time.h: use "void" in the argument list
36695 of grub_cpu_idle().
36696 * include/grub/powerpc/time.h: Likewise.
36697 * include/grub/sparc64/time.h: Likewise.
36698
1593e10c 366992007-11-18 Christian Franke <franke@computer.org>
36700
36701 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36702 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36703 This fixes the problem that function keys did not work in grub-emu.
36704
3b8db1a8 367052007-11-18 Christian Franke <franke@computer.org>
36706
36707 * disk/host.c (grub_host_open): Remove attribute unused from
36708 name parameter. Add check for "host". This fixes the problem
36709 that grub-emu does not find partitions.
36710
2e29408d 367112007-11-18 Christian Franke <franke@computer.org>
36712
36713 * util/hostfs.c (is_dir): New function.
36714 (grub_hostfs_dir): Handle missing dirent.d_type case.
36715 (grub_hostfs_read): Add missing fseek().
36716 (grub_hostfs_label): Clear label pointer. This fixes a crash
36717 of grub-emu on "ls (host)".
36718
398cd047 367192007-11-18 Christian Franke <franke@computer.org>
36720
36721 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36722 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36723 to 64 bit boundary by default.
36724
c405c391 367252007-11-18 Bean <bean123ch@gmail.com>
36726
36727 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36728 (hexdump_mod_SOURCES): New variable.
36729 (hexdump_mod_CFLAGS): Likewise.
36730 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36731
c405c391 36732 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36733
36734 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36735
36736 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36737
36738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36739
36740 * include/grub/hexdump.h: New file.
36741
36742 * commands/hexdump.c: New file.
36743
5cced7fd 367442007-11-10 Robert Millan <rmh@aybabtu.com>
36745
36746 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36747 in grub_outb() calls.
36748 (beep_on): Likewise.
36749
8b714eb0 367502007-11-10 Christian Franke <franke@computer.org>
36751
36752 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36753 (grub_menu_run): Likewise.
36754
ce0f1839 367552007-11-10 Robert Millan <rmh@aybabtu.com>
36756
36757 * include/grub/i386/efi/machine.h: New file.
36758 * include/grub/i386/linuxbios/machine.h: Likewise.
36759 * include/grub/i386/pc/machine.h: Likewise.
36760 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36761 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36762
36763 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36764 (serial_hw_io_addr): New variable.
36765 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36766 instead of `(unsigned short *) 0x400'.
36767
270c237d 367682007-11-10 Bean <bean123ch@gmail.com>
36769
36770 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36771
a87783bf 367722007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36773
36774 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36775 (vga_mod_SOURCES): Added.
36776 (vga_mod_CFLAGS): Likewise.
36777 (vga_mod_LDFLAGS): Likewise.
36778
36779 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36780 grub_outb() calls.
36781 (set_map_mask): Likewise.
36782 (set_read_map): Likewise.
36783 (set_read_address): Likewise.
36784 (vga_font): Removed variable.
36785 (get_vga_glyph): Removed function.
36786 (invalidate_char): Likewise.
36787 (write_char): Changed to use grub_font_get_glyph() for font
36788 information.
36789 (grub_vga_putchar): Likewise.
36790 (grub_vga_getcharwidth): Likewise.
36791
6433b448 367922007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36793
36794 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36795 flags.
36796 (pxeboot_img_LDFLAGS): Likewise.
36797 (diskboot_img_LDFLAGS): Likewise.
36798 (kernel_img_LDFLAGS): Likewise.
36799
49178511 368002007-11-06 Robert Millan <rmh@aybabtu.com>
36801
36802 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36803 in grub_outb() calls.
36804 (serial_hw_init): Likewise.
36805
53b052de 368062007-11-05 Robert Millan <rmh@aybabtu.com>
36807
36808 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36809 spaces. Skip non-regular files.
36810
5ab33bba 368112007-11-05 Robert Millan <rmh@aybabtu.com>
36812
36813 * kern/disk.c (grub_disk_firmware_fini)
36814 (grub_disk_firmware_is_tainted): New variables.
36815
36816 * include/grub/disk.h (grub_disk_firmware_fini)
36817 (grub_disk_firmware_is_tainted): Likewise.
36818
36819 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36820 (grub_disk_biosdisk_fini): ... to here.
36821 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36822 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36823 is set. Register grub_disk_biosdisk_fini() in
36824 `grub_disk_firmware_fini'.
36825
36826 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36827 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36828 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36829 to finish existing firmware disk interface.
36830
36831 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36832 (ata_mod_SOURCES): New variable.
36833 (ata_mod_CFLAGS): Likewise.
36834 (ata_mod_LDFLAGS): Likewise.
36835
0149ab7c 368362007-11-05 Robert Millan <rmh@aybabtu.com>
36837
36838 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36839 (grub_ata_wait): Reimplement using grub_millisleep().
36840
36841 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36842 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36843
be7ac41e 368442007-11-03 Marco Gerards <marco@gnu.org>
36845
36846 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36847 (CRTC_ADDR_PORT): New macro.
36848 (CRTC_DATA_PORT): Likewise.
36849 (CRTC_CURSOR): Likewise.
36850 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36851 (CRTC_CURSOR_ADDR_LOW): Likewise.
36852 (update_cursor): New function.
36853 (grub_console_real_putchar): Call `update_cursor'.
36854 (grub_console_gotoxy): Likewise.
36855 (grub_console_cls): Set the default color when clearing the
36856 screen.
36857 (grub_console_setcursor): Implemented.
36858
bb06ab2e 368592007-11-03 Marco Gerards <marco@gnu.org>
36860
36861 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36862 become activate.
36863 (grub_ata_pio_write): Likewise.
36864
36865 (grub_atapi_identify): Wait after issuing an ATA command.
36866 (grub_atapi_packet): Likewise.
36867 (grub_ata_identify): Likewise.
36868 (grub_ata_readwrite): Likewise.
36869
cf8f780b 368702007-11-03 Marco Gerards <marco@gnu.org>
36871
36872 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36873 (grub_ata_pio_write): Likewise.
36874 (grub_ata_readwrite): Use `grub_error', instead of
36875 returning `grub_errno'.
36876
ed649e54 368772007-11-03 Marco Gerards <marco@gnu.org>
36878
36879 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36880 grub_ata_pio_write once for every single sector, instead of for
36881 multiple sectors.
36882
ca25d8f0 368832007-10-31 Robert Millan <rmh@aybabtu.com>
36884
36885 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36886
36887 * conf/i386-linuxbios.rmk: New file.
36888
36889 * kern/i386/pc/hardware.c: Likewise.
36890 * term/i386/pc/at_keyboard.c: Likewise.
36891 * term/i386/pc/vga_text.c: Likewise.
36892
36893 * include/grub/i386/linuxbios/boot.h: Likewise.
36894 * include/grub/i386/linuxbios/console.h: Likewise.
36895 * include/grub/i386/linuxbios/init.h: Likewise.
36896 * include/grub/i386/linuxbios/kernel.h: Likewise.
36897 * include/grub/i386/linuxbios/loader.h: Likewise.
36898 * include/grub/i386/linuxbios/memory.h: Likewise.
36899 * include/grub/i386/linuxbios/serial.h: Likewise.
36900 * include/grub/i386/linuxbios/time.h: Likewise.
36901
36902 * kern/i386/linuxbios/init.c: Likewise.
36903 * kern/i386/linuxbios/startup.S: Likewise.
36904 * kern/i386/linuxbios/table.c: Likewise.
36905
e911ecc1 369062007-10-31 Marco Gerards <marco@gnu.org>
36907
36908 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36909 (ata_mod_SOURCES): New variable.
36910 (ata_mod_CFLAGS): Likewise.
36911 (ata_mod_LDFLAGS): Likewise.
36912
36913 * disk/ata.c: New file.
36914
36915 * include/grub/disk.h (grub_disk_dev_id): Add
36916 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36917
7f66d0e0 369182007-10-31 Robert Millan <rmh@aybabtu.com>
36919
36920 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36921 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36922
36923 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36924 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36925
36926 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36927 `<grub/types.h>'.
36928
36929 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36930
5cd7dd46 369312007-10-27 Robert Millan <rmh@aybabtu.com>
36932
3236ca65 36933 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36934
2ebfc90f 369352007-10-22 Robert Millan <rmh@aybabtu.com>
36936
36937 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36938 `"../realmode.S"'.
36939 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36940
73fcb0f3 369412007-10-22 Robert Millan <rmh@aybabtu.com>
36942
36943 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36944 (pkgdata_MODULES): Add `biosdisk.mod'.
36945 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36946 variables.
36947
36948 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36949 (grub_biosdisk_init): Replace with ...
36950 (GRUB_MOD_INIT(biosdisk)): ... this.
36951 (grub_biosdisk_fini): Replace with ...
36952 (GRUB_MOD_FINI(biosdisk)): ... this.
36953
36954 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36955 (grub_machine_init): Remove call to grub_biosdisk_init().
36956 (grub_machine_fini): Remove call to grub_machine_fini().
36957
36958 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36959
3381d274 369602007-10-22 Robert Millan <rmh@aybabtu.com>
36961
36962 * include/grub/time.h: New file.
36963 * include/grub/i386/time.h: Likewise.
36964 * include/grub/powerpc/time.h: Likewise.
36965 * include/grub/sparc64/time.h: Likewise.
36966
36967 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36968 instances to ...
36969 (KERNEL_MACHINE_TIME_HEADER): ... this.
36970 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36971 instances to ...
36972 (KERNEL_MACHINE_TIME_HEADER): ... this.
36973 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36974 instances to ...
36975 (KERNEL_MACHINE_TIME_HEADER): ... this.
36976
36977 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36978 (grub_millisleep): New function.
36979 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36980 (grub_millisleep): New function.
36981 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36982 Remove `grub/machine/time.h' include.
36983 (grub_millisleep): New function.
36984 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36985 Remove `grub/machine/time.h' include.
36986 (grub_millisleep): New function.
36987
36988 * include/grub/misc.h (grub_div_roundup): New function.
36989
36990 * kern/misc.c: Include `<grub/time.h>'.
36991 (grub_millisleep_generic): New function.
36992
36993 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36994 Add `time.h'.
36995 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36996 Add `time.h'.
36997 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36998 `machine/time.h'. Add `time.h'.
36999 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37000
a39a0312 370012007-10-21 Robert Millan <rmh@aybabtu.com>
37002
37003 * include/grub/misc.h (grub_max): New function.
37004
2aad70e2 370052007-10-21 Robert Millan <rmh@aybabtu.com>
37006
37007 * util/misc.c (grub_util_info): Call fflush() before returning.
37008
54b71c4b 370092007-10-20 Robert Millan <rmh@aybabtu.com>
37010
37011 * genmk.rb (Image): Copy `extra_flags' from here ...
37012 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37013
37014 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37015 to `argc' and `args' arguments.
37016
a979f513 370172007-10-17 Robert Millan <rmh@aybabtu.com>
37018
37019 * kern/i386/loader.S: New file.
37020
37021 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37022 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37023 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37024 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37025 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37026 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37027 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37028 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37029 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37030 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37031 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37032 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37033 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37034 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37035
37036 * kern/i386/realmode.S: New file.
37037
37038 * kern/i386/pc/startup.S (protstack): Moved from here ...
37039 * kern/i386/realmode.S (protstack)... to here.
37040 * kern/i386/pc/startup.S (gdt): Moved from here ...
37041 * kern/i386/realmode.S (gdt)... to here.
37042 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37043 * kern/i386/realmode.S (prot_to_real)... to here.
37044
37045 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37046 `kern/i386/realmode.S'.
37047
825fc8fd 370482007-10-17 Robert Millan <rmh@aybabtu.com>
37049
37050 * include/grub/i386/loader.h: New file.
37051
37052 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37053 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37054 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37055 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37056 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37057 * include/grub/i386/loader.h (grub_linux_prot_size)
37058 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37059 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37060 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37061 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37062
37063 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37064
e179b2f4 370652007-10-15 Robert Millan <rmh@aybabtu.com>
37066
37067 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37068 filesystem when dev->disk is unset.
37069 Do probe for filesystem even when dev->disk->has_partitions is set.
37070 In case a filesystem is found, always report it.
37071 In case it isn't, if dev->disk->has_partitions is set, report that
37072 a partition table was found instead of reporting that no filesystem
37073 could be identified.
37074
5db82af6 370752007-10-12 Robert Millan <rmh@aybabtu.com>
37076
37077 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37078 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37079
68f6ac74 37080 * include/grub/types.h (grub_host_to_target16): New macro.
37081 (grub_host_to_target32): Likewise.
37082 (grub_host_to_target64): Likewise.
37083 (grub_target_to_host16): Likewise.
37084 (grub_target_to_host32): Likewise.
37085 (grub_target_to_host64): Likewise.
5db82af6 37086
37087 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37088 Renamed from to ...
37089 (GRUB_MOD_ALIGN): ...this. Update all users.
37090
68f6ac74 37091 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37092 grub_host_to_target32.
37093 Replace grub_be_to_cpu32 with grub_target_to_host32.
37094 (load_modules): Likewise.
37095 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37096 Replace grub_be_to_cpu32 with grub_target_to_host32.
37097 Replace grub_cpu_to_be16 with grub_host_to_target16.
37098 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37099
3cf497cc 371002007-10-12 Robert Millan <rmh@aybabtu.com>
37101
37102 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37103 * util/elf/grub-mkimage.c: ... here.
37104
37105 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37106 `util/powerpc/ieee1275/grub-mkimage.c'.
37107
c8cc3692 371082007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37109
c8cc3692 37110 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37111 and make it easier to figure out.
37112 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37113 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37114 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37115 leave us with less than HEAP_MIN_SIZE total heap.
37116 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37117
5c58b791 371182007-10-03 Robert Millan <rmh@aybabtu.com>
37119
37120 * include/grub/i386/io.h: New file.
37121 * commands/i386/pc/play.c (inb): Removed.
37122 (outb): Removed.
37123 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37124 with grub_outb().
afcd2ef8 37125 * term/i386/pc/serial.c (inb): Removed.
37126 (outb): Removed.
37127 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37128 with grub_outb().
37129 * term/i386/pc/vga.c (inb): Removed.
37130 (outb): Removed.
37131 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37132 with grub_outb().
5c58b791 37133
1a477ed6 371342007-10-02 Robert Millan <rmh@aybabtu.com>
37135
37136 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37138 Reported by Marcin Kurek.
37139
6b5d80fa 371402007-09-07 Robert Millan <rmh@aybabtu.com>
37141
37142 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37143 SmartFirmware version updates (as released by Sven Luther), and avoid
37144 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37145 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37146 known broken.
37147
5618afbf 371482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37149
37150 From Hitoshi Ozeki:
37151 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37152 when merging two regions.
37153
6139dcd9 371542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37155
508e39ee 37156 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37157 * normal/completion.c (grub_normal_do_completion): Likewise.
37158 Reported by Hitoshi Ozeki.
37159
371602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37161
6139dcd9 37162 Do not use devices at boot in chainloading.
f19dbdb7 37163
6139dcd9 37164 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37165 (boot_part_addr): Likewise.
37166 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37167 with BOOT_DRIVE and BOOT_PART_ADDR.
37168 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37169 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37170
38da6516 371712007-08-29 Robert Millan <rmh@aybabtu.com>
37172
37173 Patch from Simon Peter <dn.tlp@gmx.net>:
37174 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37175 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37176 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37177 util/i386/pc/grub-setup.c_DEPENDENCIES.
37178 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37179 util/grub-probe.c_DEPENDENCIES.
37180 * conf/powerpc-ieee1275.rmk: Likewise.
37181
29d0928c 371822007-08-28 Robert Millan <rmh@aybabtu.com>
37183
37184 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37185 to tell grub-mkdevicemap how to name devices.
37186 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37187 feature).
37188
37189 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37190 util/i386/get_disk_name.c.
37191 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37192 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37193 util/ieee1275/get_disk_name.c.
37194
37195 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37196
37197 * DISTLIST: Add util/i386/get_disk_name.c and
37198 util/ieee1275/get_disk_name.c.
37199
37200 * util/grub-mkdevicemap.c: Replace device naming logic with
37201 grub_util_get_disk_name() calls.
37202
5a0d3cca 372032007-08-20 Robert Millan <rmh@aybabtu.com>
37204
37205 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37206 (so that it works for both plural and singular quantities).
37207
8b72db2f 372082007-08-05 Robert Millan <rmh@aybabtu.com>
37209
37210 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37211 so that [xz] isn't taken into account when determining order.
37212
352466bf 372132007-08-02 Marco Gerards <marco@gnu.org>
37214
37215 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37216 `include/multiboot2.h', `include/grub/elfload.h',
37217 `include/multiboot.h', `include/grub/multiboot.h',
37218 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37219 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37220 `kern/elf.c', `loader/multiboot_loader.c',
37221 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37222 `loader/i386/pc/multiboot2.c',
37223 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37224 `util/i386/pc/grub-mkrescue.in'. Remove
37225 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37226 `include/grub/i386/pc/util/biosdisk.h' and
37227 `include/grub/powerpc/ieee1275/multiboot.h'.
37228
8f096014 372292007-08-02 Bean <bean123ch@gmail.com>
37230
37231 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37232 (ntfs_mod_SOURCES): New variable.
37233 (ntfs_mod_CFLAGS): Likewise.
37234 (ntfs_mod_LDFLAGS): Likewise.
37235
37236 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37237 (grub_probe_SOURCES): Likewise.
37238 (grub_emu_SOURCES): Likewise.
37239
37240 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37241 (grub_emu_SOURCES): Likewise.
37242
37243 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37244 (grub_emu_SOURCES): Likewise.
f19dbdb7 37245
8f096014 37246 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37247
37248 * fs/ntfs.c: New file.
37249
9959f7db 372502007-08-02 Bean <bean123ch@gmail.com>
37251
37252 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37253
37254 * file.h (grub_file): Likewise.
37255
37256 * fshelp.h (grub_fshelp_read_file): Likewise.
37257
37258 * util/i386/pc/grub-setup.c (setup): Likewise.
37259 (save_first_sector): Likewise.
37260 (save_blocklists): Likewise.
f19dbdb7 37261
9959f7db 37262 * fs/affs.c (grub_affs_read_file): Likewise.
37263
37264 * fs/ext2.c (grub_ext2_read_file): Likewise.
37265
37266 * fs/fat.c (grub_fat_read_data): Likewise.
37267
37268 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37269
37270 * fs/hfs.c (grub_hfs_read_file): Likewise.
37271
37272 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37273
37274 * fs/jfs.c (grub_jfs_read_file): Likewise.
37275
37276 * fs/minix.c (grub_minix_read_file): Likewise.
37277
37278 * fs/sfs.c (grub_sfs_read_file): Likewise.
37279
37280 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37281
9959f7db 37282 * fs/xfs.c (grub_xfs_read_file): Likewise.
37283
37284 * command/blocklist.c (read_blocklist): Likewise.
37285 (print_blocklist): Likewise.
37286
0a203f83 372872007-08-02 Marco Gerards <marco@gnu.org>
37288
37289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37290 `util/hostfs.c'.
37291
37292 * disk/host.c: New file.
37293
37294 * util/hostfs.c: Likewise.
37295
37296 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37297 return `GRUB_ERR_BAD_FS'.
37298 * fs/sfs.c (grub_sfs_mount): Likewise.
37299 * fs/xfs.c (grub_xfs_mount): Likewise.
37300
37301 * include/grub/disk.h (enum grub_disk_dev_id): Add
37302 `GRUB_DISK_DEVICE_HOST_ID'.
37303
37304 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37305
e5dfe777 373062007-07-24 Jerone Young <jerone@gmail.com>
37307
f19dbdb7 37308 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37309 modules for compilation.
37310 * conf/powerpc-ieee1275.rmk: Likewise.
37311
37312 * include/multiboot.h: Move multiboot definitions to one file. Rename
37313 many definitions to not get grub specific.
37314 * include/multiboot2.h: Create header with multiboot 2 definitions.
37315 * include/grub/multiboot.h: Header for grub specific function
37316 prototypes and definitions.
37317 * include/grub/multiboot2.h: Likewise.
37318 * include/grub/multiboot_loader.h: Likewise.
37319 * include/grub/i386/pc/multiboot.h: Removed.
37320 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37321
37322 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37323 and 2 to allow for one multiboot and module commands.
37324 * loader/multiboot2.c: Add multiboot2 functionality.
37325 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37326 and definition names.
37327 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37328 2 functions.
37329 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37330 ieee1275 specific multiboot2 code.
37331
37332 * kern/i386/pc/startup.S: Change headers and definition names for
37333 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37334
daf0f0ba 373352007-07-22 Robert Millan <rmh@aybabtu.com>
37336
37337 * geninitheader.sh: Process file specified in first parameter rather
37338 than hardcoding grub_modules_init.lst.
fe6b695a 37339 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37340 than hardcoding grub_modules_init.h.
37341
37342 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37343 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37344 grub_probe_init.[ch] and grub_setup_init.[ch].
37345
37346 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37347 grub_modules_init.h with grub_emu_init.h.
37348 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37349 grub_probe_init.[ch] files.
37350 * conf/i386-efi.rmk: Likewise.
37351 * conf/i386-pc.rmk: Likewise.
37352 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37353 grub_setup_init.[ch] files.
37354
37355 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37356 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37357 to initialize modules rather than a list of hardcoded functions.
37358 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37359 grub_init_all() to initialize modules rather than a list of hardcoded
37360 functions.
37361
54cdc1cc 373622007-07-22 Robert Millan <rmh@aybabtu.com>
37363
37364 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37365 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37366
ad0686cc 373672007-07-22 Robert Millan <rmh@aybabtu.com>
37368
37369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37370 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37371 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37372 flag when running on SmartFirmware.
37373 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37374 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37375 was set.
37376
37377 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37378 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37379 rather than decreasing it.
37380
37381 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37382 there's not enough space to do it, fail in the same way as when it
37383 can't be done because there are no partitions.
37384
37385 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37386 when nvsetenv failed.
37387
969c02ec 373882007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37389
37390 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37391 because this rule is automatically generated.
37392 (grub-mkrescue): Removed for the same reason as above.
37393
5a79f472 373942007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37395
37396 Migrate to GNU General Public License Version 3.
f19dbdb7 37397
5a79f472 37398 * COPYING: Replaced with the plain text version of GPLv3.
37399
37400 * config.guess: Updated from gnulib.
37401 * config.sub: Likewise.
37402
37403 * geninit.sh: Output a GPLv3 copyright notice.
37404 * geninitheader.sh: Likewise.
37405 * genmodsrc.sh: Likewise.
37406 * gensymlist.sh.in: Likewise.
37407
37408 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37409 * boot/i386/pc/diskboot.S: Likewise.
37410 * boot/i386/pc/pxeboot.S: Likewise.
37411 * commands/blocklist.c: Likewise.
37412 * commands/boot.c: Likewise.
37413 * commands/cat.c: Likewise.
37414 * commands/cmp.c: Likewise.
37415 * commands/configfile.c: Likewise.
37416 * commands/echo.c: Likewise.
37417 * commands/help.c: Likewise.
37418 * commands/ls.c: Likewise.
37419 * commands/search.c: Likewise.
37420 * commands/terminal.c: Likewise.
37421 * commands/test.c: Likewise.
37422 * commands/videotest.c: Likewise.
37423 * commands/i386/cpuid.c: Likewise.
37424 * commands/i386/pc/halt.c: Likewise.
37425 * commands/i386/pc/play.c: Likewise.
37426 * commands/i386/pc/reboot.c: Likewise.
37427 * commands/i386/pc/vbeinfo.c: Likewise.
37428 * commands/i386/pc/vbetest.c: Likewise.
37429 * commands/ieee1275/halt.c: Likewise.
37430 * commands/ieee1275/reboot.c: Likewise.
37431 * commands/ieee1275/suspend.c: Likewise.
37432 * disk/loopback.c: Likewise.
37433 * disk/lvm.c: Likewise.
37434 * disk/raid.c: Likewise.
37435 * disk/efi/efidisk.c: Likewise.
37436 * disk/i386/pc/biosdisk.c: Likewise.
37437 * disk/ieee1275/ofdisk.c: Likewise.
37438 * font/manager.c: Likewise.
37439 * fs/affs.c: Likewise.
37440 * fs/ext2.c: Likewise.
37441 * fs/fat.c: Likewise.
37442 * fs/fshelp.c: Likewise.
37443 * fs/hfs.c: Likewise.
37444 * fs/hfsplus.c: Likewise.
37445 * fs/iso9660.c: Likewise.
37446 * fs/jfs.c: Likewise.
37447 * fs/minix.c: Likewise.
37448 * fs/sfs.c: Likewise.
37449 * fs/ufs.c: Likewise.
37450 * fs/xfs.c: Likewise.
37451 * hello/hello.c: Likewise.
37452 * include/grub/acorn_filecore.h: Likewise.
37453 * include/grub/arg.h: Likewise.
37454 * include/grub/bitmap.h: Likewise.
37455 * include/grub/boot.h: Likewise.
37456 * include/grub/cache.h: Likewise.
37457 * include/grub/device.h: Likewise.
37458 * include/grub/disk.h: Likewise.
37459 * include/grub/dl.h: Likewise.
37460 * include/grub/elfload.h: Likewise.
37461 * include/grub/env.h: Likewise.
37462 * include/grub/err.h: Likewise.
37463 * include/grub/file.h: Likewise.
37464 * include/grub/font.h: Likewise.
37465 * include/grub/fs.h: Likewise.
37466 * include/grub/fshelp.h: Likewise.
37467 * include/grub/gzio.h: Likewise.
37468 * include/grub/hfs.h: Likewise.
37469 * include/grub/kernel.h: Likewise.
37470 * include/grub/loader.h: Likewise.
37471 * include/grub/lvm.h: Likewise.
37472 * include/grub/misc.h: Likewise.
37473 * include/grub/mm.h: Likewise.
37474 * include/grub/net.h: Likewise.
37475 * include/grub/normal.h: Likewise.
37476 * include/grub/parser.h: Likewise.
37477 * include/grub/partition.h: Likewise.
37478 * include/grub/pc_partition.h: Likewise.
37479 * include/grub/raid.h: Likewise.
37480 * include/grub/rescue.h: Likewise.
37481 * include/grub/script.h: Likewise.
37482 * include/grub/setjmp.h: Likewise.
37483 * include/grub/symbol.h: Likewise.
37484 * include/grub/term.h: Likewise.
37485 * include/grub/terminfo.h: Likewise.
37486 * include/grub/tparm.h: Likewise.
37487 * include/grub/types.h: Likewise.
37488 * include/grub/video.h: Likewise.
37489 * include/grub/efi/api.h: Likewise.
37490 * include/grub/efi/chainloader.h: Likewise.
37491 * include/grub/efi/console.h: Likewise.
37492 * include/grub/efi/console_control.h: Likewise.
37493 * include/grub/efi/disk.h: Likewise.
37494 * include/grub/efi/efi.h: Likewise.
37495 * include/grub/efi/pe32.h: Likewise.
37496 * include/grub/efi/time.h: Likewise.
37497 * include/grub/i386/linux.h: Likewise.
37498 * include/grub/i386/setjmp.h: Likewise.
37499 * include/grub/i386/types.h: Likewise.
37500 * include/grub/i386/efi/kernel.h: Likewise.
37501 * include/grub/i386/efi/loader.h: Likewise.
37502 * include/grub/i386/efi/time.h: Likewise.
37503 * include/grub/i386/pc/biosdisk.h: Likewise.
37504 * include/grub/i386/pc/boot.h: Likewise.
37505 * include/grub/i386/pc/chainloader.h: Likewise.
37506 * include/grub/i386/pc/console.h: Likewise.
37507 * include/grub/i386/pc/init.h: Likewise.
37508 * include/grub/i386/pc/kernel.h: Likewise.
37509 * include/grub/i386/pc/loader.h: Likewise.
37510 * include/grub/i386/pc/memory.h: Likewise.
37511 * include/grub/i386/pc/multiboot.h: Likewise.
37512 * include/grub/i386/pc/serial.h: Likewise.
37513 * include/grub/i386/pc/time.h: Likewise.
37514 * include/grub/i386/pc/vbe.h: Likewise.
37515 * include/grub/i386/pc/vbeblit.h: Likewise.
37516 * include/grub/i386/pc/vbefill.h: Likewise.
37517 * include/grub/i386/pc/vbeutil.h: Likewise.
37518 * include/grub/i386/pc/vga.h: Likewise.
37519 * include/grub/ieee1275/ieee1275.h: Likewise.
37520 * include/grub/ieee1275/ofdisk.h: Likewise.
37521 * include/grub/powerpc/libgcc.h: Likewise.
37522 * include/grub/powerpc/setjmp.h: Likewise.
37523 * include/grub/powerpc/types.h: Likewise.
37524 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37525 * include/grub/powerpc/ieee1275/console.h: Likewise.
37526 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37527 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37528 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37529 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37530 * include/grub/powerpc/ieee1275/time.h: Likewise.
37531 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37532 * include/grub/sparc64/libgcc.h: Likewise.
37533 * include/grub/sparc64/setjmp.h: Likewise.
37534 * include/grub/sparc64/types.h: Likewise.
37535 * include/grub/sparc64/ieee1275/console.h: Likewise.
37536 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37537 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37538 * include/grub/sparc64/ieee1275/time.h: Likewise.
37539 * include/grub/util/biosdisk.h: Likewise.
37540 * include/grub/util/getroot.h: Likewise.
37541 * include/grub/util/lvm.h: Likewise.
37542 * include/grub/util/misc.h: Likewise.
37543 * include/grub/util/raid.h: Likewise.
37544 * include/grub/util/resolve.h: Likewise.
37545 * io/gzio.c: Likewise.
37546 * kern/device.c: Likewise.
37547 * kern/disk.c: Likewise.
37548 * kern/dl.c: Likewise.
37549 * kern/elf.c: Likewise.
37550 * kern/env.c: Likewise.
37551 * kern/err.c: Likewise.
37552 * kern/file.c: Likewise.
37553 * kern/fs.c: Likewise.
37554 * kern/loader.c: Likewise.
37555 * kern/main.c: Likewise.
37556 * kern/misc.c: Likewise.
37557 * kern/mm.c: Likewise.
37558 * kern/parser.c: Likewise.
37559 * kern/partition.c: Likewise.
37560 * kern/rescue.c: Likewise.
37561 * kern/term.c: Likewise.
37562 * kern/efi/efi.c: Likewise.
37563 * kern/efi/init.c: Likewise.
37564 * kern/efi/mm.c: Likewise.
37565 * kern/i386/dl.c: Likewise.
37566 * kern/i386/efi/init.c: Likewise.
37567 * kern/i386/efi/startup.S: Likewise.
37568 * kern/i386/pc/init.c: Likewise.
37569 * kern/i386/pc/lzo1x.S: Likewise.
37570 * kern/i386/pc/startup.S: Likewise.
37571 * kern/ieee1275/ieee1275.c: Likewise.
37572 * kern/powerpc/cache.S: Likewise.
37573 * kern/powerpc/dl.c: Likewise.
37574 * kern/powerpc/ieee1275/cmain.c: Likewise.
37575 * kern/powerpc/ieee1275/crt0.S: Likewise.
37576 * kern/powerpc/ieee1275/init.c: Likewise.
37577 * kern/powerpc/ieee1275/openfw.c: Likewise.
37578 * kern/sparc64/cache.S: Likewise.
37579 * kern/sparc64/dl.c: Likewise.
37580 * kern/sparc64/ieee1275/init.c: Likewise.
37581 * kern/sparc64/ieee1275/openfw.c: Likewise.
37582 * loader/efi/chainloader.c: Likewise.
37583 * loader/efi/chainloader_normal.c: Likewise.
37584 * loader/i386/efi/linux.c: Likewise.
37585 * loader/i386/efi/linux_normal.c: Likewise.
37586 * loader/i386/pc/chainloader.c: Likewise.
37587 * loader/i386/pc/chainloader_normal.c: Likewise.
37588 * loader/i386/pc/linux.c: Likewise.
37589 * loader/i386/pc/linux_normal.c: Likewise.
37590 * loader/i386/pc/multiboot.c: Likewise.
37591 * loader/i386/pc/multiboot_normal.c: Likewise.
37592 * loader/powerpc/ieee1275/linux.c: Likewise.
37593 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37594 * normal/arg.c: Likewise.
37595 * normal/cmdline.c: Likewise.
37596 * normal/command.c: Likewise.
37597 * normal/completion.c: Likewise.
37598 * normal/execute.c: Likewise.
37599 * normal/function.c: Likewise.
37600 * normal/lexer.c: Likewise.
37601 * normal/main.c: Likewise.
37602 * normal/menu.c: Likewise.
37603 * normal/menu_entry.c: Likewise.
37604 * normal/misc.c: Likewise.
37605 * normal/parser.y: Likewise.
37606 * normal/script.c: Likewise.
37607 * normal/i386/setjmp.S: Likewise.
37608 * normal/powerpc/setjmp.S: Likewise.
37609 * normal/sparc64/setjmp.S: Likewise.
37610 * partmap/acorn.c: Likewise.
37611 * partmap/amiga.c: Likewise.
37612 * partmap/apple.c: Likewise.
37613 * partmap/gpt.c: Likewise.
37614 * partmap/pc.c: Likewise.
37615 * partmap/sun.c: Likewise.
37616 * term/gfxterm.c: Likewise.
37617 * term/terminfo.c: Likewise.
37618 * term/efi/console.c: Likewise.
37619 * term/i386/pc/console.c: Likewise.
37620 * term/i386/pc/serial.c: Likewise.
37621 * term/i386/pc/vesafb.c: Likewise.
37622 * term/i386/pc/vga.c: Likewise.
37623 * term/ieee1275/ofconsole.c: Likewise.
37624 * util/biosdisk.c: Likewise.
37625 * util/console.c: Likewise.
37626 * util/genmoddep.c: Likewise.
37627 * util/getroot.c: Likewise.
37628 * util/grub-emu.c: Likewise.
37629 * util/grub-mkdevicemap.c: Likewise.
37630 * util/grub-probe.c: Likewise.
37631 * util/lvm.c: Likewise.
37632 * util/misc.c: Likewise.
37633 * util/raid.c: Likewise.
37634 * util/resolve.c: Likewise.
37635 * util/update-grub.in: Likewise.
37636 * util/update-grub_lib.in: Likewise.
37637 * util/grub.d/00_header.in: Likewise.
37638 * util/grub.d/10_hurd.in: Likewise.
37639 * util/grub.d/10_linux.in: Likewise.
37640 * util/i386/efi/grub-install.in: Likewise.
37641 * util/i386/efi/grub-mkimage.c: Likewise.
37642 * util/i386/pc/grub-install.in: Likewise.
37643 * util/i386/pc/grub-mkimage.c: Likewise.
37644 * util/i386/pc/grub-mkrescue.in: Likewise.
37645 * util/i386/pc/grub-setup.c: Likewise.
37646 * util/i386/pc/misc.c: Likewise.
37647 * util/powerpc/ieee1275/grub-install.in: Likewise.
37648 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37649 * util/powerpc/ieee1275/misc.c: Likewise.
37650 * video/bitmap.c: Likewise.
37651 * video/video.c: Likewise.
37652 * video/i386/pc/vbe.c: Likewise.
37653 * video/i386/pc/vbeblit.c: Likewise.
37654 * video/i386/pc/vbefill.c: Likewise.
37655 * video/i386/pc/vbeutil.c: Likewise.
37656 * video/readers/tga.c: Likewise.
37657
3572d015 376582007-07-02 Robert Millan <rmh@aybabtu.com>
37659
37660 * conf/i386-efi.rmk: Replace obsolete reference to
37661 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37662 with util/getroot.c.
37663 * conf/powerpc-ieee1275.rmk: Likewise.
37664 * conf/sparc64-ieee1275.rmk: Likewise.
37665
37666 * util/grub-emu.c (main): Fix unchecked pointer handling.
37667
2c2a681b 376682007-07-02 Robert Millan <rmh@aybabtu.com>
37669
37670 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37671 invocation to fail, in order to support partition-less media.
37672
37673 * util/i386/pc/grub-install.in: Likewise.
37674
37675 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37676 which fs or partmap modules are needed (akin to its sister scripts).
37677
37678 Also use grub-probe to get rid of unportable /proc/mounts check.
37679
37680 Print the same informational message that the other scripts do, before
fe6b695a 37681 exiting.
2c2a681b 37682
6193defe 376832007-06-23 Robert Millan <rmh@aybabtu.com>
37684
fe6b695a 37685 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37686 a font file can be found and, if so, echo the GRUB path to it.
37687
37688 * util/update-grub.in: Handle multiple terminals depending on user
37689 input, platform availability and font file presence. Propagate
37690 variables of our findings to /etc/grub.d/ children.
37691
37692 * util/grub.d/00_header.in: Handle multiple terminals, based on
37693 environment setup by update-grub.
37694
eface1dc 376952007-06-23 Robert Millan <rmh@aybabtu.com>
37696
ba50d28f 37697 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37698
bf697e28 376992007-06-21 Robert Millan <rmh@aybabtu.com>
37700
37701 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37702 indicate end of data section in kernel image.
37703 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37704 GRUB_KERNEL_MACHINE_DATA_END.
37705
37706 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37707 space for it.
37708 * kern/i386/efi/startup.S: Likewise.
37709
37710 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37711 during image generation. Implement --prefix option to override this
37712 patch.
37713 * util/i386/efi/grub-mkimage.c: Likewise.
37714
37715 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37716 code to make path relative to its root into a separate function.
37717
37718 * util/i386/pc/grub-install.in: Use newly provided
37719 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37720 pass the result to grub-install --prefix.
37721
baa574b4 377222007-06-13 Robert Millan <rmh@aybabtu.com>
37723
37724 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37725 DEFAULT_DEVICE_MAP.
37726 * util/grub-emu.c: Use above definitions from misc.h instead of
37727 defining them.
37728 * util/grub-mkdevicemap.c: Likewise.
37729 * util/i386/pc/grub-setup.c: Likewise.
37730 * util/grub-probe.c: Likewise.
37731 (probe): Abort with grub_util_error() when either
37732 grub_guess_root_device or grub_util_get_grub_dev fails.
37733
0215dcbf 377342007-06-12 Robert Millan <rmh@aybabtu.com>
37735
37736 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37737 "pager" assignment.
37738 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37739 "pcdata".
37740 * util/grub-probe.c (probe): Likewise for "drive_name".
37741
8af2ab7b 377422007-06-11 Robert Millan <rmh@aybabtu.com>
37743
37744 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37745 not just the cdrom one.
37746
59d31694 377472007-06-11 Robert Millan <rmh@aybabtu.com>
37748
37749 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37750 Add --pkglibdir=DIR option to override pkglibdir.
37751 Mention --image-type=TYPE in help output.
37752 Fix --grub-mkimage (it was a no-op).
fe6b695a 37753 Abort gracefully when no parameter is given.
59d31694 37754
7ee367e4 377552007-06-11 Robert Millan <rmh@aybabtu.com>
37756
37757 * util/i386/pc/grub-mkrescue.in: New file.
37758 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37759 * Makefile.in: Handle bin_SCRIPTS.
37760
29b0ed46 377612007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37762
37763 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37764 list of video modes.
37765
c0f90770 377662007-06-06 Robert Millan <rmh@aybabtu.com>
37767
37768 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37769 file doesn't exist, or if it is in a filesystem grub can't read.
37770
37771 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37772 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37773 header comment to fit in 80 columns when the variables are resolved.
37774
37775 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37776 could be identified by update-grub. Remove redundant check for
fe6b695a 37777 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37778 handles that).
37779
fb36dc26 377802007-06-04 Robert Millan <rmh@aybabtu.com>
37781
37782 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37783
37784 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37785
37786 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37787
0c68c93e 377882007-06-04 Robert Millan <rmh@aybabtu.com>
37789
37790 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37791
37792 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37793 grub_apple_partition_map_fini.
37794
37795 * util/biosdisk.c
37796 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37797 to access >2 TiB disks).
37798
37799 Print disk->total_sectors with %llu instead of %lu, since this
37800 variable is always 64-bit (prevents wrong disk size from being displayed
37801 on either >2 TiB disk or big-endian CPU).
37802
37803 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37804 into a generic case that supports all (sane) partition maps.
37805
37806 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37807 breaks big-endian.
37808
37809 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37810 and grub_apple_partition_map_fini() after that.
37811
0f23eb74 378122007-06-01 Robert Millan <rmh@aybabtu.com>
37813
37814 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37815
37816 * util/grub.d/00_header.in: Only enable gfxterm when
37817 convert_system_path_to_grub_path() succeeds.
37818
42c71976 378192007-05-20 Robert Millan <rmh@aybabtu.com>
37820
37821 * util/update-grub_lib.in: New file.
37822 * DISTLIST: Add update-grub_lib.in.
37823 * conf/common.rmk: Generate update-grub_lib and install it in
37824 $(lib_DATA).
37825 * Makefile.in: Add install routine for $(lib_DATA).
37826
37827 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37828 function provided by update-grub_lib to support arbitrary paths of
37829 unifont.pff.
37830 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37831 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37832
5beb2291 378332007-05-19 Robert Millan <rmh@aybabtu.com>
37834
37835 * commands/i386/cpuid.c: New module.
37836 * DISTLIST: Add it.
37837 * conf/i386-efi.rmk: Enable cpuid.mod.
37838 * conf/i386-pc.rmk: Likewise.
37839
7262eca1 378402007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37841
37842 * kern/disk.c (grub_disk_read): Check return value of
37843 grub_realloc().
37844
260ba823 378452007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37846
37847 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37848 arrays.
37849 * disk/raid.c (grub_raid_open): Likewise.
37850
1ecb6cf2 378512007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37852
37853 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37854 stack instead of on the heap.
37855
37856 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37857 before doing a read on it.
37858
37859 * configure.ac: Only use -fno-stack-protector for the target
37860 environment.
f19dbdb7 37861
21c8cbb1 378622007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37863
37864 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37865 __attribute_ ((unused)) to mode_type argument.
37866
37867 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37868
21c8cbb1 37869 * kern/misc.c (memcmp): Fix prototype.
37870
37871 * include/grub/partition.h [GRUB_UTIL]
37872 (grub_gpt_partition_map_init): Add prototype.
37873 (grub_gpt_partition_map_fini): Likewise.
37874
37875 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37876 at the right place.
37877
37878 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37879 (grub_fat_read_data): Likewise.
37880 (grub_fat_find_dir): Likewise.
37881
37882 * font/manager.c (find_glyph): Make table a const.
37883 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37884
849d55d3 378852007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37886
37887 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37888 code, first search for device in /dev/mapper, then in /dev.
37889 (grub_util_get_grub_dev): New function.
37890 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37891 prototype.
37892 * util/grub-probe.c (probe): Remove check for RAID, call
37893 grub_util_get_grub_dev() instead of
37894 grub_util_biosdisk_get_grub_dev().
37895 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37896 grub_util_biosdisk_get_grub_dev().
37897 * util/i386/pc/grub-setup.c (main): Likewise.
37898
8fff7c2f 378992007-05-16 Robert Millan <rmh@aybabtu.com>
37900
37901 * DISTLIST: Update for the latest changes.
37902 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37903 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37904 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37905 grub/util/biosdisk.h.
37906 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37907 grub/util/biosdisk.h.
37908
48e12b52 379092007-05-16 Robert Millan <rmh@aybabtu.com>
37910
37911 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37912
46b9d128 379132007-05-16 Robert Millan <rmh@aybabtu.com>
37914
37915 * util/i386/efi/grub-install.in: New.
37916 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37917 newly added grub-install.
37918 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37919 include.
37920 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37921 grub/util/biosdisk.h.
37922 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37923 grub/util/biosdisk.h.
37924
2d1a40a9 379252007-05-16 Robert Millan <rmh@aybabtu.com>
37926
37927 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37928 * include/grub/util/biosdisk.h: ... here.
37929 * util/i386/pc/biosdisk.c: Moved to ...
37930 * util/biosdisk.c: ... here.
37931 * util/i386/pc/getroot.c: Moved to ...
37932 * util/getroot.c: ... here.
37933 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37934 * util/grub-mkdevicemap.c: ... here.
37935 * util/i386/pc/grub-probe.c: Moved to ...
37936 * util/grub-probe.c: ... here.
37937
9e26e3bc 379382007-05-15 Robert Millan <rmh@aybabtu.com>
37939
37940 * util/update-grub.in: Remove duplicated line in grub.cfg header
37941 message.
37942
57f96397 379432007-05-13 Robert Millan <rmh@aybabtu.com>
37944
37945 * util/update-grub.in: Fix a few assumptions about the devices holding
37946 /, /boot and /boot/grub being the same.
37947 * util/grub.d/00_header.in: Likewise.
37948 * util/grub.d/10_hurd.in: Likewise.
37949 * util/grub.d/10_linux.in: Likewise.
37950
37951 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37952 patterns. Use that to define the `.old' suffix as older than `'.
37953
37954 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37955
37956 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37957 the grub.cfg header message.
37958
2e610d62 379592007-05-11 Robert Millan <rmh@aybabtu.com>
37960
37961 * util/update-grub.in: Create device.map if it doesn't already exist,
37962 before attempting to run grub-probe.
37963 Check for grub-probe and grub-mkdevicemap with the same code
37964 grub-install is using.
37965 Remove test mode.
37966
3f6a10ef 379672007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37968
37969 * Makefile.in: Add the datarootdir autoconf variable.
37970
02e7b75e 379712007-05-09 Robert Millan <rmh@aybabtu.com>
37972
37973 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37974 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37975
75f396cc 379762007-05-07 Robert Millan <rmh@aybabtu.com>
37977
37978 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37979 determine partition map module.
37980 * util/i386/pc/grub-install.in: Use this feature to decide which
37981 partition module to load, instead of hardcoding pc and gpt.
37982
da65cb36 379832007-05-07 Robert Millan <rmh@aybabtu.com>
37984
37985 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37986 source directory differs from build directory.
37987
b57d6a91 379882007-05-05 Robert Millan <rmh@aybabtu.com>
37989
37990 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37991 initialisation.
37992
509d00f1 379932007-05-05 Robert Millan <rmh@aybabtu.com>
37994
37995 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37996
c48f23ef 379972007-05-05 Robert Millan <rmh@aybabtu.com>
37998
37999 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38000 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38001
20b97658 380022007-05-05 Robert Millan <rmh@aybabtu.com>
38003
38004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38005 (grub_probe_SOURCES): Likewise.
38006 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38007 GPT and initialize dos_part and bsd_part accordingly.
38008 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38009 install_bsd_part.
38010 (main): Activate gpt module for use during partition identification,
38011 and deactivate it afterwards.
38012 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38013 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38014 partition identification, and deactivate it afterwards.
38015
99123174 380162007-05-05 Robert Millan <rmh@aybabtu.com>
38017
38018 * term/i386/pc/console.c (grub_console_fini): Call
38019 grub_term_set_current() before grub_term_unregister().
38020
ebd97f6e 380212007-05-04 Robert Millan <rmh@aybabtu.com>
38022
38023 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38024 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38025 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38026 and update-grub_DATA.
38027 * conf/common.rmk: Build and install update-grub components.
38028 * conf/common.mk: Regenerate.
38029 * util/update-grub.in: New. Core of update-grub.
38030 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38031 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38032 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38033 * util/grub.d/README: New. Document grub.d directory layout.
38034
b06a264d 380352007-05-01 Robert Millan <rmh@aybabtu.com>
38036
38037 * util/grub-emu.c: Move initialization functions
38038 grub_util_biosdisk_init() and grub_init_all() before
38039 grub_util_biosdisk_get_grub_dev(), which relies on them.
38040
41f0050e 380412007-04-19 Robert Millan <rmh@aybabtu.com>
38042
38043 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38044 it is used later.
38045
04582bb3 380462007-04-18 Jerone Young <jerone@gmail.com>
38047
f19dbdb7 38048 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38049 stanza.
38050
08db4632 380512007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38052
08db4632 38053 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38054 continue on and look for device node with real device name.
38055
801b76be 380562007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38057
fe6b695a 38058 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38059 ability.
38060 * Makefile.in: Add autoconf package transformation code.
38061 * util/i386/pc/grub-install.in: Likewise.
38062 * util/powerpc/ieee1275/grub-install.in: Likewise.
38063
6795c4e1 380642007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38065
38066 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38067 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38068 (EXT2_REVISION): Likewise.
38069 (EXT2_INODE_SIZE): Likewise.
38070 (struct grub_ext2_block_group): Added a missing member
38071 "used_dirs".
38072 (grub_ext2_read_inode): Divide by the inode size in a superblock
38073 instead of 128 to obtain INODES_PER_BLOCK.
38074 Use the macro EXT2_INODE_SIZE instead of directly using
38075 SBLOCK->INODE_SIZE.
38076
d70af616 380772007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38078
38079 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38080 superblock instead of the structure size to compute an
38081 offset. This fixes the problem that GRUB could not read a
38082 filesystem when inode size is different from 128-byte.
38083
3b801603 380842007-03-05 Marco Gerards <marco@gnu.org>
38085
38086 * normal/main.c (read_config_file): When "menu" is not set, create
38087 an initial context.
38088
4785bfe4 380892007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38090
38091 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38092 (HEAP_LIMIT): New macro.
38093 (grub_claim_heap): Claim memory up to `heaplimit'.
38094
a0cbb023 380952007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38096
38097 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38098 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38099 (_start): Likewise.
38100 (grub_arch_modules_addr): Return address after `_end'.
38101 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38102 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38103 (add_segments): Calculate `_end' from phdr size and location.
38104 (ALIGN_UP): Moved to ...
38105 * include/grub/misc.h: here.
38106 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38107 New macro.
38108 (GRUB_IEEE1275_MODULE_BASE): Removed.
38109
fd7d8eba 381102007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38111
38112 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38113 loop boundary.
38114
9b09e6fc 381152007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38116
38117 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38118 All users updated.
38119 (grub_elf64_load_hook_t): Likewise.
38120 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38121 debug output.
38122
3ce27299 381232007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38124
38125 * kern/mm.c: Update copyright.
38126 (grub_mm_debug): Correct syntax error.
38127 (grub_mm_dump_free): New function.
38128 (grub_debug_free): Call `grub_free'.
38129 * include/grub/mm.h: Update copyright.
38130 (grub_mm_dump_free): Add declaration.
38131
077d5fee 381322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38133
38134 * include/grub/ieee1275/ieee1275.h: Update copyright.
38135 * kern/powerpc/ieee1275/init.c: Likewise.
38136 * kern/powerpc/ieee1275/openfw.c: Likewise.
38137
38138 * loader/powerpc/ieee1275/linux.c: Likewise.
38139 * include/grub/elfload.h: Likewise.
38140 * kern/elf.c: Likewise.
38141 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38142 callers.
38143 (grub_elf64_load): Likewise.
38144 (grub_elf32_load_segment): Move to a nested function.
38145 (grub_elf64_load_segment): Likewise.
38146
dc946850 381472007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38148
38149 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38150 prototype.
38151 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38152 (grub_heap_len): Likewise.
38153 (HEAP_SIZE): New macro.
38154 (grub_claim_heap): New function.
38155 (grub_machine_init): Don't claim heap directly. Call
38156 `grub_claim_heap'.
38157 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38158 (grub_available_iterate): New function.
38159
baa2a121 381602007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38161
38162 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38163 * configure.ac: Use it for testing the HOST and TARGET compilers.
38164
4fe9862e 381652006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38166
38167 * Makefile.in (enable_grub_emu): New variable.
38168 * configure.ac (--enable-grub-emu): New option.
38169 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38170 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38171 * conf/i386-pc.rmk: Likewise.
38172 * conf/powerpc-ieee1275.rmk: Likewise.
38173 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38174
a8aa5762 381752006-12-12 Marco Gerards <marco@gnu.org>
38176
38177 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38178
38179 * kern/env.c (grub_env_unset): Don't free the member `value' when
38180 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38181 pointer.
38182
38183 * normal/main.c (current_menu): Removed.
38184 (free_menu): Unset the `menu' environment variable.
38185 (grub_normal_menu_addentry): Make use of the environment variable
38186 `menu', instead of using the global `current_menu'. Allocate
38187 memory for the sourcecode of this entry.
38188 (read_config_file): New argument `nested', changed all callers.
38189 Only in the case of a new context, initialize a new menu. Set the
38190 `menu' environment variable.
38191 (grub_normal_execute): Don't set and unset the environment
38192 variable `menu' here anymore. Only free the menu when leaving the
38193 context.
38194
38195 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38196 leak.
38197
957b3a3e 381982006-12-11 Marco Gerards <marco@gnu.org>
38199
38200 * normal/menu_entry.c (run): Fix off by one bug so the last line
38201 is executed. Move the loader check to outside the loop.
38202
ef875714 382032006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38204
38205 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38206
4e739985 382072006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38208
38209 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38210 the number of sectors. Reported by Andrey Shuvikov
38211 <mr_hyro@yahoo.com>.
f19dbdb7 38212
790707f2 382132006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38214
38215 * kern/disk.c (grub_disk_read): When there is a read error, always
38216 try to read only the necessary data.
f19dbdb7 38217
790707f2 38218 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38219 disk/raid.c.
38220 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38221 prototype.
38222 [GRUB_UTIL] (grub_raid_fini): Likewise.
38223 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38224 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38225 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38226 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38227 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38228 and grub_raid_fini().
f19dbdb7 38229
03e58196 382302006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38231
38232 * include/grub/types.h (__unused): Rename to UNUSED.
38233 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38234 (grub_elf64_size): Likewise.
f19dbdb7 38235
ae4f23bf 382362006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38237
38238 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38239 grub_error_push and grub_error_pop in the error-handling path.
38240 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38241 length.
38242
2166cc83 382432006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38244
38245 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38246 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38248 (kernel_elf_SOURCES): Likewise.
38249 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38250 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38251 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38252 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38253 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38254 (elf_mod_SOURCES): New variable.
38255 (elf_mod_CFLAGS): Likewise.
38256 (elf_mod_LDFLAGS): Likewise.
38257 * include/grub/types.h (__unused): New macro.
38258 * include/grub/elfload.h: New file.
38259 * kern/elf.c: Likewise.
38260 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38261 (ELF32_LOADMASK): New macro.
38262 (ELF64_LOADMASK): Likewise.
38263 (vmlinux): Removed.
38264 (grub_linux_load32): New function.
38265 (grub_linux_load64): Likewise.
38266 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38267 Use grub_elf_t instead of grub_file_t.
38268
a09d5aa5 382692006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38270
38271 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38272 `catch_result' to struct set_color_args.
38273
d976fc51 382742006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38275
38276 * normal/menu.c: Include grub/script.h.
38277 * normal/menu_entry.c: Likewise.
38278 * include/grub/normal.h: Do not include grub/script.h.
38279
67507549 382802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38281
38282 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38283
69203a99 382842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38285
38286 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38287 disk.
38288 (grub_disk_close): Print debug messages when closing a disk.
38289 (grub_disk_read): Print debug messages when disk read fails.
38290 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38291 filesystem type.
38292 * kern/partition.c: Include misc.h.
38293 (grub_partition_iterate): Print debug messages when detecting
38294 partition type.
38295
e2b8278c 382962006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38297
38298 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38299 is negative.
38300 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38301
97b2f2ff 383022006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38303
38304 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38305 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38306
6555d655 383072006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38308
38309 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38310 instead of sizeof(lv). Patch by Michael Guntsche.
38311
4d42b77f 383122006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38313
38314 * disk/lvm.c: Rename VGS to VG_LIST.
38315 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38316 (grub_lvm_open): Likewise.
38317 Thanks to Michael Guntsche for finding this bug.
38318
5d74d927 383192006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38320
38321 * configure.ac (AC_INIT): Bumped to 1.95.
38322
a1bb27e4 383232006-10-14 Robert Millan <rmh@aybabtu.com>
38324
38325 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38326 with "/dev/.static/dev/md".
38327
e0994b8b 383282006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38329
38330 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38331 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38332 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38333 DRIVE_NAME are always freed.
38334
38335 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38336 DOS_PART, as a DOS partition is counted from one instead of zero
38337 now. Reported by Robert Millan.
38338
ddd5cee9 383392006-10-14 Robert Millan <rmh@aybabtu.com>
38340
38341 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38342 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38343 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38344 string returned by grub_guess_root_device.
38345 * util/i386/pc/grub-setup.c: Likewise.
38346 * util/i386/pc/grub-probefs.c: Likewise.
38347
38348 * util/i386/pc/grub-probefs.c: Rename to ...
38349 * util/i386/pc/grub-probe.c: ... this.
38350 * DISTLIST: Remove grub-probefs, add grub-probe.
38351 * conf/i386-efi.rmk: Likewise.
38352 * conf/i386-pc.rmk: Likewise.
38353 * util/i386/pc/grub-install.in: Likewise.
38354
38355 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38356 choose which information we want to print.
38357
2b002173 383582006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38359
38360 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38361 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38362 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38363 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38364 video/readers/tga.c and video/i386/pc/vbeutil.c.
38365
383662006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38367
38368 Added support for RAID and LVM.
f19dbdb7 38369
2b002173 38370 * disk/lvm.c: New file.
38371 * disk/raid.c: Likewise.
38372 * include/grub/lvm.h: Likewise.
f19dbdb7 38373 * include/grub/raid.h: Likewise.
2b002173 38374 * include/grub/util/lvm.h: Likewise.
38375 * include/grub/util/raid.h: Likewise.
38376 * util/lvm.c: Likewise.
38377 * util/raid.c: Likewise.
38378
38379 * include/grub/disk.h (grub_disk_dev_id): Add
38380 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38381 (grub_disk_get_size): New prototype.
38382 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38383 returns a partition.
38384 (grub_disk_get_size): New function.
f19dbdb7 38385
2b002173 38386 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38387 verbatim if grub_install_dos_part is -2.
38388
38389 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38390 and LVM devices.
38391
38392 * util/i386/pc/grub-setup.c (setup): New argument
38393 MUST_EMBED. Force embedding of GRUB when the argument is
38394 true. Close FILE before returning.
38395 (main): Add support for RAID and LVM.
f19dbdb7 38396
2b002173 38397 * conf/common.rmk: Add RAID and LVM modules.
38398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38399 util/lvm.c.
38400 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38401
38402 * kern/misc.c (grub_strstr): New function.
38403 * include/grub/misc.h (grub_strstr): New prototype.
38404
050548d0 384052006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38406
38407 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38408
da849d2d 384092006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38410
38411 * kern/misc.c (grub_strtoull): Guess the base only if not
38412 specified.
38413
97b2f2ff 384142006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38415
38416 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38417 PowerMac support.
38418
97b2f2ff 384192006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38420
38421 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38422
38423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38424 Remove `flags' argument. All callers changed.
38425 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38426 (IEEE1275_IHANDLE_INVALID): New variable.
38427 (IEEE1275_CELL_INVALID): New variable.
38428 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38429 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38430 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38431 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38432 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38433 codes from Open Firmware. All callers updated.
38434 (grub_ieee1275_next_property): Directly return Open Firmware return
38435 code.
38436 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38437 Standardize error checking from `grub_ieee1275_get_property'.
38438 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38439 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38440
97b2f2ff 384412006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38442
38443 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38444 `instance_to_package_args' to `instance_to_path_args'.
38445
38446 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38447 `grub_ieee1275_chosen'.
38448
38449 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38450 `grub_ieee1275_interpret'.
38451
97b2f2ff 384522006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38453
38454 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38455
97b2f2ff 384562006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38457
38458 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38459 (__cmpdi): Likewise.
38460
38461 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38462 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38463 `grub_ssize_t'.
38464
02bb8acc 38465 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38466
38467 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38468 to type `grub_ssize_t'.
38469 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38470
7f9a8531 384712006-09-22 Marco Gerards <marco@gnu.org>
38472
38473 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38474 newlines.
38475
b5ef1102 384762006-09-22 Marco Gerards <marco@gnu.org>
38477
38478 * commands/echo.c: New file.
38479
38480 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38481
38482 * conf/common.rmk (echo_mod_SOURCES): New variable.
38483 (echo_mod_CFLAGS): Likewise.
38484 (echo_mod_LDFLAGS): Likewise.
38485
2cff3677 384862006-09-22 Marco Gerards <marco@gnu.org>
38487
38488 * normal/main.c (get_line): Malloc memory instead of using
38489 preallocated memory. Removed the arguments `cmdline' and
38490 `max_len'. Updated all callers.
38491
6ba4688b 384922006-09-22 Marco Gerards <marco@gnu.org>
38493
38494 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38495 (normal_mod_DEPENDENCIES): Likewise.
38496
38497 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38498 (normal_mod_DEPENDENCIES): Likewise.
38499
38500 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38501
e02ac02c 385022006-09-22 Johan Rydberg <jrydberg@gnu.org>
38503
38504 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38505 programs.
38506 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38507 (normal_mod_DEPENDENCIES): Likewise.
38508 * conf/i386-pc.mk: Regenerate.
38509 * conf/i386-efi.mk: Likewise
38510 * conf/common.mk: Likewise.
38511 * conf/powerpc-ieee1275.mk: Likewise.
38512 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38513
8d252e44 385142006-09-22 Robert Millan <rmh@aybabtu.com>
38515
38516 Sync with i386 version.
38517 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38518 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38519
209bf7ac 385202006-09-21 Robert Millan <rmh@aybabtu.com>
38521
38522 Import from GRUB Legacy (lib/device.c):
38523 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38524 (init_device_map) [__linux__]: Add support for I2O devices.
38525
6b146090 385262006-09-14 Marco Gerards <marco@gnu.org>
38527
38528 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38529 `-melf_i386'.
38530
e38600a8 385312006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38532
38533 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38534 /boot/grub/*.lst.
78fa1790 38535
2952da5d 38536 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38537
2952da5d 38538 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38539 before adding it to device.map.
38540
01b82a64 385412006-08-15 Johan Rydberg <jrydberg@gnu.org>
38542
fe6b695a 38543 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38544 compiles a file; using the -MD option.
38545 * conf/common.mk: Regenerate.
38546 * conf/i386-pc.mk: Likewise.
38547 * conf/i386-efi.mk: Likewise.
38548 * conf/powerpc-ieee1275.mk: Likewise.
38549 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38550
1064790d 385512006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38552
38553 Move the prototypes of grub_setjmp and grub_longjmp to
38554 cpu/setjmp.h, so that each architecture may specify different
38555 attributes.
f19dbdb7 38556
1064790d 38557 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38558 (grub_longjmp): Likewise.
38559 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38560 (grub_longjmp): Likewise.
38561 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38562 (grub_longjmp): Likewise.
38563
38564 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38565 [!GRUB_UTIL] (grub_longjmp): Removed.
38566
29dda3ed 385672006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38568
38569 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38570 "color!" method does not return any value.
38571
ad2a06ed 385722006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38573
38574 * include/grub/bitmap.h: New file.
38575
38576 * include/grub/i386/pc/vbeutil.h: Likewise.
38577
38578 * video/bitmap.c: Likewise.
38579
38580 * video/readers/tga.c: Likewise.
38581
38582 * video/i386/pc/vbeutil.c: Likewise.
38583
38584 * commands/videotest.c: Code cleanup and updated to reflect to new
38585 video API.
38586
38587 * term/gfxterm.c: Likewise.
38588
38589 * video/video.c: Likewise.
38590
38591 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38592 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38593 (bitmap_mod_SOURCES): New entry.
38594 (bitmap_mod_CFLAGS): Likewise.
38595 (bitmap_mod_LDFLAGS): Likewise.
38596 (tga_mod_SOURCES): Likewise.
38597 (tga_mod_CFLAGS): Likewise.
38598 (tga_mod_LDFLAGS): Likewise.
38599
38600 * include/grub/video.h (grub_video_blit_operators): New enum type.
38601 (grub_video_render_target): Changed as forward declaration and moved
38602 actual definition to be video driver specific.
38603 (grub_video_adapter.blit_bitmap): Added blitting operator.
38604 (grub_video_adapter.blit_render_target): Likewise.
38605 (grub_video_blit_bitmap): Likewise.
38606 (grub_video_blit_render_target): Likewise.
38607
38608 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38609 driver specific render target definition.
38610 (grub_video_vbe_map_rgba): Added driver internal helper.
38611 (grub_video_vbe_unmap_color): Updated to use
38612 grub_video_i386_vbeblit_info.
38613 (grub_video_vbe_get_video_ptr): Likewise.
38614
38615 * include/grub/i386/pc/vbeblit.h
38616 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38617 grub_video_i386_vbeblit_info.
38618 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38619 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38620 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38621 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38622 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38623 (grub_video_i386_vbeblit_index_index): Likewise.
38624 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38625 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38626 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38627 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38628 operator.
38629 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38630 operator.
38631
38632 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38633 include/grub/i386/pc/vbeblit.h.
38634
38635 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38636 Updated to use grub_video_i386_vbeblit_info.
38637 (grub_video_i386_vbefill_R8G8B8): Likewise.
38638 (grub_video_i386_vbefill_index): Likewise.
38639 (grub_video_i386_vbefill): Added generic filler.
38640
38641 * video/i386/pc/vbefill.c: Updated to reflect changes on
38642 include/grub/i386/pc/vbefill.h.
38643
38644 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38645 grub_video_i386_vbeblit_info.
38646 (grub_video_vbe_unmap_color): Likewise.
38647 (grub_video_vbe_blit_glyph): Likewise.
38648 (grub_video_vbe_scroll): Likewise.
38649 (grub_video_vbe_draw_pixel): Removed function.
38650 (grub_video_vbe_get_pixel): Likewise.
38651 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38652 updated code to use it.
38653 (common_blitter): Added common blitter for render target and bitmap.
38654 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38655 (grub_video_vbe_blit_render_target): Likewise.
38656
bc8c036d 386572006-07-30 Johan Rydberg <jrydberg@gnu.org>
38658
38659 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38660 is in text mode if there is no console control protocol instance
38661 available.
38662
684a8eff 386632006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38664
38665 * include/grub/video.h: Code cleanup.
38666
38667 * include/grub/i386/pc/vbe.h: Likewise.
38668
38669 * video/i386/pc/vbe.c: Likewise.
38670
38671 * video/i386/pc/vbeblit.c: Likewise.
38672
38673 * video/i386/pc/vbefill.c: Likewise.
38674
38675 * video/video.c: Likewise. Also added more comments.
38676
5915059b 386772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38678
38679 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38680 (struct grub_biosdisk_dap): Likewise.
38681
38682 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38683 linkage settings for all functions.
38684
90ce5d56 386852006-07-12 Marco Gerards <marco@gnu.org>
38686
38687 * configure.ac (--enable-mm-debug): Fix typo.
38688
38689 * genkernsyms.sh.in: Use proper quoting for `CC'.
38690
43e7f879 386912006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38692
38693 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38694 (normal_mod_ASFLAGS): Remove "-m32".
38695
4889bdec 386962006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38697
38698 * util/misc.c: Include config.h.
38699 [!HAVE_MEMALIGN]: Do not include malloc.h.
38700 (grub_memalign): Use posix_memalign, if present. Then, use
38701 memalign, if present. Otherwise, emit an error.
38702
38703 * util/grub-emu.c: Do not include malloc.h.
38704
38705 * include/grub/util/misc.h: Include unistd.h. This is required for
38706 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38707 D. Eades III <hde@foobar-qux.org>.
38708
38709 * configure.ac (AC_GNU_SOURCE): Added.
38710 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38711 type.
38712
fd39d4da 387132006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38714
38715 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38716 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38717
b786f3b5 387182006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38719
38720 * include/grub/types.h (grub_host_addr_t): Rename to
38721 grub_target_addr_t.
38722 (grub_host_off_t): Rename to grub_target_off_t.
38723 (grub_host_size_t): Rename to grub_target_size_t.
38724 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38725 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38726
38727 * include/grub/kernel.h (struct grub_module_header): Change type
38728 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38729 (grub_module_info): Likewise.
f19dbdb7 38730
051988bb 387312006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38732
38733 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38734 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38735 Velazquez <jesus.velazquez@gmail.com>.
38736
deae281b 387372006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38738
38739 Count partitions from 1 instead of 0 in the string representation
38740 of partitions. Still use 0-based internally.
f19dbdb7 38741
deae281b 38742 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38743 (sun_partition_map_iterate): Use grub_partition_t instead of
38744 struct grub_partition *. Cast DESC->START_CYLINDER to
38745 grub_uint64_t after converting the endian.
38746 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38747 (sun_partition_map_get_name): Add 1 to P->INDEX.
38748
38749 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38750 PCDATA->DOS_PART.
38751 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38752
38753 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38754 zero instead of one.
38755 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38756 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38757
38758 * partmap/apple.c (apple_partition_map_iterate): Change the type
38759 of POS to unsigned.
38760 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38761 (apple_partition_map_get_name): Add 1 into P->INDEX.
38762
38763 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38764 of POS to unsigned.
38765 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38766 calculate the offset of a partition.
38767 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38768 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38769
38770 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38771 SECTOR to grub_disk_addr_t.
38772 (acorn_partition_map_iterate): Likewise.
38773 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38774 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38775 top.
38776 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38777
38778 * kern/i386/pc/init.c (make_install_device): Add 1 into
38779 GRUB_INSTALL_DOS_PART.
38780
38781 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38782 conditional.
38783
524a1e6a 387842006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38785
38786 Clean up the code to support 64-bit addressing in disks and
38787 files. This change is not enough for filesystems yet.
f19dbdb7 38788
524a1e6a 38789 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38790 type of "start" to grub_uint64_t.
38791 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38792 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38793 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38794 convert addresses.
38795
38796 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38797 to grub_disk_addr_t.
38798
38799 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38800 string.
38801
38802 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38803
38804 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38805 to char *.
38806
38807 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38808
38809 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38810
38811 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38812
38813 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38814 to grub_off_t, to detect an error from grub_file_seek.
38815 (grub_multiboot_load_elf32): Likewise.
38816
38817 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38818 maximum unsigned long value when an overflow is detected.
38819 (grub_strtoull): New function.
38820 (grub_divmod64): Likewise.
38821 (grub_lltoa): use grub_divmod64.
38822
38823 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38824 grub_disk_addr_t.
38825 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38826 the pointer to next character. Use grub_strtoull instead of
38827 grub_strtoul.
38828 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38829 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38830 respectively.
38831
fe6b695a 38832 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38833 return value is signed.
38834 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38835 test if OFFSET is less than zero, as OFFSET is unsigned now.
38836
38837 * kern/disk.c (struct grub_disk_cache): Change the type of
38838 "sector" to grub_disk_addr_t.
38839 (grub_disk_cache_get_index): Change the type of SECTOR to
38840 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38841 unsigned after shifting.
38842 (grub_disk_cache_invalidate): Change the type of SECTOR to
38843 grub_disk_addr_t.
38844 (grub_disk_cache_unlock): Likewise.
38845 (grub_disk_cache_store): Likewise.
38846 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38847 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38848 grub_disk_addr_t and grub_uint64_t, respectively.
38849 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38850 body, as the value of OFFSET is tweaked by
38851 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38852 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38853 respectively.
38854 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38855 body, as the value of OFFSET is tweaked by
38856 grub_disk_check_range. Change the types of LEN and N to
38857 grub_size_t.
38858
38859 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38860 and "saved_offset" to grub_off_t.
38861 (test_header): Cast BUF to char *.
38862 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38863 to char *.
38864 (grub_gzio_read): Change the types of OFFSET and SIZE to
38865 grub_off_t and grub_size_t, respectively.
38866
38867 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38868 Removed.
38869 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38870 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38871 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38872 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38873 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38874
38875 * include/grub/types.h (grub_off_t): Unconditionally set to
38876 grub_uint64_t.
38877 (grub_disk_addr_t): Changed to grub_uint64_t.
38878
38879 * include/grub/partition.h (struct grub_partition): Change the
38880 types of "start", "len" and "offset" to grub_disk_addr_t,
38881 grub_uint64_t and grub_disk_addr_t, respectively.
38882 (grub_partition_get_start): Return grub_disk_addr_t.
38883 (grub_partition_get_len): Return grub_uint64_t.
38884
38885 * include/grub/misc.h (grub_strtoull): New prototype.
38886 (grub_divmod64): Likewise.
38887
38888 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38889 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38890 grub_off_t, respectively.
38891 All callers and references changed.
38892
38893 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38894 grub_size_t in "read".
38895 All callers and references changed.
38896
38897 * include/grub/file.h (struct grub_file): Change the types of
38898 "offset" and "size" to grub_off_t and grub_off_t,
38899 respectively. Change the type of SECTOR to grub_disk_addr_t in
38900 "read_hook".
38901 (grub_file_read): Change the type of LEN to grub_size_t.
38902 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38903 grub_off_t.
38904 (grub_file_size): Return grub_off_t.
38905 (grub_file_tell): Likewise.
38906 All callers and references changed.
38907
38908 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38909 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38910 "write".
38911 (struct grub_disk): Change the type of "total_sectors" to
38912 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38913 "read_hook".
524a1e6a 38914 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38915 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38916 (grub_disk_write): Likewise.
38917 All callers and references changed.
38918
38919 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38920 char * for grub_strncmp to silence gcc.
38921 (grub_iso9660_mount): Likewise.
38922 (grub_iso9660_mount): Likewise.
38923 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38924 return statement.
38925 (grub_iso9660_iterate_dir): Likewise.
38926 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38927
38928 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38929 LEN to grub_disk_addr_t and grub_size_t, respectively.
38930
38931 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38932
38933 * fs/jfs.c (grub_jfs_read_file): Likewise.
38934
38935 * fs/minix.c (grub_jfs_read_file): Likewise.
38936
38937 * fs/sfs.c (grub_jfs_read_file): Likewise.
38938
38939 * fs/ufs.c (grub_jfs_read_file): Likewise.
38940
38941 * fs/xfs.c (grub_jfs_read_file): Likewise.
38942
38943 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38944 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38945 respectively.
38946
38947 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38948 BLKNR to -1 instead of returning GRUB_ERRNO.
38949 (grub_ext2_read_file): Change the types of SECTOR and
38950 LEN to grub_disk_addr_t and grub_size_t, respectively.
38951
38952 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38953 LEN to grub_disk_addr_t and grub_size_t, respectively.
38954
38955 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38956 grub_file_read.
38957
38958 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38959 string. Do not cast SECTOR explicitly.
38960
38961 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38962 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38963 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38964 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38965 over 2TB and LBA mode is not supported, raise an error.
38966 (get_safe_sectors): New function.
38967 (grub_biosdisk_read): Use get_safe_sectors.
38968 (grub_biosdisk_write): Likewise.
38969
38970 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38971 (grub_efidisk_write): Likewise.
38972
38973 * disk/loopback.c (delete_loopback): Cosmetic changes.
38974 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38975 correctly.
38976 (grub_loopback_open): Likewise.
38977 (grub_loopback_read): Likewise. Also, change the type of POS to
38978 grub_off_t, and fix the usage of grub_memset.
38979
38980 * commands/i386/pc/play.c: Include grub/machine/time.h.
38981
38982 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38983 print FILE->SIZE.
38984
38985 * commands/configfile.c: Include grub/env.h.
38986
38987 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38988 GRUB_ERRNO directly instead. Change the type of POS to
38989 grub_off_t. Follow the coding standard.
38990
38991 * commands/blocklist.c: Include grub/partition.h.
38992 (grub_cmd_blocklist): Return an error if the underlying device is
38993 not a disk. Take the starting sector of a partition into account,
38994 if a partition is used.
38995
38996 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38997 a length field.
38998 (lba_mode): Support 64-bit addresses.
38999 (chs_mode): Likewise.
39000 (copy_buffer): Adapted to the new offsets of a length field and a
39001 segment field.
39002 (blocklist_default_start): Allocate 64-bit space.
39003
39004 * boot/i386/pc/boot.S (force_lba): Removed.
39005 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39006 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39007 space.
39008 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39009 is useless.
39010 (lba_mode): Refactored to support a 64-bit address. More size
39011 optimization.
39012 (setup_sectors): Likewise.
39013
53af98ad 390142006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39015
39016 * DISTLIST: Added include/grub/i386/linux.h. Removed
39017 include/grub/i386/pc/linux.h
39018
39019 * configure.ac (AC_INIT): Bumped to 1.94.
39020
39021 * config.guess: Updated from gnulib.
39022 * config.sub: Likewise.
39023 * install-sh: Likewise.
39024 * mkinstalldirs: Likewise.
39025
b4c1940a 390262006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39027
39028 * conf/common.rmk (grub_modules_init.lst): Depended on
39029 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39030 MODSRCFILES.
39031
39032 * genmk.rb (PModule::rule): Reverted the previous change.
39033
cfca1cfd 390342006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39035
39036 * conf/common.rmk (grub_modules_init.lst): Depends on
39037 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39038 that the target does not exist before producing.
39039 (grub_modules_init.h): Remove the target before generating.
39040 (grub_emu_init.c): Likewise.
39041
39042 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39043
aa6d7826 390442006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39045
39046 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39047 for the target-specific tests. Make sure that we also have the
39048 up-to-date target variables for those tests.
39049
26c607b9 390502006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39051
39052 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39053 (PModule::rule): Likewise.
39054
0162321a 390552006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39056
39057 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39058 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39059 target-specific flags should be prefixed.
39060 (PModule::rule): Likewise.
39061
6c826348 390622006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39063
39064 * configure.ac (CMP): Check if cmp is available explicitly.
39065
b977bf01 390662006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39067
39068 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39069 (target_cpu): New variable.
39070 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39071
b977bf01 39072 * util/i386/pc/grub-install.in (host_cpu): Removed.
39073 (target_cpu): New variable.
39074 (pkglibdir): Use target_cpu instead of host_cpu.
39075
39076 * util/genmoddep.c: Removed.
f19dbdb7 39077
b977bf01 39078 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39079 instead of GRUB_HOST_SIZEOF_VOID_P.
39080 * kern/dl.c: Likewise.
39081
39082 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39083 ...
39084 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39085 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39086 (GRUB_TARGET_SIZEOF_LONG): ... this.
39087 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39088 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39089 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39090 to ...
39091 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39092 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39093 (GRUB_TARGET_SIZEOF_LONG): ... this.
39094 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39095 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39096 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39097 to ...
39098 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39099 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39100 (GRUB_TARGET_SIZEOF_LONG): ... this.
39101 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39102 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39103
39104 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39105 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39106 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39107 instead of GRUB_HOST_SIZEOF_LONG.
39108 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39109 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39110 GRUB_CPU_WORDS_BIGENDIAN.
39111 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39112 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39113 grub_host_ssize_t.
39114
39115 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39116 (genmoddep_SOURCES): Likewise.
39117 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39118 (genmoddep_SOURCES): Likewise.
39119 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39120 (genmoddep_SOURCES): Likewise.
39121 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39122 Likewise.
39123 (genmoddep_SOURCES): Likewise.
39124
39125 * genmoddep.awk: New file.
39126
39127 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39128 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39129 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39130 (PModule::rule): Likewise.
39131 (Program::rule): Likewise.
39132 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39133 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39134 respectively.
39135
39136 * configure.ac: Rewritten intensively to use host and target
39137 instead of build and host, respectively.
39138
39139 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39140 (host_cpu): Removed.
39141 (target_cpu): New variable.
39142 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39143 (BUILD_CC): Removed.
39144 (BUILD_CFLAGS): Likewise.
39145 (BUILD_CPPFLAGS): Likewise.
39146 (TARGET_CC): New variable.
39147 (TARGET_CFLAGS): Likewise.
39148 (TARGET_CPPFLAGS): Likewise.
39149 (TARGET_LDFLAGS): Likewise.
39150 (AWK): Likewise.
39151 (include): Use target_cpu instead of host_cpu.
39152 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39153
b977bf01 39154 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39155
f09771a1 391562006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39157
39158 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39159 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39160 field 'false' to 'exec_on_false'.
39161 (grub_script_create_cmdif): Renamed argument names to reflect above
39162 changes.
39163
39164 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39165
39166 * normal/script.c (grub_script_create_cmdif): Likewise.
39167
118f4fb3 391682006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39169
39170 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39171 top.
39172 (grub_hfsplus_btree_recptr): Likewise.
39173 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39174 FILEBLOCK both to pass a block number and store next block
39175 number.
39176 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39177 overflow file correctly. Specify errors appropriately, because
39178 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39179 grub_hfsplus_btree_recptr to get the pointer to a found key.
39180 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39181 is found.
39182
39183 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39184 linux.mod.
39185 (_linux_mod_SOURCES): New variable.
39186 (_linux_mod_CFLAGS): Likewise.
39187 (_linux_mod_LDFLAGS): Likewise.
39188 (linux_mod_SOURCES): Likewise.
39189 (linux_mod_CFLAGS): Likewise.
39190 (linux_mod_LDFLAGS): Likewise.
39191
39192 * DISTLIST: Added loader/i386/efi/linux.c,
39193 loader/i386/efi/linux_normal.c and
39194 include/grub/i386/efi/loader.h.
39195
39196 * loader/i386/efi/linux.c: New file.
39197 * loader/i386/efi/linux_normal.c: Likewise.
39198 * include/grub/i386/efi/loader.h: Likewise.
39199
89a7d726 392002006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39201
39202 * commands/blocklist.c: New file.
39203
39204 * DISTLIST: Added commands/blocklist.c.
39205
39206 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39207 color for the background, and a darker color for the foreground.
89a7d726 39208 (grub_console_checkkey): Return READ_KEY.
39209 (grub_console_cls): Set the background to
39210 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39211
39212 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39213
39214 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39215 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39216
39217 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39218 prototype.
39219
39220 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39221 BG. The spec is wrong again.
39222
39223 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39224 prototype.
39225 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39226
39227 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39228 commands/blocklist.c.
39229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39230
89a7d726 39231 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39232 (blocklist_mod_SOURCES): New variable.
39233 (blocklist_mod_CFLAGS): Likewise.
39234 (blocklist_mod_LDFLAGS): Likewise.
39235
75c8f258 392362006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39237
39238 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39239 duplication.
39240 (lba_mode): Use %eax more intensively to reduce the code size.
39241
da2eb181 392422006-05-20 Marco Gerards <marco@gnu.org>
39243
39244 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39245
39246 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39247 for `menuentry'.
39248 (script): Accept leading newlines.
39249 (newlines): New rule to describe 0 or more newlines.
39250 (commands): Accept `command' with trailing newline. Fixed the
39251 order in which arguments were passed to `grub_script_add_cmd'.
39252 Accept commands separated by newlines.
39253 (function): Changed to accept newlines.
39254 (menuentry) Rewritten.
39255
39256 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39257 front of the list, instead of to the end.
39258
577b4050 392592006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39260
39261 * util/i386/pc/grub-install.in (bindir): New variable.
39262 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39263 Shaver <lbgwjl@gmail.com>.
39264
0d6e1189 392652006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39266
39267 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39268 grub/machine/linux.h
39269 * loader/i386/pc/linux.c: Likewise.
39270
39271 * include/grub/i386/pc/linux.h: Moved to ...
39272 * include/grub/i386/linux.h: ... here.
39273
39274 * include/grub/i386/linux.h (struct linux_kernel_params): New
39275 struct.
f19dbdb7 39276
31b86e9f 392772006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39278
39279 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39280 checking.
39281 (grub_video_vbe_blit_glyph): Likewise.
39282 (grub_video_vbe_blit_bitmap): Likewise.
39283 (grub_video_vbe_blit_render_target): Likewise.
39284
83b984de 392852006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39286
39287 * configure.ac (--with-platform): Properly quote the square
39288 brackets.
39289
5f0413bd 392902006-05-08 Marco Gerards <marco@gnu.org>
39291
39292 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39293 this...
39294 (kernel_elf_HEADERS): ...to this. Updated all users.
39295 (grubof_symlist.c): Renamed from this...
39296 (kernel_elf_symlist.c): ...to this. Updated all users.
39297 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39298 (grubof_SOURCES): Renamed from this...
39299 (kernel_elf_SOURCES): ...to this.
39300 (grubof_HEADERS): Renamed from this...
39301 (kernel_elf_HEADERS): ...to this.
39302 (grubof_CFLAGS): Renamed from this...
39303 (kernel_elf_CFLAGS): ...to this.
39304 (grubof_ASFLAGS): Renamed from this...
39305 (kernel_elf_ASFLAGS): ...to this.
39306 (grubof_LDFLAGS): Renamed from this...
39307 (kernel_elf_LDFLAGS): ...to this.
39308
39309 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39310 this...
39311 (kernel_elf_HEADERS): ...to this. Updated all users.
39312 (grubof_symlist.c): Renamed from this...
39313 (kernel_elf_symlist.c): ...to this. Updated all users.
39314 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39315 (grubof_SOURCES): Renamed from this...
39316 (kernel_elf_SOURCES): ...to this.
39317 (grubof_HEADERS): Renamed from this...
39318 (kernel_elf_HEADERS): ...to this.
39319 (grubof_CFLAGS): Renamed from this...
39320 (kernel_elf_CFLAGS): ...to this.
39321 (grubof_ASFLAGS): Renamed from this...
39322 (kernel_elf_ASFLAGS): ...to this.
39323 (grubof_LDFLAGS): Renamed from this...
39324 (kernel_elf_LDFLAGS): ...to this.
39325
39326 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39327 `kernel.elf' instead of `grubof'.
39328
05568c2e 393292006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39330
39331 Add --with-platform to configure. Use pkglibdir instead of
39332 pkgdatadir. This is reported by Roger Leigh.
39333
39334 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39335 (host_vendor): Likewise.
39336 (host_os): Likewise.
39337 (pkgdatadir): Likewise.
39338 (platform): New variable.
39339 (pkglibdir): Likewise.
39340 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39341
05568c2e 39342 * util/i386/pc/grub-install.in (datadir): Removed.
39343 (host_vendor): Likewise.
39344 (host_os): Likewise.
39345 (pkgdatadir): Likewise.
39346 (platform): New variable.
39347 (pkglibdir): Likewise.
39348 Use PKGLIBDIR instead of PKGDATADIR.
39349
39350 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39351 instead of GRUB_DATADIR.
39352 (main): Likewise.
39353 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39354 (main): Likewise.
39355 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39356 (main): Likewise.
39357
39358 * configure.ac (--with-platform): New option.
39359 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39360
39361 * Makefile.in: Include a makefile based on PLATFORM instead of
39362 HOST_VENDOR.
39363 (pkgdatadir): Not appended by the machine type.
39364 (pkglibdir): Appended by the machine type.
39365 (host_vendor): Removed.
39366 (platform): New variable.
39367 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39368 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39369 (uninstall): Likewise.
39370
4e93851c 393712006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39372
39373 Use the environment context in the menu. Remove the commands
39374 "default" and "timeout", and use variables instead.
f19dbdb7 39375
4e93851c 39376 * normal/menu.c: Include grub/env.h.
39377 (print_entry): Cast TITLE to silence gcc.
39378 (get_timeout): New function.
39379 (set_timeout): Likewise.
39380 (get_entry_number): Likewise.
39381 (run_menu): Use a default entry, a fallback entry and a timeout
39382 in the environment variables "default", "fallback" and
39383 "timeout". Also, tweak the default entry if it is not within the
39384 current menu entries.
39385 (grub_menu_run): Use a fallback entry in the environment variable
39386 "fallback".
39387
39388 * normal/main.c (read_config_file): Do not initialize
39389 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39390 NEWMENU->TIMEOUT.
39391 (grub_normal_execute): Use a data slot to store the menu.
39392
39393 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39394 fallback_entry and timeout.
39395 (struct grub_menu_list): Removed.
39396 (grub_menu_list_t): Likewise.
39397 (struct grub_context): Likewise.
39398 (grub_context_t): Likewise.
39399 (grub_context_get): Likewise.
39400 (grub_context_get_current_menu): Likewise.
39401 (grub_context_push_menu): Likewise.
39402 (grub_context_pop_menu): Likewise.
39403 (grub_default_init): Likewise.
39404 (grub_default_fini): Likewise.
39405 (grub_timeout_init): Likewise.
39406 (grub_timeout_fini): Likewise.
39407
39408 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39409 and timeout.mod.
39410 (normal_mod_SOURCES): Removed normal/context.c.
39411
39412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39413 commands/default.c, commands/timeout.c and normal/context.c.
39414 (normal_mod_SOURCES): Removed normal/context.c.
39415
39416 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39417 commands/timeout.c and normal/context.c.
39418 (normal_mod_SOURCES): Removed normal/context.c.
39419
39420 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39421 commands/default.c, commands/timeout.c and normal/context.c.
39422 (normal_mod_SOURCES): Removed normal/context.c.
39423
39424 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39425 timeout.mod.
39426 (default_mod_SOURCES): Removed.
39427 (default_mod_CFLAGS): Likewise.
39428 (default_mod_LDFLAGS): Likewise.
39429 (timeout_mod_SOURCES): Removed.
39430 (timeout_mod_CFLAGS): Likewise.
39431 (timeout_mod_LDFLAGS): Likewise.
39432
39433 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39434 normal/context.c.
39435
39436 * commands/default.c: Removed.
39437 * commands/timeout.c: Likewise.
39438 * normal/context.c: Likewise.
39439
1eb9cc1d 394402006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39441
39442 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39443
385bd9c1 394442006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39445
39446 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39447 "next" to "prev" for readability.
39448 (struct grub_env_sorted_var): New struct.
39449 (grub_env_context): Renamed to ...
39450 (initial_context): ... this.
39451 (grub_env_var_context): Renamed to ...
39452 (current_context): ... this.
39453 (grub_env_find): Look only at CURRENT_CONTEXT.
39454 (grub_env_context_open): Rewritten to copy exported variables from
39455 previous context.
39456 (grub_env_context_close): Rewritten according to the new
39457 scheme. Also, add an assertion to prevent the initial context from
39458 removed.
39459 (grub_env_insert): Removed the code for the sorted list.
39460 (grub_env_remove): Likewise.
39461 (grub_env_export): Simply mark the variable with
39462 GRUB_ENV_VAR_GLOBAL.
39463 (grub_env_set): A cosmetic change for naming consistency.
39464 (grub_env_get): Likewise.
39465 (grub_env_unset): Likewise.
39466 (grub_env_iterate): Rewritten to sort variables within this
39467 function.
39468 (grub_register_variable_hook): Fixed for naming consistency. Call
39469 grub_env_find again, only if NAME is not found at the first time.
39470 (mangle_data_slot_name): New function.
39471 (grub_env_set_data_slot): Likewise.
39472 (grub_env_get_data_slot): Likewise.
39473 (grub_env_unset_data_slot): Likewise.
39474
39475 * include/grub/env.h (grub_env_var_type): New enum.
39476 (GRUB_ENV_VAR_LOCAL): New constant.
39477 (GRUB_ENV_VAR_GLOBAL): Likewise.
39478 (GRUB_ENV_VAR_DATA): Likewise.
39479 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39480 "type".
39481 (grub_env_set): Replace VAR with NAME for consistency.
39482 (grub_register_variable_hook): Likewise.
39483 (grub_env_export): Specify the name of the argument.
39484 (grub_env_set_data_slot): New prototype.
39485 (grub_env_get_data_slot): Likewise.
39486 (grub_env_unset_data_slot): Likewise.
39487
7f362539 394882006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39489
39490 Extend the loader so that GRUB can accept a loader which comes
39491 back to GRUB when a loaded image exits. Also, this change adds
39492 support for a chainloader on EFI.
f19dbdb7 39493
7f362539 39494 * term/efi/console.c: Include grub/misc.h.
39495 (grub_console_checkkey): Display a scan code on the top for
39496 debugging. This will be removed once the EFI port gets stable.
39497 Correct the scan code mapping.
39498
39499 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39500 allocate memory from larger regions, in order to reduce the number
39501 of allocated regions. Otherwise, the MacOSX loader panics.
39502 (filter_memory_map): Avoid less than 1MB for compatibility with
39503 other loaders.
39504 (add_memory_regions): Allocate from the tail of a region, if
39505 possible, to avoid allocating a region near to 1MB, for the MacOSX
39506 loader.
39507
39508 * kern/efi/init.c (grub_efi_set_prefix): Specify
39509 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39510
39511 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39512 argument IMAGE_HANDLE and specify it to get a loaded image.
39513 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39514 grub_efi_get_loaded_image.
fe6b695a 39515 (grub_efi_get_filename): Divide the length by the size of
7f362539 39516 grub_efi_char16_t.
39517 (grub_efi_get_device_path): New function.
39518 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39519 the length by the size of grub_efi_char16_t for a file path device
39520 path node.
39521
39522 * kern/loader.c (grub_loader_noreturn): New variable.
39523 (grub_loader_set): Accept a new argument NORETURN. Set
39524 GRUB_LOADER_NORETURN to NORETURN.
39525 All callers changed.
39526 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39527 grub_machine_fini.
39528
39529 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39530 prototype.
39531 (grub_efi_get_loaded_image): Take an argument to specify an image
39532 handle.
39533
39534 * include/grub/loader.h (grub_loader_set): Added one more argument
39535 NORETURN.
39536
39537 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39538 instead of grub_efi_open_protocol.
39539 (grub_efidisk_get_device_name): Likewise.
39540 (grub_efidisk_close): Print a newline.
39541 (grub_efidisk_get_device_handle): Fixed to use
39542 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39543 GRUB_EFI_DEVICE_PATH_TYPE.
39544
39545 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39546 * kern/efi/efi.c (device_path_guid): ... here.
39547
39548 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39549 chain.mod.
39550 (kernel_mod_HEADERS): Added efi/disk.h.
39551 (_chain_mod_SOURCES): New variable.
39552 (_chain_mod_CFLAGS): Likewise.
39553 (_chain_mod_LDFLAGS): Likewise.
39554 (chain_mod_SOURCES): Likewise.
39555 (chain_mod_CFLAGS): Likewise.
39556 (chain_mod_LDFLAGS): Likewise.
39557
39558 * DISTLIST: Added include/grub/efi/chainloader.h,
39559 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39560
39561 * include/grub/efi/chainloader.h: New file.
39562 * loader/efi/chainloader.c: Likewise.
39563 * loader/efi/chainloader_normal.c: Likewise.
39564
c0111d6e 395652006-04-30 Marco Gerards <marco@gnu.org>
39566
39567 * commands/configfile.c (grub_cmd_source): New function.
39568 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39569 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39570
df5341da 395712006-04-30 Marco Gerards <marco@gnu.org>
39572
39573 * normal/execute.c (grub_script_execute_cmd): Change the return
39574 type to `grub_err_t'. Correctly return the error.
39575 (grub_script_execute_cmdline): In case a command line is not a
39576 command or a function, try to interpret it as an assignment.
39577
f85934bd 395782006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39579
39580 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39581 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39582 skip a node whose name is obviously invalid as UTF-16,
39583 i.e. contains a NUL character. Stop the iteration when the last
39584 directory entry is found. Instead of using the return value of
39585 grub_hfsplus_btree_iterate_node, store the value in RET and use
39586 it, because the iterator can be stopped by the last directory
39587 entry.
39588
8f8a2cf8 395892006-04-30 Marco Gerards <marco@gnu.org>
39590
39591 * include/grub/env.h (grub_env_export): New prototype. Reported
39592 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39593
a27e84ce 395942006-04-30 Marco Gerards <marco@gnu.org>
39595
39596 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39597 size of the extents in a catalog file record.
39598
eaef0553 395992006-04-29 Marco Gerards <marco@gnu.org>
39600
39601 * commands/configfile.c (grub_cmd_configfile): Execute the
39602 configfile within its own context.
39603
39604 * include/grub/env.h (grub_env_context_open): New prototype.
39605 (grub_env_context_close): Likewise.
39606
39607 * kern/env.c (grub_env): Removed.
39608 (grub_env_sorted): Likewise.
39609 (grub_env_context): New variable.
39610 (grub_env_var_context): Likewise.
39611 (grub_env_find): Search both the active context and the global
39612 context.
39613 (grub_env_context_open): New function.
39614 (grub_env_context_close): Likewise.
39615 (grub_env_insert): Likewise.
39616 (grub_env_remove): Likewise.
39617 (grub_env_export): Likewise.
39618 (grub_env_set): Changed to use helper functions to avoid code
39619 duplication.
39620 (grub_env_iterate): Rewritten so both the current context and the
39621 global context are being used.
39622
39623 * normal/command.c (export_command): New function.
39624 (grub_command_init): Register the `export' function.
39625
7b455f4d 396262006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39627
39628 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39629 explicitly to suppress gcc's warnings.
39630 * fs/fat.c (grub_fat_find_dir): Likewise.
39631 (grub_fat_label): Likewise.
39632 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39633 (grub_xfs_mount): Likewise.
39634 (grub_xfs_label): Likewise.
39635 * fs/affs.c (grub_affs_mount): Likewise.
39636 (grub_affs_label): Likewise.
39637 (grub_affs_iterate_dir): Likewise.
39638 * fs/sfs.c (grub_sfs_mount): Likewise.
39639 (grub_sfs_iterate_dir): Likewise.
39640 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39641 * fs/hfs.c (grub_hfs_mount): Likewise.
39642 (grub_hfs_cmp_catkeys): Likewise.
39643 (grub_hfs_find_dir): Likewise.
39644 (grub_hfs_dir): Likewise.
39645 (grub_hfs_label): Likewise.
39646 * fs/jfs.c (grub_jfs_mount): Likewise.
39647 (grub_jfs_opendir): Likewise.
39648 (grub_jfs_getent): Likewise.
39649 (grub_jfs_lookup_symlink): Likewise.
39650 (grub_jfs_label): Likewise.
39651 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39652 (grub_hfsplus_iterate_dir): Likewise.
39653 (grub_hfsplus_btree_iterate_node): Made static.
39654
39655 * util/grub-emu.c (prefix): New variable.
39656 (grub_machine_set_prefix): New function.
39657 (main): Do not set the environment variable "prefix" here. Only
39658 set PREFIX, which is used later by grub_machine_set_prefix.
39659
39660 * include/grub/video.h: Do not include grub/symbol.h.
39661 (grub_video_register): Not exported. This symbol is not defined in
39662 the kernel.
39663 (grub_video_unregister): Likewise.
39664 (grub_video_iterate): Likewise.
39665 (grub_video_setup): Likewise.
39666 (grub_video_restore): Likewise.
39667 (grub_video_get_info): Likewise.
39668 (grub_video_get_blit_format): Likewise.
39669 (grub_video_set_palette): Likewise.
39670 (grub_video_get_palette): Likewise.
39671 (grub_video_set_viewport): Likewise.
39672 (grub_video_get_viewport): Likewise.
39673 (grub_video_map_color): Likewise.
39674 (grub_video_map_rgb): Likewise.
39675 (grub_video_map_rgba): Likewise.
39676 (grub_video_fill_rect): Likewise.
39677 (grub_video_blit_glyph): Likewise.
39678 (grub_video_blit_bitmap): Likewise.
39679 (grub_video_blit_render_target): Likewise.
39680 (grub_video_scroll): Likewise.
39681 (grub_video_swap_buffers): Likewise.
39682 (grub_video_create_render_target): Likewise.
39683 (grub_video_delete_render_target): Likewise.
39684 (grub_video_set_active_render_target): Likewise.
39685
39686 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39687 Undefined.
39688 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39689
39690 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39691 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39692 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39693 instead of $(srcdir)/genkernsyms.sh.
39694
39695 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39696 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39697 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39698 instead of $(srcdir)/genkernsyms.sh.
39699
39700 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39701 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39702 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39703 instead of $(srcdir)/genkernsyms.sh.
39704
39705 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39706 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39707 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39708 instead of $(srcdir)/genkernsyms.sh.
39709
39710 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39711 genkernsyms.sh.
39712
39713 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39714 genkernsyms.sh.
39715 (gensymlist.sh): New target.
39716 (genkernsyms.sh): Likewise.
39717
39718 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39719 genkernsyms.sh.in and gensymlist.sh.in.
39720
39721 * genkernsyms.sh: Removed.
39722 * gensymlist.sh: Likewise.
f19dbdb7 39723
7b455f4d 39724 * genkernsyms.sh.in: New file.
39725 * gensymlist.sh.in: Likewise.
39726
1885bb27 397272006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39728
39729 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39730 clobber "prefix", since we may have already set it manually.
39731
71538dff 397322006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39733
39734 * kern/misc.c (abort): New alias for grub_abort.
39735
2965c7cc 397362006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39737
39738 A new machine-specific function "grub_machine_set_prefix" is
39739 defined. This is called after loading modules, so that a prefix
39740 initialization can use modules. Also, this change adds an
39741 intensive debugging feature for the memory manager via the
39742 configure option "--enable-mm-debug".
f19dbdb7 39743
2965c7cc 39744 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39745 PART.LEN.
39746
39747 * kern/sparc64/ieee1275/init.c (abort): Removed.
39748 (grub_stop): Likewise.
39749 (grub_exit): New function.
39750 (grub_set_prefix): Renamed to ...
39751 (grub_machine_set_prefix): ... this.
39752 (grub_machine_init): Do not call grub_set_prefix.
39753
39754 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39755 (grub_machine_set_prefix): ... this.
39756 (grub_machine_init): Do not call grub_set_prefix.
39757
39758 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39759 (grub_machine_init): Do not set the prefix here.
39760
39761 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39762
39763 * kern/efi/init.c: Include grub/mm.h.
39764 (grub_efi_set_prefix): New function.
39765
39766 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39767 (grub_efi_get_filename): New function.
39768 (grub_print_device_path): Renamed to ...
39769 (grub_efi_print_device_path): ... this.
39770
39771 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39772 [MM_DEBUG] (grub_realloc): Likewise.
39773 [MM_DEBUG] (grub_free): Likewise.
39774 [MM_DEBUG] (grub_memalign): Likewise.
39775 [MM_DEBUG] (grub_mm_debug): New variable.
39776 [MM_DEBUG] (grub_debug_malloc): New function.
39777 [MM_DEBUG] (grub_debug_free): New function.
39778 [MM_DEBUG] (grub_debug_realloc): New function.
39779 [MM_DEBUG] (grub_debug_memalign): New function.
39780
39781 * kern/misc.c (grub_abort): Print a newline to distinguish
39782 the message.
39783
39784 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39785 grub_set_root_dev after loading modules. This is necessary when
39786 setting a prefix depends on modules.
39787
39788 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39789 (grub_efi_print_device_path): ... this.
39790 (grub_efi_get_filename): New prototype.
39791 (grub_efi_set_prefix): Likewise.
39792
39793 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39794 and grub/disk.h.
39795 (grub_efidisk_get_device_handle): New prototype.
39796 (grub_efidisk_get_device_name): Likewise.
39797
39798 * include/grub/mm.h: Include config.h.
39799 (MM_DEBUG): Removed.
39800 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39801 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39802 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39803 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39804 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39805 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39806 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39807 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39808 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39809
39810 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39811
39812 * disk/efi/efidisk.c: Include grub/partition.h.
39813 (iterate_child_devices): New function.
39814 (add_device): First, compare only last device path nodes, so that
39815 devices are sorted by the types.
39816 (grub_efidisk_get_device_handle): New function.
39817 (grub_efidisk_get_device_name): Likewise.
39818
39819 * configure.ac (--enable-mm-debug): New option to enable the
39820 memory manager debugging feature. This makes the binary much
39821 bigger, so is disabled by default.
39822
9cacaa17 398232006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39824
39825 Use grub_abort instead of grub_stop, and grub_exit must be
39826 define in each architecture now. Also, this change adds support
39827 for EFI disks.
f19dbdb7 39828
9cacaa17 39829 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39830 (grub_getkey): New function.
39831 (grub_term_get_current): Likewise.
39832
39833 * util/i386/pc/grub-setup.c: Include grub/term.h.
39834 (grub_getkey): New function.
39835 (grub_term_get_current): Likewise.
39836
39837 * util/misc.c (grub_stop): Renamed to ...
39838 (grub_exit): ... this.
39839
39840 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39841 (grub_exit): ... this.
39842 (grub_machine_init): Use grub_abort instead of abort.
39843 (grub_stop): Removed.
39844
39845 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39846 abort.
39847
39848 * kern/i386/pc/startup.S (grub_exit): New function.
39849 (cold_reboot): New label.
39850
39851 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39852 (grub_efi_init): Call grub_efidisk_init.
39853 (grub_efi_fini): Call grub_efidisk_fini.
39854
39855 * kern/efi/efi.c: Include grub/mm.h.
39856 (grub_efi_console_control_guid): Renamed to ...
39857 (console_control_guid): ... this.
39858 (grub_efi_loaded_image_guid): Renamed to ...
39859 (loaded_image_guid): ... this.
39860 (grub_efi_locate_handle): New function.
39861 (grub_efi_open_protocol): Likewise.
39862 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39863 GRUB_EFI_CONSOLE_CONTROL_GUID.
39864 (grub_efi_exit): Removed.
39865 (grub_stop): Likewise.
39866 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39867 (grub_exit): New function.
39868 (grub_print_device_path): Likewise.
39869
39870 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39871 (grub_enter_rescue_mode): Register "exit".
39872
39873 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39874 (grub_abort): New function.
39875
39876 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39877
39878 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39879
39880 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39881
39882 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39883 (grub_print_device_path): New prototype.
39884 (grub_efi_locate_handle): Likewise.
39885 (grub_efi_open_protocol): Likewise.
39886
39887 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39888 * disk/efi/efidisk.c: Likewise.
39889
39890 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39891
39892 * include/grub/efi/console_control.h
39893 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39894
39895 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39896 last 8 bytes as an array.
39897 (GRUB_EFI_DISK_IO_GUID): New macro.
39898 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39899 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39900 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39901 grub_uint8_t.
39902 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39903 (struct grub_efi_device_path): Rename the member "sub_type" to
39904 "subtype".
39905 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39906 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39907 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39908 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39909 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39910 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39911 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39912 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39913 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39914 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39915 (struct grub_efi_pci_device_path): New structure.
39916 (grub_efi_pci_device_path_t): New type.
39917 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39918 (struct grub_efi_pccard_device_path): New structure.
39919 (grub_efi_pccard_device_path_t): New type.
39920 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39921 (struct grub_efi_memory_mapped_device_path): New structure.
39922 (grub_efi_memory_mapped_device_path_t): New type.
39923 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39924 (struct grub_efi_vendor_device_path): New structure.
39925 (grub_efi_vendor_device_path_t): New type.
39926 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39927 (struct grub_efi_controller_device_path): New structure.
39928 (grub_efi_controller_device_path_t): New type.
39929 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39930 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39931 (struct grub_efi_acpi_device_path): New structure.
39932 (grub_efi_acpi_device_path_t): New type.
39933 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39934 (struct grub_efi_expanded_acpi_device_path): New structure.
39935 (grub_efi_expanded_acpi_device_path_t): New type.
39936 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39937 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39938 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39939 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39940 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39941 (struct grub_efi_atapi_device_path): New structure.
39942 (grub_efi_atapi_device_path_t): New type.
39943 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39944 (struct grub_efi_fibre_channel_device_path): New structure.
39945 (grub_efi_fibre_channel_device_path_t): New type.
39946 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39947 (struct grub_efi_1394_device_path): New structure.
39948 (grub_efi_1394_device_path_t): New type.
39949 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39950 (struct grub_efi_usb_device_path): New structure.
39951 (grub_efi_usb_device_path_t): New type.
39952 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39953 (struct grub_efi_usb_class_device_path): New structure.
39954 (grub_efi_usb_class_device_path_t): New type.
39955 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39956 (struct grub_efi_i2o_device_path): New structure.
39957 (grub_efi_i2o_device_path_t): New type.
39958 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39959 (struct grub_efi_mac_address_device_path): New structure.
39960 (grub_efi_mac_address_device_path_t): New type.
39961 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39962 (struct grub_efi_ipv4_device_path): New structure.
39963 (grub_efi_ipv4_device_path_t): New type.
39964 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39965 (struct grub_efi_ipv6_device_path): New structure.
39966 (grub_efi_ipv6_device_path_t): New type.
39967 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39968 (struct grub_efi_infiniband_device_path): New structure.
39969 (grub_efi_infiniband_device_path_t): New type.
39970 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39971 (struct grub_efi_uart_device_path): New structure.
39972 (grub_efi_uart_device_path_t): New type.
39973 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39974 (struct grub_efi_vendor_messaging_device_path): New structure.
39975 (grub_efi_vendor_messaging_device_path_t): New type.
39976 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39977 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39978 (struct grub_efi_hard_drive_device_path): New structure.
39979 (grub_efi_hard_drive_device_path_t): New type.
39980 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39981 (struct grub_efi_cdrom_device_path): New structure.
39982 (grub_efi_cdrom_device_path_t): New type.
39983 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39984 (struct grub_efi_vendor_media_device_path): New structure.
39985 (grub_efi_vendor_media_device_path_t): New type.
39986 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39987 (struct grub_efi_file_path_device_path): New structure.
39988 (grub_efi_file_path_device_path_t): New type.
39989 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39990 (struct grub_efi_protocol_device_path): New structure.
39991 (grub_efi_protocol_device_path_t): New type.
39992 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39993 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39994 (struct grub_efi_bios_device_path): New structure.
39995 (grub_efi_bios_device_path_t): New type.
39996 (struct grub_efi_disk_io): New structure.
39997 (grub_efi_disk_io_t): New type.
39998 (struct grub_efi_block_io_media): New structure.
39999 (grub_efi_block_io_media_t): New type.
40000 (struct grub_efi_block_io): New structure.
40001 (grub_efi_block_io_t): New type.
40002
40003 * include/grub/misc.h (grub_stop): Removed.
40004 (grub_exit): New prototype.
40005 (grub_abort): Likewise.
40006
40007 * include/grub/disk.h (enum grub_disk_dev_id): Added
40008 GRUB_DISK_DEVICE_EFIDISK_ID.
40009
40010 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40011 disk/efi/efidisk.c.
40012 (kernel_syms.lst): Remove the target if an error occurs.
40013
49986a9f 400142006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40015
40016 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40017 as it was simply too buggy.
40018
970d3b8a 400192006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40020
40021 * kern/misc.c (grub_lltoa): New function.
40022 (grub_vsprintf): Added support for the long long suffix,
40023 i.e. "ll".
40024
ff04ec24 400252006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40026
40027 * Makefile.in (LDFLAGS): Add variable.
40028 (LD): Remove variable.
40029 * configure.ac: Add -m32 to LDFLAGS.
40030 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40031 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40032 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40033 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40034 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40035 variables.
40036 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40037 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40038 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40039
37e5e1a4 400402006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40041
40042 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40043 length for unknown glyph.
40044
c352d8dd 400452006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40046
2eab1c0d 40047 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40048
2eab1c0d 40049 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40050 completely. Accept one more argument DIR. The caller has changed.
40051
40052 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40053
40054 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40055 (grub_efi_loaded_image_guid): New variable.
40056 (grub_efi_get_loaded_image): New function.
40057 (grub_arch_modules_addr): Likewise.
40058
40059 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40060 prototype.
40061
40062 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40063 (struct grub_efi_loaded_image): New structure.
40064 (grub_efi_loaded_image_t): New type.
40065
400662006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40067
c352d8dd 40068 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40069 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40070 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40071
6d01d6b4 400722006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40073
40074 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40075
976a4ea0 400762006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40077
40078 * DISTLIST: Added include/grub/efi/console.h,
40079 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40080 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40081
40082 * include/grub/efi/console.h: New file.
40083 * include/grub/efi/time.h: Likewise.
40084 * include/grub/i386/efi/kernel.h: Likewise.
40085 * kern/efi/init.c: Likewise.
40086 * kern/efi/mm.c: Likewise.
40087 * term/efi/console.c: Likewise.
f19dbdb7 40088
976a4ea0 40089 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40090 (grub_stop): Removed.
40091 (grub_get_rtc): Likewise.
40092 (grub_machine_init): Simply call grub_efi_init.
40093 (grub_machine_fini): Call grub_efi_fini.
40094
40095 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40096 (grub_efi_output_string): Removed.
40097 (grub_efi_stall): New function.
40098 (grub_stop): Likewise.
40099 (grub_get_rtc): Likewise.
40100
40101 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40102 (grub_efi_stall): New prototype.
40103 (grub_efi_allocate_pages): Likewise.
40104 (grub_efi_free_pages): Likewise.
40105 (grub_efi_get_memory_map): Likewise.
40106 (grub_efi_mm_init): Likewise.
40107 (grub_efi_mm_fini): Likewise.
40108 (grub_efi_init): Likewise.
40109 (grub_efi_fini): Likewise.
40110
40111 * include/grub/i386/efi/time.h: Do not include
40112 grub/symbol.h. Include grub/efi/time.h.
40113 (GRUB_TICKS_PER_SECOND): Removed.
40114 (grub_get_rtc): Likewise.
40115
40116 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40117 Added padding. The EFI spec is buggy.
40118 (GRUB_EFI_BLACK): New macro.
40119 (GRUB_EFI_BLUE): Likewise.
40120 (GRUB_EFI_GREEN): Likewise.
40121 (GRUB_EFI_CYAN): Likewise.
40122 (GRUB_EFI_RED): Likewise.
40123 (GRUB_EFI_MAGENTA): Likewise.
40124 (GRUB_EFI_BROWN): Likewise.
40125 (GRUB_EFI_LIGHTGRAY): Likewise.
40126 (GRUB_EFI_BRIGHT): Likewise.
40127 (GRUB_EFI_DARKGRAY): Likewise.
40128 (GRUB_EFI_LIGHTBLUE): Likewise.
40129 (GRUB_EFI_LIGHTGREEN): Likewise.
40130 (GRUB_EFI_LIGHTCYAN): Likewise.
40131 (GRUB_EFI_LIGHTRED): Likewise.
40132 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40133 (GRUB_EFI_YELLOW): Likewise.
40134 (GRUB_EFI_WHITE): Likewise.
40135 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40136 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40137 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40138 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40139 (GRUB_EFI_BACKGROUND_RED): Likewise.
40140 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40141 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40142 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40143 (GRUB_EFI_TEXT_ATTR): Likewise.
40144
40145 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40146 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40147 (kernel_mod_HEADERS): Added efi/time.h.
40148
83709125 401492006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40150
40151 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40152 include/grub/efi/api.h, include/grub/efi/console_control.h,
40153 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40154 include/grub/i386/efi/time.h, kern/efi/efi.c,
40155 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40156 and util/i386/efi/grub-mkimage.c.
40157
40158 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40159
40160 * genmk.rb (PModule#rule): Do not export symbols if
40161 #{prefix}_EXPORTS is set to "no".
40162
40163 * conf/i386-efi.mk: New file.
40164 * conf/i386-efi.rmk: Likewise.
40165 * include/grub/efi/api.h: Likewise.
40166 * include/grub/efi/console_control.h: Likewise.
40167 * include/grub/efi/efi.h: Likewise.
40168 * include/grub/efi/pe32.h: Likewise.
40169 * include/grub/i386/efi/time.h: Likewise.
40170 * kern/efi/efi.c: Likewise.
40171 * kern/i386/efi/init.c: Likewise.
40172 * kern/i386/efi/startup.S: Likewise.
40173 * util/i386/efi/grub-mkimage.c: Likewise.
40174
401752006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40176
40177 * include/grub/script.h: Include <grub/parser.h> and
40178 "grub_script.tab.h".
40179 (struct grub_lexer_param): New struct.
40180 (struct grub_parser_param): Likewise.
40181 (grub_script_create_arglist): Pass the state in an argument.
40182 (grub_script_add_arglist): Likewise.
40183 (grub_script_create_cmdline): Likewise.
40184 (grub_script_create_cmdblock): Likewise.
40185 (grub_script_create_cmdif): Likewise.
40186 (grub_script_create_cmdmenu): Likewise.
40187 (grub_script_add_cmd): Likewise.
40188 (grub_script_arg_add): Likewise.
40189 (grub_script_lexer_ref): Likewise.
40190 (grub_script_lexer_deref): Likewise.
40191 (grub_script_lexer_record_start): Likewise.
40192 (grub_script_lexer_record_stop): Likewise.
40193 (grub_script_mem_record): Likewise.
40194 (grub_script_mem_record_stop): Likewise.
40195 (grub_script_malloc): Likewise.
40196 (grub_script_yylex): Likewise.
40197 (grub_script_yyparse): Likewise.
40198 (grub_script_yyerror): Likewise.
40199 (grub_script_yylex): Likewise.
40200 (grub_script_lexer_init): Return the state.
40201
40202 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40203 (grub_script_lexer_done): Likewise.
40204 (grub_script_lexer_getline): Likewise.
40205 (grub_script_lexer_refs): Likewise.
40206 (script): Likewise.
40207 (newscript): Likewise.
40208 (record): Likewise.
40209 (recording): Likewise.
40210 (recordpos): Likewise.
40211 (recordlen): Likewise.
40212 (grub_script_lexer_init): Return the state instead of setting
40213 global variables.
40214 (grub_script_lexer_ref): Use the newly added argument for state
40215 instead of globals.
40216 (grub_script_lexer_deref): Likewise.
40217 (grub_script_lexer_record_start): Likewise.
40218 (grub_script_lexer_record_stop): Likewise.
40219 (recordchar): Likewise.
40220 (nextchar): Likewise.
40221 (grub_script_yylex2): Likewise.
40222 (grub_script_yylex): Likewise.
40223 (grub_script_yyerror): Likewise.
40224
40225 * normal/parser.y (func_mem): Removed variable.
40226 (menu_entry): Likewise.
40227 (err): Likewise.
40228 (%lex-param): New parser option.
40229 (%parse-param): Likewise.
40230 (script): Always return the AST.
40231 (argument): Pass the state around.
40232 (arguments): Likewise.
40233 (grubcmd): Likewise.
40234 (commands): Likewise.
40235 (function): Likewise.
40236 (menuentry): Likewise.
40237 (if_statement): Likewise.
40238 (if): Likewise.
40239
40240 * normal/script.c (grub_script_memused): Removed variable.
40241 (grub_script_parsed): Likewise.
40242 (grub_script_malloc): Added a state argument. Use that instead of
40243 global variables.
40244 (grub_script_mem_record): Likewise.
40245 (grub_script_mem_record_stop): Likewise.
40246 (grub_script_arg_add): Likewise.
40247 (grub_script_add_arglist): Likewise.
40248 (grub_script_create_cmdline): Likewise.
40249 (grub_script_create_cmdif): Likewise.
40250 (grub_script_create_cmdmenu): Likewise.
40251 (grub_script_add_cmd): Likewise.
40252 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40253
e2a8c904 402542006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40255
40256 * normal/command.c (grub_command_init): Remove the title command.
40257
40258 * normal/lexer.c (grub_script_yylex): Renamed from this...
40259 (grub_script_yylex2): ... to this.
40260 (grub_script_yylex): New function. Temporary
40261 introduced to filter some tokens.
40262 (grub_script_yyerror): Print a newline.
40263
40264 * normal/main.c (read_config_file): Output information about the
40265 lines that contain errors. Wait for a key after all lines have
40266 been processed. Don't return an empty menu.
40267
40268 * normal/parser.y (func_mem): Don't initialize.
40269 (menu_entry): Likewise.
40270 (err): New variable.
40271 (script): Don't return anything when an error was encountered.
40272 (ws, returns): Removed rules.
40273 (argument): Disabled concatenated variable support.
40274 (arguments): Remove explicit separators.
40275 (grubcmd): Likewise.
40276 (function): Likewise.
40277 (menuentry): Likewise.
40278 (if): Likewise.
40279 (commands): Likewise. Add error handling.
40280
40281 * normal/script.c (grub_script_create_cmdline): If
40282 `grub_script_parsed' is 0, assume the parser encountered an error.
40283
c9a86192 402842006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40285
40286 * configure.ac: Add support for EFI. Fix the typo
40287 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40288
70f3b243 402892006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40290
40291 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40292 foreign multibyte characters should be shown correctly.
40293
65f201ad 402942006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40295
40296 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40297 calculation.
40298 (read_config_file): Made it to close file before returning.
40299
b4b93674 403002006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40301
40302 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40303 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40304 video/i386/pc/vbefill.c.
40305
40306 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40307 video/i386/pc/vbefill.c.
40308
40309 * include/grub/video.h (grub_video_blit_format): New enum.
40310 (grub_video_mode_info): Added new member blit_format.
40311 (grub_video_get_blit_format): New function prototype.
40312
40313 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40314 function prototype.
40315 (grub_video_vbe_map_rgb): Likewise.
40316 (grub_video_vbe_unmap_color): Likewise.
40317
40318 * include/grub/i386/pc/vbeblit.h: New file.
40319
40320 * include/grub/i386/pc/vbefill.h: New file.
40321
40322 * video/video.c (grub_video_get_blit_format): New function.
40323 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40324 (grub_video_vbe_map_rgb): Likewise.
40325 (grub_video_vbe_unmap_color): Likewise.
40326
40327 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40328 optimized fills.
40329 (grub_video_vbe_blit_render_target): Changed to use more optimized
40330 blits.
40331 (grub_video_vbe_setup): Added detection for optimized settings.
40332 (grub_video_vbe_create_render_target): Likewise.
40333
40334 * video/i386/pc/vbeblit.c: New file.
40335
40336 * video/i386/pc/vbefill.c: New file.
40337
c2379b9c 403382006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40339
40340 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40341 here...
40342
40343 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40344 parsing to support both hex and dec ranges. If filename was missing
40345 show usage information.
40346
bd0d7896 403472006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40348
40349 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40350 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40351
40352 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40353 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40354 (video_mod_SOURCES): Added.
40355 (video_mod_CFLAGS): Likewise.
40356 (video_mod_LDFLAGS): Likewise.
40357 (gfxterm_mod_SOURCES): Likewise.
40358 (gfxterm_mod_CFLAGS): Likewise.
40359 (gfxterm_mod_LDFLAGS): Likewise.
40360 (videotest_mod_SOURCES): Likewise.
40361 (videotest_mod_CFLAGS): Likewise.
40362 (videotest_mod_LDFLAGS): Likewise.
40363 (vesafb_mod_SOURCES): Removed.
40364 (vesafb_mod_CFLAGS): Likewise.
40365 (vesafb_mod_LDFLAGS): Likewise.
40366 (vga_mod_SOURCES): Likewise.
40367 (vga_mod_CFLAGS): Likewise.
40368 (vga_mod_LDFLAGS): Likewise.
40369
40370 * commands/videotest.c: New file.
40371
40372 * font/manager.c (fill_with_default_glyph): Modified to use
40373 grub_font_glyph.
40374 (grub_font_get_glyph): Likewise.
40375 (fontmanager): Renamed from this...
40376 (font_manager): ... to this.
40377
40378 * include/grub/font.h (grub_font_glyph): Added new structure.
40379 (grub_font_get_glyph): Modified to use grub_font_glyph.
40380
40381 * include/grub/misc.h (grub_abs): Added as inline function.
40382
40383 * include/grub/video.h: New file.
40384
40385 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40386 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40387 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40388 (grub_vbe_get_controller_info): Renamed from this...
40389 (grub_vbe_bios_get_controller_info): ... to this.
40390 (grub_vbe_get_mode_info): Renamed from this...
40391 (grub_vbe_bios_get_mode_info): ... to this.
40392 (grub_vbe_set_mode): Renamed from this...
40393 (grub_vbe_bios_set_mode): ... to this.
40394 (grub_vbe_get_mode): Renamed from this...
40395 (grub_vbe_bios_get_mode): ... to this.
40396 (grub_vbe_set_memory_window): Renamed from this...
40397 (grub_vbe_bios_set_memory_window): ... to this.
40398 (grub_vbe_get_memory_window): Renamed from this...
40399 (grub_vbe_bios_get_memory_window): ... to this.
40400 (grub_vbe_set_scanline_length): Renamed from this...
40401 (grub_vbe_set_scanline_length): ... to this.
40402 (grub_vbe_get_scanline_length): Renamed from this...
40403 (grub_vbe_bios_get_scanline_length): ... to this.
40404 (grub_vbe_set_display_start): Renamed from this...
40405 (grub_vbe_bios_set_display_start): ... to this.
40406 (grub_vbe_get_display_start): Renamed from this...
40407 (grub_vbe_bios_get_display_start): ... to this.
40408 (grub_vbe_set_palette_data): Renamed from this...
40409 (grub_vbe_bios_set_palette_data): ... to this.
40410 (grub_vbe_set_pixel_rgb): Removed.
40411 (grub_vbe_set_pixel_index): Likewise.
40412
40413 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40414 from this...
40415 (grub_vbe_bios_get_controller_info): ... to this.
40416 (grub_vbe_get_mode_info): Renamed from this...
40417 (grub_vbe_bios_get_mode_info): ... to this.
40418 (grub_vbe_set_mode): Renamed from this...
40419 (grub_vbe_bios_set_mode): ... to this.
40420 (grub_vbe_get_mode): Renamed from this...
40421 (grub_vbe_bios_get_mode): ... to this.
40422 (grub_vbe_set_memory_window): Renamed from this...
40423 (grub_vbe_bios_set_memory_window): ... to this.
40424 (grub_vbe_get_memory_window): Renamed from this...
40425 (grub_vbe_bios_get_memory_window): ... to this.
40426 (grub_vbe_set_scanline_length): Renamed from this...
40427 (grub_vbe_set_scanline_length): ... to this.
40428 (grub_vbe_get_scanline_length): Renamed from this...
40429 (grub_vbe_bios_get_scanline_length): ... to this.
40430 (grub_vbe_set_display_start): Renamed from this...
40431 (grub_vbe_bios_set_display_start): ... to this.
40432 (grub_vbe_get_display_start): Renamed from this...
40433 (grub_vbe_bios_get_display_start): ... to this.
40434 (grub_vbe_set_palette_data): Renamed from this...
40435 (grub_vbe_bios_set_palette_data): ... to this.
40436 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40437 getting corrupted after calling it. Added more pushes and pops.
40438 (grub_vbe_bios_set_mode): Likewise.
40439 (grub_vbe_bios_get_mode): Likewise.
40440 (grub_vbe_bios_get_memory_window): Likewise.
40441 (grub_vbe_bios_set_scanline_length): Likewise.
40442 (grub_vbe_bios_get_scanline_length): Likewise.
40443 (grub_vbe_bios_get_display_start): Likewise.
40444 (grub_vbe_bios_set_palette_data): Likewise.
40445
40446 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40447 (cl_insert): Likewise.
40448 (cl_delete): Likewise.
40449
40450 * term/gfxterm.c: New file.
40451
40452 * term/i386/pc/vesafb.c: Removed file.
40453
40454 * video/video.c: New file.
40455
40456 * video/i386/pc/vbe.c (real2pm): Added new function.
40457 (grub_video_vbe_draw_pixel): Likewise.
40458 (grub_video_vbe_get_video_ptr): Likewise.
40459 (grub_video_vbe_get_pixel): Likewise
40460 (grub_video_vbe_init): Likewise.
40461 (grub_video_vbe_fini): Likewise.
40462 (grub_video_vbe_setup): Likewise.
40463 (grub_video_vbe_get_info): Likewise.
40464 (grub_video_vbe_set_palette): Likewise.
40465 (grub_video_vbe_get_palette): Likewise.
40466 (grub_video_vbe_set_viewport): Likewise.
40467 (grub_video_vbe_get_viewport): Likewise.
40468 (grub_video_vbe_map_color): Likewise.
40469 (grub_video_vbe_map_rgb): Likewise.
40470 (grub_video_vbe_map_rgba): Likewise.
40471 (grub_video_vbe_unmap_color): Likewise.
40472 (grub_video_vbe_fill_rect): Likewise.
40473 (grub_video_vbe_blit_glyph): Likewise.
40474 (grub_video_vbe_blit_bitmap): Likewise.
40475 (grub_video_vbe_blit_render_target): Likewise.
40476 (grub_video_vbe_scroll): Likewise.
40477 (grub_video_vbe_swap_buffers): Likewise.
40478 (grub_video_vbe_create_render_target): Likewise.
40479 (grub_video_vbe_delete_render_target): Likewise.
40480 (grub_video_vbe_set_active_render_target): Likewise.
40481 (grub_vbe_set_pixel_rgb): Remove function.
40482 (grub_vbe_set_pixel_index): Likewise.
40483 (index_color_mode): Remove static variable.
40484 (active_mode): Likewise.
40485 (framebuffer): Likewise.
40486 (bytes_per_scan_line): Likewise.
40487 (grub_video_vbe_adapter): Added new static variable.
40488 (framebuffer): Likewise.
40489 (render_target): Likewise.
40490 (initial_mode): Likewise.
40491 (mode_in_use): Likewise.
40492 (mode_list): Likewise.
40493
5f97350b 404942006-03-10 Marco Gerards <marco@gnu.org>
40495
40496 * configure.ac (AC_INIT): Bumped to 1.93.
40497
40498 * DISTLIST: Added `include/grub/hfs.h'.
40499
a3c5c6f8 405002006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40501
40502 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40503 18H, which might help the BIOS falling back to next boot media.
40504
6de53d26 405052006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40506
40507 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40508 Poe Chen <poe.poechen@gmail.com>.
40509
77c4a393 405102006-01-17 Marco Gerards <marco@gnu.org>
40511
40512 * include/grub/normal.h: Include <grub/script.h>.
40513 (grub_command_list): Removed struct.
40514 (grub_command_list_t): Removed type.
40515 (grub_menu_entry): Remove members `num' and `command_list'. Add
40516 members `commands' and `sourcecode'.
40517 * include/grub/script.h: Add inclusion guards.
40518 (grub_script_cmd_menuentry): New struct.
40519 (grub_script_execute_menuentry): New prototype.
40520 (grub_script_lexer_record_start): Likewise.
40521 (grub_script_lexer_record_stop): Likewise.
40522 * normal/execute.c (grub_script_execute_menuentry): New function.
40523 * normal/lexer.c (record, recording, recordpos, recordlen): New
40524 variables.
40525 (grub_script_lexer_record_start): New function.
40526 (grub_script_lexer_record_stop): Likewise.
40527 (recordchar): Likewise.
40528 (nextchar): Likewise.
40529 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40530 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40531 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40532 (current_menu): New variable.
40533 (free_menu): Mainly rewritten.
40534 (grub_normal_menu_addentry): New function.
40535 (read_config_file): Rewritten.
40536 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40537 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40538 the menu entry.
40539 (run): Mainly rewritten.
40540 * normal/parser.y (menu_entry): New variable.
40541 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40542 (menuentry): New rule.
40543 (command): Add `menuentry'.
40544 (if_statement): Allow additional returns before `fi'.
40545 * normal/script.c (grub_script_create_cmdmenu): New function.
40546
144f1f98 405472006-01-03 Marco Gerards <marco@gnu.org>
40548
40549 * INSTALL: GNU Bison is required.
40550 * configure.ac: Rewritten the test to detect Bison.
40551 * Makefile.in (YACC): New variable. Reported by Xun Sun
40552 <xun.sun.cn@gmail.com>.
40553
af4b2d89 405542006-01-03 Marco Gerards <marco@gnu.org>
40555
40556 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40557 the HFS+ filesystem to filesystem blocks.
40558 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40559 GCC warning is silenced.
40560
15643b71 405612006-01-03 Marco Gerards <marco@gnu.org>
40562
40563 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40564 read from disk from big endian to host byte order.
40565
00905879 405662006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40567
40568 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40569 documentation.
40570 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40571 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40572 embedded HFS+ filesystem.
40573 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40574 (grub_hfs_sblock): Move from here...
40575 * include/grub/hfs.h: To here... New file.
40576 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40577 documentation.
40578 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40579 New macros.
40580 (grub_hfsplus_volheader): Change type of member `magic' to
40581 `grub_uint16_t'.
40582 (grub_hfsplus_data): Add new member `embedded_offset'.
40583 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40584 returned block.
40585 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40586 Calculate the offset.
40587
8899bc3e 405882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40589
40590 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40591 Removed.
40592 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40593
ae8c0277 405942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40595
40596 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40597 ENV->NAME is NULL after allocating ENV->VALUE.
40598
07084456 405992005-12-25 Marco Gerards <marco@gnu.org>
40600
40601 * kern/env.c (grub_env_set): Rewritten the error handling code.
40602
4750f5f1 406032005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40604
40605 * geninit.sh: Made more robust, and more portable.
40606
50214199 406072005-12-25 Marco Gerards <marco@gnu.org>
40608
40609 Add support for Apple HFS+ filesystems.
f19dbdb7 40610
50214199 40611 * fs/hfsplus.c: New file.
40612
40613 * DISTLIST: Added `fs/hfsplus.c'.
40614
40615 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40616 (hfsplus_mod_SOURCES): New variable.
40617 (hfsplus_mod_CFLAGS): Likewise.
40618 (hfsplus_mod_LDFLAGS): Likewise.
40619 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40620 (grub_setup_SOURCES): Likewise.
40621 (grub_mkdevicemap_SOURCES): Likewise.
40622 (grub_emu_SOURCES): Likewise.
40623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40624
40625 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40626
40627 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40628
befaed6c 406292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40630
40631 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40632 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40633 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40634 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40635 normal/lexer.c, normal/parser.y, normal/script.c, and
40636 partmap/gpt.c.
40637 Removed kern/sparc64/cache.c.
40638
40639 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40640 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40641 grub_emu_init.c.
40642
40643 * configure.ac (AC_INIT): Bumped to 1.92.
40644
6a124103 406452005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40646
40647 * kern/err.c (grub_error_push): Added new function to support error
40648 stacks.
40649 (grub_error_pop): Likewise.
40650 (grub_error_stack_items): New local variable to support error stacks.
40651 (grub_error_stack_pos): Likewise.
40652 (grub_error_stack_assert): Likewise.
40653 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40654 stack depth.
40655 (grub_print_error): Added support to print errors from error stack.
40656
40657 * include/grub/err.h (grub_error_push): Added function prototype.
40658 (grub_error_pop): Likewise.
40659
be973c1b 406602005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40661
40662 * configure.ac: Accept `powerpc64' as host_cpu.
40663 (amd64): Rename to `biarch32'.
40664
40665 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40666 non-cacheline-aligned addresses.
40667
40668 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40669 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40670 if `size' is non-zero.
40671
b04216ab 406722005-12-03 Marco Gerards <mgerards@xs4all.nl>
40673
40674 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40675 and `cd' to make sure the filename is not prefixed with a
40676 directory name.
40677 (pkgdata_MODULES): Add `gpt.mod'.
40678 (gpt_mod_SOURCES): New variable.
40679 (gpt_mod_CFLAGS): Likewise.
40680 (gpt_mod_LDFLAGS): Likewise.
40681
40682 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40683
40684 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40685 New macro.
40686
40687 * partmap/gpt.c: New file.
40688
40689 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40690 GPT partition map is detected.
40691
41730ed9 406922005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40693
40694 * commands/i386/pc/play.c: New file.
40695 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40696 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40697 macros.
f19dbdb7 40698
95dc3643 406992005-11-27 Marco Gerards <mgerards@xs4all.nl>
40700
40701 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40702 ((unused))' to silence gcc warning.
40703
1569ec51 407042005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40705
40706 * configure.ac: Correct `AC_PROG_YACC' test.
40707
9abde152 407082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40709
40710 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40711 check before installing files.
40712
44b83271 407132005-11-22 Mike Small <smallm@panix.com>
40714
40715 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40716 number regex so multidigit numbers are recognized correctly.
40717
407182005-11-22 Mike Small <smallm@panix.com>
40719
40720 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40721 debugging message before attempting to claim memory.
40722 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40723 multiple addresses in case of failure.
40724
9c12956b 407252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40726
40727 * term/tparm.c (get_space): Remove empty `if' statement.
40728
40729 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40730
40731 * kern/parser.c (check_varstate): Rename `state' to 's'.
40732
aeaf81d9 407332005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40734
40735 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40736 variable definitions to the beginning of each function. Sort stack
40737 variables by size.
40738 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40739 `buf' argument to `char *'.
40740
79bbb63f 407412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40742
40743 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40744 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40745 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40746 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40747 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40748 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40749 configfile.mod, search.mod, gzio.mod and test.mod.
40750 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40751 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40752 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40753 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40754 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40755 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40756 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40757 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40758 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40759 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40760 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40761 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40762 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40763 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40764 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40765 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40766 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40767 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40768 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40769 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40770 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40771 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40772 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40773
40774 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40775 `grep --include'.
40776 (pkgdata_MODULES): Add test.mod.
40777
233b1628 407782005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40779
40780 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40781 appending to variables with "+=".
40782 (PModule): Use full pathname to generate *.lst filenames.
40783
40784 * Makefile.in: Fixed list rules moved from genmk.rb.
40785 (.DELETE_ON_ERROR): New special target.
40786 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40787
40788 * conf/i386-pc.rmk: Include conf/common.mk.
40789 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40790 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40791 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40792 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40793 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40794 configfile.mod, search.mod, gzio.mod and test.mod.
40795 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40796 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40797 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40798 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40799 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40800 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40801 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40802 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40803 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40804 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40805 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40806 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40807 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40808 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40809 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40810 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40811 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40812 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40813 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40814 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40815 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40816 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40817 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40818 here...
40819 * conf/common.rmk: ... to here. New file.
40820
40821 * conf/common.mk: New file.
40822
16f820c8 408232005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40824
40825 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40826 (grub_script.tab.c): ... here.
40827
40828 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40829 (grub_script.tab.c): ... here.
40830
40831 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40832 (grub_script.tab.c): ... here.
40833
40834 * normal/command.c (grub_command_find): Fixed a memory leak of
40835 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40836
63ba1554 408372005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40838
40839 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40840 "@" which marks the start of a comment on ARM.
40841 (VARIABLE): Likewise.
40842
7f67dc13 408432005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40844
79bbb63f 40845 Add support for Linux/ADFS partition tables.
7f67dc13 40846
40847 * partmap/acorn.c: New file.
40848
40849 * include/grub/acorn_filecore.h: Likewise.
40850
40851 * DISTLIST: Added `partmap/acorn.c' and
40852 `include/grub/acorn_filecore.h'.
f19dbdb7 40853
7f67dc13 40854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40855 `partmap/acorn.c'.
40856 (pkgdata_MODULES): Add `acorn.mod'.
40857 (acorn_mod_SOURCES): New variable.
40858 (acorn_mod_CFLAGS): Likewise.
40859
40860 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40861 `partmap/acorn.c'.
40862 (pkgdata_MODULES): Add `acorn.mod'.
40863 (acorn_mod_SOURCES): New variable.
40864 (acorn_mod_CFLAGS): Likewise.
40865
40866 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40867 (pkgdata_MODULES): Add `acorn.mod'.
40868 (acorn_mod_SOURCES): New variable.
40869 (acorn_mod_CFLAGS): Likewise.
40870 (acorn_mod_LDFLAGS): Likewise.
40871
40872 * include/types.h (grub_disk_addr_t): New typedef.
40873
6d099807 408742005-11-13 Marco Gerards <mgerards@xs4all.nl>
40875
40876 * geninit.sh: New file.
40877
40878 * geninitheader.sh: Likewise.
40879
40880 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40881 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40882 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40883 * commands/configfile.c (grub_configfile_init)
40884 (grub_configfile_fini): Likewise.
40885 * commands/default.c (grub_default_init, grub_default_fini):
40886 Likewise.
40887 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40888 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40889 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40890 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40891 Likewise.
40892 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40893 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40894 Likewise.
40895 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40896 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40897 Likewise.
40898 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40899 Likewise.
fe6b695a 40900 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40901 Likewise.
40902 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40903 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40904 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40905 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40906 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40907 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40908 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40909 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40910 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40911 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40912 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40913 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40914 * partmap/amiga.c (grub_amiga_partition_map_init)
40915 (grub_amiga_partition_map_fini): Likewise.
40916 * partmap/apple.c (grub_apple_partition_map_init)
40917 (grub_apple_partition_map_fini): Likewise.
40918 * partmap/pc.c (grub_pc_partition_map_init)
40919 (grub_pc_partition_map_fini): Likewise.
40920 * partmap/sun.c (grub_sun_partition_map_init,
40921 grub_sun_partition_map_fini): Likewise.
40922 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40923 Likewise.
40924
40925 * util/grub-emu.c: Include <grub_modules_init.h>.
40926 (main): Don't initialize and de-initialize any modules directly,
40927 use `grub_init_all' and `grub_fini_all' instead.
40928
40929 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40930 `grub_vesafb_mod_init'.
40931 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40932 all users.
40933 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40934 `grub_vga_mod_init'. Updated all users.
40935 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40936
6d099807 40937 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40938 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40939 rules.
40940
40941 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40942 Generate a function to initialize the module in utilities.
40943 Updated all callers.
40944 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40945 initialize the module in utilities. Updated all callers.
40946
9046bcf0 409472005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40948
40949 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40950 escape sequence and a literal ^L to clear the screen.
40951
40952 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40953 when returning from Open Firmware.
40954
d13ea639 409552005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40956
40957 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40958 (grub_ofconsole_height): Likewise.
40959 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40960 manually insert a '\n'.
40961 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40962 `grub_ofconsole_height'. Return early if these are already set.
40963
a8fcf206 409642005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40965
40966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40967 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40968 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40969 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40970 and `normal/script.c'.
40971 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40972 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40973 (test_mod_SOURCES): New variable.
40974 (test_mod_CFLAGS): Likewise.
40975 (test_mod_LDFLAGS): Likewise.
40976 (pkgdata_MODULES): Add `test.mod'.
40977 (grub_script.tab.c): New rule.
40978 (grub_script.tab.h): Likewise.
40979
b6b32745 409802005-11-07 Marco Gerards <mgerards@xs4all.nl>
40981
40982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40983 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40984 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40985 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40986 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40987 (test_mod_SOURCES): New variable.
40988 (test_mod_CFLAGS): Likewise.
40989 (pkgdata_MODULES): Add `test.mod'.
40990 (grub_script.tab.c): New rule.
40991 (grub_script.tab.h): Likewise.
40992
daac212a 409932005-11-06 Marco Gerards <mgerards@xs4all.nl>
40994
40995 Add initial scripting support.
40996
40997 * commands/test.c: New file.
40998 * include/grub/script.h: Likewise.
40999 * normal/execute.c: Likewise.
41000 * normal/function.c: Likewise.
41001 * normal/lexer.c: Likewise.
41002 * normal/parser.y: Likewise.
41003 * normal/script.c: Likewise.
41004
41005 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41006
daac212a 41007 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41008 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41009 `normal/function.c' and `normal/script.c'.
41010 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41011 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41012 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41013 variables.
daac212a 41014 (pkgdata_MODULES): Add `test.mod'.
41015 (grub_script.tab.c): New rule.
41016 (grub_script.tab.h): Likewise.
41017
41018 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41019
41020 * include/grub/normal.h (grub_test_init): New prototype.
41021 (grub_test_fini): Likewise.
f19dbdb7 41022
daac212a 41023 * normal/command.c: Include <grub/script.h>.
41024 (grub_command_execute): Rewritten.
f19dbdb7 41025
daac212a 41026 * util/grub-emu.c (main): Call `grub_test_init' and
41027 `grub_test_fini'.
41028
77500b2b 410292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41030
41031 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41032 to 0.
41033 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41034 there are no pending characters.
41035
e45deb9e 410362005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41037
41038 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41039 `grub_strndup' to drop device arguments. Replace unnecessary
41040 `grub_strndup' with `grub_strdup'.
41041
4ce32619 410422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41043
41044 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41045 `debug' environment variable has been set.
41046
410472005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41048
4ce32619 41049 * Makefile.in (install-local): Use $(DATA).
41050 (uninstall): Likewise.
41051 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41052 (sbin_UTILITIES): ... to here.
41053 (sbin_SCRIPTS): New variable.
41054 (grub_install_SOURCES): New variable.
41055 * util/powerpc/ieee1275/grub-install.in: New file.
41056 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41057 variable.
41058 (add_segments): Call `grub_util_get_path'.
41059
25fe6f03 410602005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41061
41062 From Timothy Baldwin:
41063 * commands/ls.c (grub_ls_list_files): Close FILE with
41064 grub_file_close.
41065 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41066
04ccf3ec 410672005-10-24 Marco Gerards <mgerards@xs4all.nl>
41068
41069 * include/grub/parser.h: New file.
41070
41071 * kern/parser.c: Likewise.
41072
41073 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41074 (grub_setup_SOURCES): Likewise.
41075 (grub_probefs_SOURCES): Likewise.
41076 (grub_emu_SOURCES): Likewise.
41077 (kernel_img_HEADERS): Add `parser.h'.
41078
41079 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41080 (grub_emu_SOURCES): Add `kern/parser.c'.
41081 (grubof_SOURCES): Likewise.
41082
41083 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41084 (grubof_SOURCES): Add `kern/parser.c'.
41085
41086 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41087
41088 * kern/misc.c (grub_split_cmdline): Removed function.
41089
41090 * kern/rescue.c: Include <grub/parser.h>.
41091 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41092 of `grub_split_cmdline'.
41093
41094 * normal/command.c: Include <grub/parser.h>.
41095 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41096 of `grub_split_cmdline'.
41097
41098 * normal/completion.c: Include <grub/parser.h>.
41099 (cmdline_state): New variable.
41100 (iterate_dir): End the filename with a quote depending on the
41101 command line state.
41102 (get_state): new function.
41103 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41104 split the arguments and determine the current argument. When the
41105 argument string is not quoted, escape all spaces.
41106
6d8f4b0e 411072005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41108
41109 * normal/sparc64/setjmp.S: New file.
41110
15cf03ed 411112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41112
41113 * include/grub/sparc64/libgcc.h: New file.
41114 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41115 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41116 normal/sparc64/setjmp.c.
41117
03e8661a 411182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41119
41120 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41121 * kern/sparc64/cache.S: New file.
41122 * kern/sparc64/cache.c: Removed.
41123 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41124 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41125 -mtune=ultrasparc.
41126 (COMMON_LDFLAGS): Add -melf64_sparc.
41127 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41128 (grubof_SOURCES): Use cache.S instead of cache.c.
41129 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41130 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41131 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41132 commented though.
41133 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41134 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41135 (linux_mod_CFLAGS): Commented out.
41136 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41137 out because module isn't built.
41138 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41139 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41140 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41141 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41142 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41143 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41144 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41145 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41146 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41147 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41148 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41149 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41150 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41151 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41152
34eeec8a 411532005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41154
41155 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41156 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41157 longer, because HFS should not be used on PC.
41158
708367a3 411592005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41160
41161 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41162 consistently within the loop.
41163
6fa1251a 411642005-10-15 Marco Gerards <mgerards@xs4all.nl>
41165
41166 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41167 directory can not be read.
41168
4801580b 411692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41170
41171 * configure.ac (AC_INIT): Increase the version number to 1.91.
41172
41173 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41174 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41175 term/i386/pc/serial.c.
41176
219ad426 411772005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41178
41179 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41180 file size must be permitted.
41181
41182 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41183 between %ah and %al.
41184
688e5699 411852005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41186
41187 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41188 grub_uint64_t.
41189 Call the hook with a NUL-terminated filename.
41190 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41191 grub_cpu_to_be32.
41192
41193 * kern/term.c (cursor_state): New variable.
41194 (grub_term_set_current): Reset the cursor state on a new
41195 terminal.
41196 (grub_setcursor): Rewritten to use CURSOR_STATE.
41197 (grub_getcursor): New function.
41198
41199 * include/grub/term.h (grub_getcursor): New prototype.
41200
41201 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41202 integers on ARM. Reported by Timothy Baldwin
41203 <T.E.Baldwin99@members.leeds.ac.uk>.
41204
bb34586c 412052005-10-11 Marco Gerards <mgerards@xs4all.nl>
41206
41207 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41208 allocated.
41209 (grub_sfs_dir): Likewise.
41210
9a909877 412112005-10-09 Marco Gerards <mgerards@xs4all.nl>
41212
41213 Add support for the SFS filesystem.
41214
41215 * fs/sfs.c: New file.
41216
41217 * DISTLIST: Added `fs/sfs.c'.
41218
41219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41220 (grub_probefs_SOURCES): Likewise.
41221 (grub_emu_SOURCES): Likewise.
41222 (pkgdata_MODULES): Add `sfs.mod'.
41223 (sfs_mod_SOURCES): New variable.
41224 (sfs_mod_CFLAGS): Likewise.
41225 (sfs_mod_LDFLAGS): Likewise.
41226
41227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41228 (pkgdata_MODULES): Add `sfs.mod'.
41229 (sfs_mod_SOURCES): New variable.
41230 (sfs_mod_CFLAGS): Likewise.
41231
41232 * util/grub-emu.c (main): Call `grub_sfs_init' and
41233 `grub_sfs_fini'.
41234
41235 * include/grub/fs.h (grub_sfs_init): New prototype.
41236 (grub_sfs_fini): Likewise.
41237
57bdbde3 412382005-10-07 Marco Gerards <mgerards@xs4all.nl>
41239
41240 Add support for the AFFS filesystem.
41241
41242 * fs/affs.c: New file.
41243
41244 * DISTLIST: Added `fs/affs.c'.
41245
41246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41247 (grub_probefs_SOURCES): Likewise.
41248 (grub_emu_SOURCES): Likewise.
41249 (pkgdata_MODULES): Add `affs.mod'.
41250 (affs_mod_SOURCES): New variable.
41251 (affs_mod_CFLAGS): Likewise.
41252 (affs_mod_LDFLAGS): Likewise.
41253
41254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41255 (pkgdata_MODULES): Add `affs.mod'.
41256 (affs_mod_SOURCES): New variable.
41257 (affs_mod_CFLAGS): Likewise.
41258
41259 * util/grub-emu.c (main): Call `grub_affs_init' and
41260 `grub_affs_fini'.
41261
41262 * include/grub/fs.h (grub_affs_init): New prototype.
41263 (grub_affs_fini): Likewise.
41264
047b67e0 412652005-10-01 Marco Gerards <mgerards@xs4all.nl>
41266
41267 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41268
59b8208a 412692005-10-01 Marco Gerards <mgerards@xs4all.nl>
41270
41271 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41272 `-m32' to CFLAGS.
41273
41274 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41275 linking.
f19dbdb7 41276
59b8208a 41277 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41278 (COMMON_LDFLAGS): New variable.
41279 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41280 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41281 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41282 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41283 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41284 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41285 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41286 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41287 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41288 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41289 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41290 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41291 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41292 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41293 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41294 variables.
41295 (normal_mod_ASFLAGS): Add `-m32'.
41296
41297 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41298 (grub_host_size_t, grub_host_ssize_t): New types.
41299 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41300 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41301 `GRUB_HOST_SIZEOF_VOID_P'.
41302
41303 * include/grub/kernel.h (struct grub_module_header): Type of
41304 member offset changed to `grub_host_off_t'. Type of member size
41305 changed to `grub_host_size_t'.
41306 (struct grub_module_info): Type of member offset changed to
41307 `grub_host_off_t'. Type of member size changed to
41308 `grub_host_size_t'.
41309
b4093103 413102005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41311
41312 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41313
b4093103 41314 * kern/i386/pc/startup.S (multiboot_header): New label.
41315 (multiboot_entry): Likewise.
41316 (multiboot_trampoline): Likewise.
41317
41318 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41319 Increased to 0x4A0.
41320
41321 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41322 put parentheses after a question mark.
41323 [!GRUB_UTIL] (my_mod): New variable.
41324
41325 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41326
b2499b29 413272005-09-28 Marco Gerards <mgerards@xs4all.nl>
41328
41329 Adds support for the XFS filesystem. Btrees are not supported
41330 yet.
41331
41332 * fs/xfs.c: New file.
41333
41334 * DISTLIST: Added `fs/xfs.c'.
41335
41336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41337 (grub_probefs_SOURCES): Likewise.
41338 (grub_emu_SOURCES): Likewise.
41339 (pkgdata_MODULES): Add `xfs.mod'.
41340 (xfs_mod_SOURCES): New variable.
41341 (xfs_mod_CFLAGS): Likewise.
41342
41343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41344 (pkgdata_MODULES): Add `xfs.mod'.
41345 (xfs_mod_SOURCES): New variable.
41346 (xfs_mod_CFLAGS): Likewise.
41347
41348 * util/grub-emu.c (main): Call `grub_xfs_init' and
41349 `grub_xfs_fini'.
41350
41351 * include/grub/fs.h (grub_xfs_init): New prototype.
41352 (grub_xfs_fini): Likewise.
41353
f19dbdb7 41354
83d37a62 413552005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41356
41357 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41358 color modes, allow greater than 16 colors to be configured as
41359 a default palette.
41360
47d2d65e 413612005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41362
41363 * normal/completion.c (complete_arguments): Add the qualifier
41364 const into OPTIONS.
41365
41366 From Omniflux <omniflux+lists@omniflux.com>:
41367 * include/grub/terminfo.h: New file.
41368 * include/grub/tparm.h: Likewise.
41369 * include/grub/i386/pc/serial.h: Likewise.
41370 * term/terminfo.c: Likewise.
41371 * term/tparm.c: Likewise.
41372 * term/i386/pc/serial.c: Likewise.
41373 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41374 serial.mod.
41375 (terminfo_mod_SOURCES): New variable.
41376 (terminfo_mod_CFLAGS): Likewise.
41377 (serial_mod_SOURCES): Likewise.
41378 (serial_mod_CFLAGS): Likewise.
41379
48b671ff 413802005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41381
41382 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41383 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41384 and kern/powerpc/ieee1275/cmain.c, respectively.
41385
41386 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41387 * kern/powerpc/ieee1275/crt0.S: ... here.
41388
41389 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41390 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41391
48b671ff 41392 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41393 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41394 instead of boot/powerpc/ieee1275/crt0.S and
41395 boot/powerpc/ieee1275/cmain.c, respectively.
41396
41397 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41398 sectors. It was not used anyway.
41399
09fc77a7 414002005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41401
41402 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41403 `unused parameter' warning.
41404
003789c7 414052005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41406
41407 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41408 function.
41409 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41410 getcharwidth.
41411
67f44c86 414122005-08-28 Marco Gerards <metgerards@student.han.nl>
41413
41414 * include/grub/normal.h (enum grub_completion_type): Added
41415 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41416
41417 * normal/cmdline.c (print_completion): Handle
41418 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41419 * normal/menu_entry.c (store_completion): Likewise.
41420
41421 * normal/completion.c (complete_arguments): New function.
41422 (grub_normal_do_completion): Call `complete_arguments' when the
41423 current words start with a dash.
41424
0b5abe02 414252005-08-27 Marco Gerards <metgerards@student.han.nl>
41426
41427 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41428 `gzio.mod' instead of `io.mod').
41429
d9864ee1 414302005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41431
41432 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41433 (DISTDIRS): Added io and video.
41434 Rewrite the search routine to make an output consistently.
41435
41436 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41437 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41438 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41439 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41440 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41441 util/powerpc/ieee1275/misc.c.
f19dbdb7 41442
d9864ee1 41443 * include/grub/gzio.h: New file.
41444 * io/gzio.c: Likewise.
f19dbdb7 41445
d9864ee1 41446 * kern/file.c (grub_file_close): Call grub_device_close only if
41447 FILE->DEVICE is not NULL.
41448
41449 * include/grub/mm.h [!NULL] (NULL): New macro.
41450
41451 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41452
41453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41454 (pkgdata_MODULES): Added gzio.mod.
41455 (gzio_mod_SOURCES): New variable.
41456 (gzio_mod_CFLAGS): Likewise.
41457
41458 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41459 (pkgdata_MODULES): Added gzio.mod.
41460 (gzio_mod_SOURCES): New variable.
41461 (gzio_mod_CFLAGS): Likewise.
41462
41463 * commands/cat.c: Include grub/gzio.h.
41464 (grub_cmd_cat): Use grub_gzfile_open instead of
41465 grub_file_open.
f19dbdb7 41466
d9864ee1 41467 * commands/cmp.c: Include grub/gzio.h.
41468 (grub_cmd_cmp): Use grub_gzfile_open instead of
41469 grub_file_open.
41470
41471 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41472 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41473 grub_file_open.
41474 (grub_rescue_cmd_module): Likewise.
41475
fa46f4b5 414762005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41477
41478 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41479 kern/sparc64/ieee1275/init.c because it contains _start.
41480 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41481
e9211b5d 414822005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41483
41484 * configure.ac: Add support for sparc64 host with ieee1275
41485 firmware.
41486 * configure: Generated from configure.ac.
41487 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41488 instead of int.
41489 (grub_ofdisk_read): Likewise.
41490 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41491 pointers as (void *) to remove a warning.
41492 (grub_ofdisk_close): Likewise.
41493 (grub_ofdisk_read): Likewise.
41494 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41495 returns, so make it return void to remove a warning.
41496 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41497 Corresponding prototype change.
41498 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41499 values, and cast the pointers as (void *) to remove a warning.
41500 (grub_mm_dump): Likewise.
41501 * conf/sparc64-ieee1275.mk: New file.
41502 * conf/sparc64-ieee1275.rmk: Likewise.
41503 * include/grub/sparc64/setjmp.h: Likewise.
41504 * include/grub/sparc64/types.h: Likewise.
41505 * include/grub/sparc64/ieee1275/console.h: Likewise.
41506 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41507 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41508 * include/grub/sparc64/ieee1275/time.h: Likewise.
41509 * kern/sparc64/cache.c: Likewise.
41510 * kern/sparc64/dl.c: Likewise.
41511 * kern/sparc64/ieee1275/init.c: Likewise.
41512 * kern/sparc64/ieee1275/openfw.c: Likewise.
41513
385c6a92 415142005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41515
41516 * util/console.c (grub_ncurses_putchar): If C is greater than
41517 0x7f, set C to a question mark.
41518 (grub_ncurses_getcharwidth): New function.
41519 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41520 getcharwidth.
41521
41522 * normal/menu.c (print_entry): Made aware of Unicode. First,
41523 convert TITLE to UCS-4, and predict the cursor position by
41524 grub_getcharwidth.
41525
41526 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41527 const to SRC.
41528 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41529
16ccb8b1 415302005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41531
41532 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41533 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41534 grub_strcat.
41535
41536 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41537 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41538 grub_strcpy and grub_strlen. Take it into account that a space
41539 character is inserted as a delimiter.
41540
6a85ce79 415412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41542
41543 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41544 invalid magic in the error.
6a85ce79 41545
41546 * commands/search.c: New file.
f19dbdb7 41547
6a85ce79 41548 * util/grub-emu.c (main): Call grub_search_init and
41549 grub_search_fini.
41550
41551 * kern/rescue.c (grub_rescue_print_disks): Removed.
41552 (grub_rescue_print_devices): New function.
41553 (grub_rescue_cmd_ls): Use grub_device_iterate with
41554 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41555 grub_rescue_print_disks.
41556
41557 * kern/partition.c (grub_partition_iterate): Return the result of
41558 PARTMAP->ITERATE instead of GRUB_ERRNO.
41559
41560 * kern/device.c: Include grub/partition.h.
41561 (grub_device_iterate): New function.
41562
41563 * include/grub/partition.h (grub_partition_iterate): Return int
41564 instead of grub_err_t.
41565
41566 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41567 prototype.
41568 [GRUB_UTIL] (grub_search_fini): Likewise.
41569
41570 * include/grub/device.h (grub_device_iterate): New prototype.
41571
41572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41573 commands/search.c.
41574 (pkgdata_MODULES): Added search.mod.
41575 (search_mod_SOURCES): New variable.
41576 (search_mod_CFLAGS): Likewise.
41577
41578 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41579 (pkgdata_MODULES): Added search.mod.
41580 (search_mod_SOURCES): New variable.
41581 (search_mod_CFLAGS): Likewise.
41582
41583 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41584 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41585 All callers changed.
41586
41587 * DISTLIST: Added commands/search.c.
41588
ef095434 415892005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41590
41591 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41592 conversion.
41593 (grub_getcharwidth): New function.
41594
41595 * kern/misc.c (grub_utf8_to_ucs4): New function.
41596
41597 * include/grub/term.h (struct grub_term): Added a new member
41598 "getcharwidth".
41599 (grub_getcharwidth): New prototype.
41600
41601 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41602
41603 * term/i386/pc/console.c (map_char): New function. Segregated from
41604 grub_console_putchar.
41605 (grub_console_putchar): Use map_char.
41606 (grub_console_getcharwidth): New function.
41607 (grub_console_term): Specified grub_console_getcharwidth as
41608 getcharwidth.
41609
41610 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41611 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41612
41613 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41614 GRUB_ERRNO.
41615 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41616 on grub_strtoul completely.
41617 (write_char): Declare local variables in the beginning of the
41618 function.
41619 (grub_vesafb_getcharwidth): New function.
41620 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41621 getcharwidth.
41622
1f0a95e4 416232005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41624
41625 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41626 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41627 commands/i386/pc/vbetest.c.
41628
41629 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41630 call grub_vbe_get_controller_info again, because the returned
41631 information is volatile.
41632 (grub_vbe_set_video_mode): Mostly rewritten.
41633 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41634 grub_vbe_status_t correctly.
41635 (grub_vbe_get_video_mode_info): Likewise.
41636 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41637 several if statements.
41638
41639 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41640 * commands/i386/pc/vbeinfo.c: ... this.
41641
41642 * commands/i386/pc/vbe_test.c: Renamed to ...
41643 * commands/i386/pc/vbetest.c: ... this.
41644
41645 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41646 ...
41647 (grub_cmd_vbeinfo): ... this. Save video modes before
41648 iterating. Skip a video mode, if it is not available, not enough
41649 information is given or it is monochrome. Show the memory
41650 model. Leave the interpretation of MODEVAR to grub_strtoul
41651 completely.
41652 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41653 (GRUB_MOD_FINI): Likewise.
41654
41655 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41656 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41657 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41658 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41659 grub_strtoul completely.
41660 (real2pm): Removed.
41661 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41662 (GRUB_MOD_FINI): Likewise.
41663
41664 * normal/misc.c: Include grub/mm.h.
41665
41666 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41667 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41668 (vbe_list_modes_mod_SOURCES): Removed.
41669 (vbe_list_modes_mod_CFLAGS): Likewise.
41670 (vbe_test_mod_SOURCES): Likewise.
41671 (vbe_test_mod_CFLAGS): Likewise.
41672 (vbeinfo_mod_SOURCES): New variable.
41673 (vbeinfo_mod_CFLAGS): Likewise.
41674 (vbetest_mod_SOURCES): Likewise.
41675 (vbetest_mod_CFLAGS): Likewise.
41676
992ffbbe 416772005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41678
41679 * normal/misc.c: New file.
41680
41681 * DISTLIST: Added normal/misc.c.
f19dbdb7 41682
992ffbbe 41683 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41684 DISK to HOOK. Call HOOK with DISK.
41685 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41686 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41687 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41688
41689 * normal/menu_entry.c (struct screen): Added a new member
41690 "completion_shown".
41691 (completion_buffer): New global variable.
41692 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41693 (store_completion): New function.
41694 (complete): Likewise.
41695 (clear_completions): Likewise.
41696 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41697 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41698 a tab, call complete.
41699
41700 * normal/completion.c (disk_dev): Removed.
41701 (print_simple_completion): Likewise.
41702 (print_partition_completion): Likewise.
41703 (print_func): New global variable.
41704 (add_completion): Do not take the arguments WHAT or PRINT any
41705 longer. Added a new argument TYPE. Instead of printing directly,
41706 call PRINT_FUNC if not NULL.
41707 All callers changed.
41708 (complete_device): Use a local variable DEV instead of
41709 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41710 (grub_normal_do_completion): Take a new argument HOOK. Do not
41711 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41712 empty string, return NULL instead.
41713 All callers changed.
41714
41715 * normal/cmdline.c (print_completion): New function.
41716
41717 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41718 to HOOK.
41719 All callers changed.
41720
41721 * kern/disk.c (grub_print_partinfo): Removed.
41722
41723 * include/grub/partition.h (struct grub_partition_map): Add a new
41724 argument DISK into HOOK of ITERATE.
41725 (grub_partition_iterate): Add a new argument DISK to HOOK.
41726
41727 * include/grub/normal.h (enum grub_completion_type): New enum.
41728 (grub_completion_type_t): New type.
41729 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41730 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41731 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41732 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41733 (grub_normal_do_completion): Added a new argument HOOK.
41734 (grub_normal_print_device_info): New prototype.
41735
41736 * include/grub/disk.h (grub_print_partinfo): Removed.
41737
41738 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41739 (normal_mod_SOURCES): Likewise.
41740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41741 (normal_mod_SOURCES): Likewise.
41742
41743 * commands/ls.c (grub_ls_list_disks): Use
41744 grub_normal_print_device_info instead of grub_print_partinfo. Free
41745 PNAME.
41746 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41747 duplicating the code.
41748
0bd41162 417492005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41750
41751 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41752 follow GCS more precisely.
41753 * commands/i386/pc/vbe_test.c: Likewise.
41754 * include/grub/i386/pc/vbe.h: Likewise.
41755 * term/i386/pc/vesafb.c: Likewise.
41756 * video/i386/pc/vbe.c: Likewise.
0bd41162 41757
6323696a 417582005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41759
41760 * DISTLIST: Added term/i386/pc/vesafb.c
41761 DISTLIST: Added video/i386/pc/vbe.c
41762 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41763 DISTLIST: Added commands/i386/pc/vbe_test.c.
41764 * commands/i386/pc/vbe_list_modes.c: New file.
41765 * commands/i386/pc/vbe_test.c: Likewise.
41766 * term/i386/pc/vesafb.c: Likewise.
41767 * video/i386/pc/vbe.c: Likewise.
41768 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41769 (grub_vbe_probe) Added prototype.
41770 (grub_vbe_set_video_mode) Likewise.
41771 (grub_vbe_get_video_mode) Likewise.
41772 (grub_vbe_get_video_mode_info) Likewise.
41773 (grub_vbe_set_pixel_rgb) Likewise.
41774 (grub_vbe_set_pixel_index) Likewise.
41775 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41776 (pkgdata_MODULES): Added vesafb.mod.
41777 (pkgdata_MODULES): Added vbe_list_modes.mod.
41778 (pkgdata_MODULES): Added vbe_test.mod.
41779 (vbe_mod_SOURCES): Added.
41780 (vbe_mod_CFLAGS): Likewise.
41781 (vesafb_mod_SOURCES): Likewise.
41782 (vesafb_mod_CFLAGS): Likewise.
41783 (vbe_list_modes_mod_SOURCES): Likewise.
41784 (vbe_list_modes_mod_CFLAGS): Likewise.
41785 (vbe_test_mod_SOURCES): Likewise.
41786 (vbe_test_mod_CFLAGS): Likewise.
41787
0a74e62f 417882005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41789
0a74e62f 41790 * normal/command.c (grub_command_execute): If INTERACTIVE is
41791 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41792 CMDLINE. Disable the pager if INTERACTIVE is true.
41793 All callers are changed.
41794
41795 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41796 before reading a config file.
41797 * normal/main.c (read_config_file): Even if a command is not
41798 found, register it if it is within an entry.
41799
41800 * util/grub-emu.c: Include sys/types.h and unistd.h.
41801 (options): Added --hold.
41802 (struct arguments): Added a new member "hold".
41803 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41804 missing.
41805 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41806 cleared by a debugger, if it is not zero.
41807
41808 * include/grub/normal.h (grub_command_execute): Add an argument
41809 INTERACTIVE.
41810
e51f85ae 418112005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41812
41813 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41814
e9c6f39b 418152005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41816
41817 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41818 program with another one, because the old one didn't detect a bug
41819 in gcc-3.4. Always use regparm 2, because the new test is still
41820 not enough for gcc-4.0. Someone must investigate a simple test
41821 case which detects a bug in gcc-4.0.
41822
8de3495c 418232005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41824
41825 * DISTLIST: Added normal/completion.c.
41826
41827 * normal/completion.c: New file.
f19dbdb7 41828
8de3495c 41829 * term/i386/pc/console.c (grub_console_getwh): New function.
41830 (grub_console_term): Assign grub_console_getwh to getwh.
41831
41832 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41833 function is defined in normal/completion.c as
41834 grub_normal_do_completion.
41835 (grub_cmdline_get): Use grub_normal_do_completion instead of
41836 grub_tab_complete.
41837
41838 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41839 returns non-zero, otherwise return 0.
41840 (grub_partition_iterate): First, probe the partition map. Then,
41841 call ITERATE only for this partition map.
41842
41843 * kern/misc.c (grub_strncmp): Rewritten.
41844
41845 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41846 returns non-zero. Otherwise return 0.
41847
41848 * include/grub/partition.h (grub_partition_map_iterate): Return
41849 int instead of void.
41850
41851 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41852
41853 * include/grub/misc.h (grub_strncmp): Change the type of N to
41854 grub_size_t.
41855
41856 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41857 of void.
41858
41859 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41860 unsigned explicitly before comparing it with I.
8de3495c 41861
41862 * kern/main.c (grub_env_write_root): Add the attribute unused into
41863 VAR.
41864
41865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41866 normal/completion.c.
41867 (normal_mod_SOURCES): Likewise.
41868 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41869 (normal_mod_SOURCES): Likewise.
41870
41871 * normal/command.c (grub_iterate_commands): If ITERATE returns
41872 non-zero, return one immediately.
41873
e85e144b 418742005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41875
41876 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41877 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41878 descriptions.
41879 (grub_vbe_get_controller_info): New function.
41880 (grub_vbe_get_mode_info): Likewise.
41881 (grub_vbe_set_mode): Likewise.
41882 (grub_vbe_get_mode): Likewise.
41883 (grub_vbe_set_memory_window): Likewise.
41884 (grub_vbe_get_memory_window): Likewise.
41885 (grub_vbe_set_scanline_length): Likewise.
41886 (grub_vbe_get_scanline_length): Likewise.
41887 (grub_vbe_set_display_start): Likewise.
41888 (grub_vbe_get_display_start): Likewise.
41889 (grub_vbe_set_palette_data): Likewise.
41890 * include/grub/i386/pc/vbe.h: New file.
41891
c46153d2 418922005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41893
41894 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41895 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41896 * DISTLIST: Likewise.
41897 * kern/ieee1275/of.c: Moved to ...
41898 * kern/ieee1275/ieee1275.c: ... here.
41899
0cb90c45 419002005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41901
41902 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41903 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41904 Pass 0 as `end' parameter to grub_strtoul().
41905
a19fb360 419062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41907
41908 * include/grub/powerpc/ieee1275/console.h: Do not include
41909 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41910 ifdef.
41911 (grub_console_cur_color): Remove i386-specific prototype.
41912 (grub_console_real_putchar): Likewise.
41913 (grub_console_checkkey): Likewise.
41914 (grub_console_getkey): Likewise.
41915 (grub_console_getxy): Likewise.
41916 (grub_console_gotoxy): Likewise.
41917 (grub_console_cls): Likewise.
41918 (grub_console_setcursor): Likewise.
41919 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41920 Include <grub/machine/console.h>.
41921 * term/ieee1275/ofconsole.c: Likewise.
41922
4ac9bd04 419232005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41924
41925 * Makefile.in (LIBLZO): New variable.
41926
41927 * configure.ac: Check for LZO version 2.
41928
41929 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41930 lzo/lzo1x.h instead of lzo1x.h.
41931
41932 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41933 of -llzo.
41934
41935 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41936 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41937
41938 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41939 copying the data from PARTITION to P.
41940
f4917dfd 419412005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41942
41943 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41944 negative, unload the module.
41945
41946 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41947 map is "pc_partition_map" but not "pc".
41948 (usage): Fix the description. The options are --boot-image and
41949 --core-image but not --boot-file or --core-file.
41950 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41951 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41952 DEFAULT_DIRECTORY.
41953
41954 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41955 --core-file. Specify INSTALL_DEVICE as an argument.
41956
41957 * util/console.c: Include config.h.
41958 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41959 [HAVE_NCURSES_H]: Include ncurses.h.
41960 [HAVE_CURSES_H]: Include curses.h.
41961 [!A_NORMAL] (A_NORMAL): Defined as zero.
41962 [!A_STANDOUT] (A_STANDOUT): Likewise.
41963
41964 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41965 -lncurses.
41966 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41967
41968 * configure.ac: Check for curses libraries and headers.
41969
41970 * Makefile.in (LIBCURSES): New variable.
41971
41972 * genmk.rb (Script::rule): Set the executable bits.
41973
41974 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41975 name of the PC partition map is "pc_partition_map" but not "pc".
41976
0e143073 419772005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41978
41979 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41980 (modules): Likewise.
41981 (usage): Added descriptions for --modules and --grub-probefs.
41982 Handle --modules and --grub-probefs. Save the arguments in MODULES
41983 and GRUB_PROBEFS, respectively.
41984 Auto-detect a filesystem module against GRUBDIR. If the result is
41985 empty and modules are not specified explicitly, abort the
41986 installation. Add the result to MODULES.
41987
41988 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41989 disk/powerpc/ieee1275/ofdisk.c,
41990 include/grub/powerpc/ieee1275/init.h and
41991 term/powerpc/ieee1275/ofconsole.c.
41992 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41993 term/ieee1275/ofconsole.c.
41994
41995 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41996
41997 * COPYING: Upgraded to the latest version. Only the address of the
41998 FSF office has changed.
f19dbdb7 41999
efd6e6d5 420002005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42001
42002 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42003 kern/ieee1275.c with kern/ieee1275/of.c.
42004
42005 * kern/ieee1275.c: Moved to ...
42006 * kern/ieee1275/of.c: ... here.
42007
8ceafda2 420082005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42009
42010 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42011 readability.
8ceafda2 42012
42013 * config.guess: Updated to the latest version from gnulib.
42014 * config.sub: Likewise.
42015 * install.sh: Likewise.
42016 * mkinstalldirs: Likewise.
42017
42018 * include/grub/console.h: Removed. This file is arch-specific. Do
42019 not put this in include/grub.
42020
42021 * include/grub/i386/pc/console.h: Resurrected.
42022
42023 * util/console.c: Include grub/machine/console.h instead of
42024 grub/console.h.
42025 * util/grub-emu.c: Likewise.
42026
267f6cd9 420272005-08-04 Marco Gerards <metgerards@student.han.nl>
42028
42029 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42030 hardcoded value.
f19dbdb7 42031
267f6cd9 42032 From Vincent Pelletier <subdino2004@yahoo.fr>
42033 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42034 Redefined to use grub_getwh.
42035 (grub_term): New member named getwh.
42036 (grub_getwh): New prototype.
42037 * kern/term.c (grub_getwh): New function.
42038 * term/i386/pc/console.c (grub_console_getwh): New function.
42039 (grub_console_term): New member `getwh'.
42040 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42041 (grub_vga_term): New member `getwh'.
0b5abe02 42042 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42043 grub_ssize_t.
42044 (grub_ofconsole_getw): New function.
42045 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42046 (grub_ofconsole_term): New field named getwh and new initial
42047 value.
42048
3be7266d 420492005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42050
42051 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42052 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42053 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42054 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42055 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42056 of <grub/machine/ieee1275.h>.
42057 * commands/ieee1275/reboot.c: Likewise.
42058 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42059 * kern/ieee1275.c: ... to here. All users updated. Change all
42060 parameter structs to use new type `grub_ieee1275_cell_t'.
42061 * term/powerpc/ieee1275/ofconsole.c: Move ...
42062 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42063 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42064 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42065 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42066 to return int.
42067 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42068 Remove unused prototypes. All users updated.
42069 * include/grub/powerpc/ieee1275/console.h: Removed.
42070 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42071 `grub_ieee1275_cell_t'.
42072 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42073 Cast comparisons with -1 to the correct type.
42074 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42075 type to match `grub_ieee1275_entry_fn'.
42076
8b5f3938 420772005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42078
42079 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42080
42081 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42082 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42083 partmap/sun.c.
42084 (grub_probefs_SOURCES): New variable.
42085
42086 * util/i386/pc/grub-probefs.c: New file.
42087
42088 * util/i386/pc/grub-setup.c (main): Call
42089 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42090 grub_hfs_init and grub_jfs_init to initialize the system. Call
42091 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42092 grub_pc_partition_map_fini to finish the system.
42093
ea409713 420942005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42095
42096 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42097 function.
42098 (grub_multiboot_load_elf32): Likewise.
42099 (grub_multiboot_is_elf64): Likewise.
42100 (grub_multiboot_load_elf64): Likewise.
42101 (grub_multiboot_load_elf): Likewise.
42102 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42103 an ELF32 or ELF64 file.
42104 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42105
42106 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42107 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42108 NULL before calling FS->LABEL.
42109 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42110 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42111 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42112 before calling FS->LABEL.
42113
141a288b 421142005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42115
42116 * util/i386/pc/grub-install.in (datadir): New variable.
42117 (libdir): Removed.
42118 (pkgdatadir): New variable.
42119 (pkglibdir): Removed.
42120
0d5f8a54 421212005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42122
42123 * DISTLIST: Added util/i386/pc/grub-install.in.
42124
42125 * util/i386/pc/grub-install.in: New file.
42126
42127 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42128 (grub_install_SOURCES): Likewise.
42129
42130 * genmk.rb: Added support for scripts.
42131 (Script): New class.
42132 (scripts): New variable.
42133
42134 * Makefile.in (install-local): Install sbin_SCRIPTS by
42135 INSTALL_SCRIPT.
42136 (uninstall): Remove sbin_SCRIPTS.
42137
42138 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42139 device, try to get a GRUB device by
42140 grub_util_biosdisk_get_grub_dev.
42141 Free DEST_DEV.
42142
42143 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42144 description for --device-map.
42145
5f968e1e 421462005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42147
42148 Change the semantics of variable hooks. They now return strings
42149 instead of error values.
f19dbdb7 42150
5f968e1e 42151 * util/i386/pc/grub-setup.c: Include grub/env.h.
42152 (setup): Use grub_device_set_root instead of grub_env_set.
42153
42154 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42155 grub_env_get instead of grub_device_set_root and
42156 grub_device_get_root, respectively.
42157
42158 * kern/main.c (grub_env_write_root): New function.
42159 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42160 grub_env_set instead of grub_device_set_root.
42161
42162 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42163 many variables.
42164 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42165 rather than calling ENV->WRITE_HOOK afterwards.
42166 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42167 passing a pointer of a pointer.
42168 (grub_register_variable_hook): Change the types of "read_hook" and
42169 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42170 respectively.
42171 Allocate the default empty string on the heap, because this string
42172 may be freed later.
42173
42174 * kern/device.c: Include grub/env.h.
42175 (grub_device_set_root): Removed.
42176 (grub_device_get_root): Likewise.
42177 (grub_device_open): Use grub_env_get instead of
42178 grub_device_get_root.
42179
42180 * include/grub/env.h (grub_env_read_hook_t): New type.
42181 (grub_env_write_hook_t): Likewise.
42182 (grub_env_var): Change the types of "read_hook" and "write_hook"
42183 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42184 (grub_register_variable_hook): Likewise.
42185
42186 * include/grub/device.h (grub_device_set_root): Removed.
42187 (grub_device_set_root): Likewise.
42188
42189 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42190 make sure that DIRNAME terminates with '/', so that
42191 grub_fat_find_dir will fail if PATH is not a directory.
42192
42193 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42194 from DIRNAME.
42195 Use the qualifier auto for print_files and print_files_long.
42196 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42197 as a regular file.
42198 Put a newline only if there is no error.
42199 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42200 used.
42201
896f0afd 422022005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42203
42204 * kern/partition.c (grub_partition_probe): Initialize PART to
42205 NULL. Otherwise, when no partition map is registered, this returns
42206 a garbage.
42207
b28b81b2 422082005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42209
42210 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42211 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42212 valid.
42213
5f3607e0 422142005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42215
42216 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42217 information on each device, if it does not have partitions. Print
42218 "Device" instead of "Disk", because this function is not specific
42219 to disk devices.
42220
42221 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42222 static to ensure that it is put on the memory rather than a
42223 register.
42224
502c87e8 422252005-07-17 Yoshinori Okuji <okuji@enbug.org>
42226
42227 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42228 (grub_cat_init): Likewise.
42229 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42230 (options): Likewise.
42231 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42232 (grub_configfile_init): Likewise.
42233 * font/manager.c (GRUB_MOD_INIT): Likewise.
42234 * commands/help.c (GRUB_MOD_INIT): Likewise.
42235 (grub_help_init): Likewise.
42236 * normal/command.c (grub_command_init): Likewise.
42237 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42238 * disk/loopback.c (grub_loop_init): Likewise.
42239 (GRUB_MOD_INIT): Likewise.
42240 * commands/ls.c (grub_ls_init): Likewise.
42241 (GRUB_MOD_INIT): Likewise.
42242 (options): Likewise.
42243 * commands/boot.c (grub_boot_init): Likewise.
42244 (GRUB_MOD_INIT): Likewise.
42245 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42246 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42247 (GRUB_MOD_INIT): Likewise.
42248 * commands/cmp.c (grub_cmp_init): Likewise.
42249 (GRUB_MOD_INIT): Likewise.
42250
42251 * normal/arg.c: Use <> instead of "" to include header files.
42252 (SHORT_ARG_HELP): New macro.
42253 (SHORT_ARG_USAGE): Likewise.
42254 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42255 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42256 descriptions.
42257 (find_short): Check if C is 'h' or 'u' explicitly.
42258 (grub_arg_show_help): Use space characters instead of tabs. Treat
42259 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42260 are shown with --help and --usage only if they are not used for
42261 the command itself.
42262 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42263 'h' and 'u'.
42264
42265 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42266 const into "longarg". Change the type of "shortarg" to int.
42267
f806d18e 422682005-07-17 Yoshinori Okuji <okuji@enbug.org>
42269
42270 * boot/i386/pc/boot.S (boot_drive_check): New label.
42271
42272 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42273 macro.
42274
42275 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42276 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42277
e293232b 422782005-07-17 Yoshinori Okuji <okuji@enbug.org>
42279
42280 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42281 When turning off Gate A20, skip the check and return immediately,
42282 because this is not fatal usually.
42283
ebedfd00 422842005-07-17 Yoshinori Okuji <okuji@enbug.org>
42285
42286 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42287 be 0x7C00 instead of 0x8000.
42288
42289 * boot/i386/pc/pxeboot.S: Rewritten.
42290
42291 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42292 EXT_C.
42293 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42294 result.
42295
654fc59f 422962005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42297
42298 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42299 robustness. This routine now supports a BIOS call and System
42300 Control Port A to modify the gate A20.
42301
42302 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42303 Increased to 0x440.
42304
09f9923f 423052005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42306
42307 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42308 device path and resulting ihandle.
42309 (grub_ofdisk_close): dprintf the ihandle being closed.
42310 (grub_ofdisk_read): dprintf function parameters.
42311 * kern/mm.c (grub_mm_init_region): Likewise.
42312 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42313 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42314 size, and boot arguments.
42315 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42316 before loading into memory.
42317 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42318 before loading into memory.
42319
7ef504d8 423202005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42321
42322 * kern/mm.c: Added much documentation.
42323 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42324 8, set to 5 instead of 8.
42325
e0f050c2 423262005-07-10 Yoshinori Okuji <okuji@enbug.org>
42327
42328 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42329
42330 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42331 (grub_mkdevicemap_SOURCES): New variable.
42332
42333 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42334 lib/device.c of GRUB Legacy.
42335
7224189a 423362005-07-10 Yoshinori Okuji <okuji@enbug.org>
42337
42338 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42339 instead of PATH is NULL.
42340
68c864eb 423412005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42342
42343 * commands/cmp.c (BUFFER_SIZE): New macro.
42344 (grub_cmd_cmp): Close the right file at the right time. Compare
42345 only data just read. Don't report files of different size as
42346 identical. Dynamically allocate buffers. Move variable
42347 declarations at the beginning of function.
42348
e6f3e614 423492005-07-09 Yoshinori Okuji <okuji@enbug.org>
42350
42351 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42352 reverse.
42353
f8f1559a 423542004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42355
42356 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42357 when backspace is pressed at beginning of line.
42358
39c9d41d 423592005-07-03 Yoshinori Okuji <okuji@enbug.org>
42360
42361 * DISTLIST: Added genfslist.sh.
42362
42363 * normal/main.c (fs_module_list): New variable.
42364 (autoload_fs_module): New function.
42365 (read_fs_list): Likewise.
42366 (grub_normal_execute): Call read_fs_list.
42367
42368 * kern/fs.c (grub_fs_autoload_hook): New variable.
42369 (grub_fs_probe): Added support for auto-loading.
42370
42371 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42372 (grub_fs_module_list_t): New type.
42373
42374 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42375 (grub_fs_autoload_hook): New prototype.
42376
42377 * genfslist.sh: New file.
f19dbdb7 42378
39c9d41d 42379 * genmk.rb: Added a rule to generate a filesystem list.
42380
121c1d83 423812005-06-30 Marco Gerards <metgerards@student.han.nl>
42382
42383 * configure.ac: Fix the test for cross-compiling.
42384
42385 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42386 define GRUB_UTIL anymore.
42387
42388 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42389 so this function works on other systems than just big endian.
42390 (load_modules): Likewise.
42391 (add_segments): Likewise.
42392
e75d76e1 423932005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42394
42395 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42396 contains `l' modifier, get a long from va_arg().
42397
50b5a0a7 423982005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42399
42400 * kern/mm.c (grub_free): If the next free block which is being
42401 merged is the first free block, set the first block to the block
42402 being freed.
42403 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42404
89371b20 424052005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42406
42407 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42408 `grub_ieee1275_chosen'.
42409
168d6e58 424102005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42411
42412 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42413 (grub_ieee1275_chosen): New variable.
42414 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42415 `chosen'.
42416 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42417 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42418 Rename first argument to `phandle' for consistency.
42419 (grub_ieee1275_get_property_length): Likewise.
42420 (grub_ieee1275_next_property): Likewise. Change type of first argument
42421 to grub_ieee1275_phandle_t.
42422 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42423 Move export next to declaration.
42424 (grub_ieee1275_chosen): New variable.
42425 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42426 Correct cosmetic typo.
42427 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42428 `grub_ieee1275_chosen'.
42429 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42430 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42431 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42432 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42433 `grub_ieee1275_chosen'.
42434
ca5baa3f 424352005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42436
42437 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42438 /chosen/bootargs.
42439 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42440 /chosen/bootargs as "variable=value" pairs.
42441
708b345f 424422005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42443
42444 * include/grub/misc.h (grub_dprintf): New macro.
42445 (grub_real_dprintf): New prototype.
42446 (grub_strword): Likewise.
42447 (grub_iswordseparator): Likewise.
42448 * kern/misc.c (grub_real_dprintf): New function.
42449 (grub_strword): Likewise.
42450 (grub_iswordseparator): Likewise.
42451
f4c5e67c 424522005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42453
42454 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42455 (roundup): Remove macro.
42456 (grub_ieee1275_flags): Make static.
42457 (grub_ieee1275_realmode): Remove.
42458 (grub_ieee1275_test_flag): New function.
42459 (grub_ieee1275_set_flag): Likewise.
42460 (find_options): Rename to `grub_ieee1275_find_options'; update
42461 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42462 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42463 (cmain): New prototype.
42464 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42465 `grub_ieee1275_flags' directly.
42466 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42467 machine/biosdisk.h.
42468 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42469 Don't include grub/machine/init.h.
42470 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42471 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42472 Remove prototype.
42473 (grub_ieee1275_realmode): Likewise.
42474 (grub_ieee1275_flag): New enum.
42475 (grub_ieee1275_test_flag): New prototype.
42476 (grub_ieee1275_set_flag): New prototype.
42477 * include/grub/powerpc/ieee1275/init.h: Remove file.
42478 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42479 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42480 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42481 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42482 comment.
42483 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42484 `grub_ieee1275_test_flag'.
42485 (grub_ieee1275_encode_devname): Likewise.
42486
ed16607e 424872005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42488
42489 * include/grub/powerpc/ieee1275/ieee1275.h
42490 (grub_ieee1275_encode_devname): New prototype.
42491 (grub_ieee1275_get_filename): Likewise.
42492 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42493 function.
42494 (grub_set_prefix): Likewise.
42495 (grub_machine_init): Call grub_set_prefix.
42496 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42497 (grub_parse_type): New enum.
42498 (grub_ieee1275_get_devargs): New function.
42499 (grub_ieee1275_get_devname): Likewise.
42500 (grub_ieee1275_parse_args): Likewise.
42501 (grub_ieee1275_get_filename): Likewise.
42502 (grub_ieee1275_encode_devname): Likewise.
42503
be369920 425042005-03-30 Marco Gerards <metgerards@student.han.nl>
42505
42506 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42507 `grub_loader_unset'.
42508
a5ce3a4a 425092005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42510
42511 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42512 instead of grub_ieee1275_interpret.
42513 (grub_halt_init): New function.
42514 (grub_halt_fini): Likewise.
42515 (GRUB_MOD_INIT): Correct message grammar.
42516 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42517 instead of grub_ieee1275_interpret.
42518 (grub_reboot_init): New function.
42519 (grub_reboot_fini): Likewise.
42520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42521 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42522 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42523 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42524 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42525 function.
42526 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42527 Add prototype.
42528 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42529 prototype.
42530 (grub_halt): Likewise.
42531 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42532 (cmain): Remove __attribute__((unused)).
42533 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42534 (grub_heap_len): Likewise.
42535 (grub_machine_fini): New function.
42536 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42537 (grub_halt): Likewise.
42538 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42539 function.
42540 * util/powerpc/ieee1275/misc.c: New file.
42541
0058f771 425422005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42543
42544 * DISTLIST: New file.
42545 * gendistlist.sh: Likewise.
f19dbdb7 42546
0058f771 42547 * Makefile.in (COMMON_DISTFILES): Removed.
42548 (BOOT_DISTFILES): Likewise.
42549 (CONF_DISTFILES): Likewise.
42550 (DISK_DISTFILES): Likewise.
42551 (FS_DISTFILES): Likewise.
42552 (INCLUDE_DISTFILES): Likewise.
42553 (KERN_DISTFILES): Likewise.
42554 (LOADER_DISTFILES): Likewise.
42555 (TERM_DISTFILES): Likewise.
42556 (UTIL_DISTFILES): Likewise.
42557 (DISTFILES): Likewise.
42558 (uninstall): Uninstall files in $(pkgdata_DATA).
42559 (DISTLIST): New target.
42560 (distdir): Use the contents of the file DISTLIST to get a list of
42561 distributed files.
42562
46b3b8a5 425632005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42564
42565 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42566 descriptor. This is ported from GRUB Legacy.
42567
42568 * gencmdlist.sh: Added an extra semicolon to make it work with
42569 old sed versions. Reported by Robert Bihlmeyer
42570 <robbe@orcus.priv.at>.
42571
5822ff87 425722005-03-08 Yoshinori Okuji <okuji@enbug.org>
42573
42574 Automatic loading of commands is supported.
f19dbdb7 42575
5822ff87 42576 * normal/main.c (read_command_list): New function.
42577 (grub_normal_execute): Call read_command_list.
42578
42579 * normal/command.c (grub_register_command): Return zero or CMD.
42580 Allocate CMD->NAME from the heap.
42581 Initialize CMD->MODULE_NAME to zero.
42582 Find the same name as well. If the same command is found and it is
42583 a dummy command, overwrite members. If it is not a dummy command,
42584 return zero.
42585 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42586 (grub_command_find): If a dummy command is found, load a module
42587 and retry to find a command only once.
42588
42589 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42590 make sure that each command is loaded.
42591
42592 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42593 macro.
42594 (struct grub_command): Remove const from the member `name'.
42595 Add a new member `module_name'.
42596 (grub_register_command): Return grub_command_t.
42597
42598 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42599 sure that each command is loaded.
42600
42601 * genmk.rb (PModule::rule): Specify a module name without the
42602 suffix ".mod" to gencmdlist.sh.
42603
7b1f4b57 426042005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42605
42606 * gencmdlist.sh: New file.
f19dbdb7 42607
7b1f4b57 42608 * genmk.rb (PModule::rule): Generate a rule for a command list.
42609 Clean command.lst.
42610 Generate command.lst from $(COMMANDFILES).
42611
42612 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42613 (DATA): Added $(pkgdata_DATA).
42614 (install-local): Install files in $(pkgdata_DATA).
42615
062aaf39 426162005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42617
42618 * term/i386/pc/vga.c (debug_command): Removed.
42619 (GRUB_MOD_INIT): Do not register the command "debug".
42620
42621 From Hollis Blanchard:
42622 * commands/configfile.c: New file.
42623 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42624 commands/configfile.c.
42625 (pkgdata_MODULES): Added configfile.mod.
42626 (configfile_mod_SOURCES): New variable.
42627 (configfile_mod_CFLAGS): Likewise.
42628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42629 commands/configfile.c.
42630 (pkgdata_MODULES): Added configfile.mod.
42631 (configfile_mod_SOURCES): New variable.
42632 (configfile_mod_CFLAGS): Likewise.
42633 * util/grub-emu.c (main): Call grub_configfile_init and
42634 grub_configfile_fini.
42635 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42636 prototype.
42637 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42638
cee01aa6 426392005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42640
42641 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42642 address.
42643
42644 * commands/help.c (grub_cmd_help): Do not print newlines after
42645 the last command in print_command_help.
42646
93f3a1d8 426472005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42648
42649 * commands/default.h: New file.
42650 * commands/timeout.h: Likewise.
42651 * normal/context.c: Likewise.
f19dbdb7 42652
93f3a1d8 42653 * util/misc.c: Do not include sys/times.h.
42654 Include sys/time.h and grub/machine/time.h.
42655 (grub_get_rtc): Rewritten with gettimeofday.
42656
42657 * util/grub-emu.c (main): Call grub_default_init and
42658 grub_timeout_init before grub_normal_init, and call
42659 grub_timeout_fini and grub_default_fini after grub_main.
42660
42661 * util/console.c (grub_ncurses_checkkey): Return the read
42662 character or -1.
42663
42664 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42665 timeouts.
42666
42667 * normal/main.c (read_config_file): Push MENU. If this fails,
42668 print an error and wait for a user input.
42669 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42670 If a menu is empty or an error occurs, pop MENU.
42671 (grub_normal_execute): Pop and free MENU after grub_menu_run
42672 returns.
42673
42674 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42675
42676 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42677 include time.h.
42678 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42679 without GRUB_UTIL.
42680 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42681 time.h.
42682 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42683 without GRUB_UTIL.
42684
42685 * include/grub/normal.h (struct grub_menu_list): New struct.
42686 (grub_menu_list_t): New type.
42687 (struct grub_context): New struct.
42688 (grub_context_t): New type.
42689 (grub_register_command): Got rid of EXPORT_FUNC.
42690 (grub_unregister_command): Likewise.
42691 (grub_context_get): New prototype.
42692 (grub_context_get_current_menu): Likewise.
42693 (grub_context_push_menu): Likewise.
42694 (grub_context_pop_menu): Likewise.
42695 [GRUB_UTIL] (grub_default_init): Likewise.
42696 [GRUB_UTIL] (grub_default_fini): Likewise.
42697 [GRUB_UTIL] (grub_timeout_init): Likewise.
42698 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42699
42700 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42701 commands/timeout.c and normal/context.c.
42702 (pkgdata_MODULES): Added default.mod and timeout.mod.
42703 (normal_mod_SOURCES): Added normal/context.c.
42704 (default_mod_SOURCES): New variable.
42705 (default_mod_CFLAGS): Likewise.
42706 (timeout_mod_SOURCES): Likewise.
42707 (timeout_mod_CFLAGS): Likewise.
42708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42709 conf/i386-pc.rmk.
42710 (pkgdata_MODULES): Added default.mod and timeout.mod.
42711 (normal_mod_SOURCES): Added normal/context.c.
42712 (default_mod_SOURCES): New variable.
42713 (default_mod_CFLAGS): Likewise.
42714 (timeout_mod_SOURCES): Likewise.
42715 (timeout_mod_CFLAGS): Likewise.
42716
42717 * Makefile.in (all-local): Added $(MKFILES).
42718
4ed2e1dd 427192005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42720
42721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42722 (grub_emu_SOURCES): Likewise.
42723 (pkgdata_MODULES): Add `sun.mod'.
42724 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42726 `partmap/sun.c'.
42727 (pkgdata_MODULES): Add `sun.mod'.
42728 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42729 * include/grub/partition.h (grub_sun_partition_map_init): New
42730 prototype.
42731 (grub_sun_partition_map_fini): Likewise.
42732 * partmap/sun.c: New file.
42733 * util/grub-emu.c (main): Initialize and de-initialize the sun
42734 partitionmap support.
42735
4d4e372e 427362005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42737
42738 This implements an Emacs-like menu entry editor.
f19dbdb7 42739
4d4e372e 42740 * normal/menu_entry.c: New file.
f19dbdb7 42741
4d4e372e 42742 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42743 characters to ASCII.
42744 (saved_char): New variable.
42745 (grub_ncurses_checkkey): Rewritten completely.
42746 (grub_ncurses_getkey): Likewise.
42747 (grub_ncurses_init): Call raw instead of cbreak.
42748
42749 * normal/menu.c (print_entry): Do not put a space.
42750 (init_page): Renamed to ...
42751 (grub_menu_init_page): ... this. All callers changed.
42752 (edit_menu_entry): Removed.
42753 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42754
42755 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42756
42757 * kern/misc.c (grub_vprintf): Call grub_refresh.
42758
42759 * normal/menu.c (DISP_LEFT): Renamed to ...
42760 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42761 * normal/menu.c (DISP_UP): Renamed to ...
42762 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42763 * normal/menu.c (DISP_RIGHT): Renamed to ...
42764 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42765 * normal/menu.c (DISP_DOWN): Renamed to ...
42766 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42767 * normal/menu.c (DISP_HLINE): Renamed to ...
42768 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42769 * normal/menu.c (DISP_VLINE): Renamed to ...
42770 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42771 * normal/menu.c (DISP_UL): Renamed to ...
42772 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42773 * normal/menu.c (DISP_UR): Renamed to ...
42774 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42775 * normal/menu.c (DISP_LL): Renamed to ...
42776 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42777 * normal/menu.c (DISP_LR): Renamed to ...
42778 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42779 * normal/menu.c (TERM_WIDTH): Renamed to ...
42780 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42781 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42782 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42783 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42784 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42785 * normal/menu.c (TERM_MARGIN): Renamed to ...
42786 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42787 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42788 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42789 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42790 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42791 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42792 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42793 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42794 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42795 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42796 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42797 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42798 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42799 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42800 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42801 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42802 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42803 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42804 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42805 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42806 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42807 All callers changed.
42808
42809 * include/grub/normal.h: New prototype.
42810
42811 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42812 normal/menu_entry.c.
42813 (normal_mod_SOURCES): Likewise.
42814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42815 (normal_mod_SOURCES): Likewise.
42816
e6b92c8a 428172005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42818
42819 * include/grub/normal.h (grub_halt_init): New prototype.
42820 (grub_halt_fini): Likewise.
42821 (grub_reboot_init): Likewise.
42822 (grub_reboot_fini): Likewise.
42823
42824 * util/grub-emu.c: Include signal.h.
42825 (main_env): New global variable.
42826 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42827 catch C-c.
42828 (grub_machine_fini): New function.
42829 (main): Call grub_halt_init and grub_reboot_init before
42830 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42831 Call setjmp with MAIN_ENV to go back afterwards.
42832 Call grub_machine_fini right before return.
42833
42834 * include/grub/util/misc.h: Include setjmp.h.
42835 (main_env): New prototype.
42836
42837 * include/grub/kernel.h (grub_machine_fini): New prototype.
42838 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42839 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42840
42841 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42842 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42843 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42844
e6b92c8a 42845 * util/i386/pc/misc.c: New file.
f19dbdb7 42846
e6b92c8a 42847 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42848 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42849 commands/i386/pc/reboot.c.
42850
c642636f 428512005-02-14 Guillem Jover <guillem@hadrons.org>
42852
42853 * include/grub/dl.h (grub_dl_check_header): New prototype.
42854 (grub_arch_dl_check_header): Change return type to grub_err_t,
42855 remove size parameter and export function. Update all callers.
42856 * kern/dl.c (grub_dl_check_header): New function.
42857 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42858 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42859 are inside the core.
42860 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42861 independent ELF header checks.
42862 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42863 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42864 `grub_dl_check_header' instead of explicit checks. Check for the
42865 ELF type.
42866 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42867 `grub_dl_check_header' instead of explicit checks. Remove arch
42868 specific ELF header checks.
42869
e6b92c8a 42870 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42871 argument SIZE.
42872
5eabe94b 428732005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42874
42875 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42876 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42877
1b14a681 428782005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42879
42880 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42881 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42882 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42883 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42884 * partmap/amiga.c (amiga_partition_map_iterate): Return
42885 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42886 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42887
aca108aa 428882005-02-01 Guillem Jover <guillem@hadrons.org>
42889
42890 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42891 help info.
42892
c9f9c556 428932005-01-31 Marco Gerards <metgerards@student.han.nl>
42894
42895 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42896 Removed prototype.
42897 (grub_rescue_cmd_linux): New prototype.
42898 (grub_rescue_cmd_initrd): Likewise.
42899 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42900 `bi_rec'.
42901 (grub_linux_release_mem): Release the memory for the initrd.
42902 (grub_load_linux): Renamed from this...
42903 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42904 Changed `entry' not to be static. Loop over memory regions to
42905 find another one when the default fails.
42906 (grub_rescue_cmd_initrd): New function.
42907 (grub_linux_init): Remove function.
42908 (grub_linux_fini): Likewise.
42909 (GRUB_MOD_INIT): Register `initrd'.
42910 (GRUB_MOD_FINI): Unregister `initrd'.
42911 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42912 Function removed.
42913 (grub_linux_normal_fini): Likewise.
42914 (GRUB_MOD_INIT): Register `initrd'.
42915 (GRUB_MOD_FINI): Unregister `initrd'.
42916
990cf3aa 429172005-01-31 Marco Gerards <metgerards@student.han.nl>
42918
42919 * commands/help.c: New file.
42920 * normal/arg.c (show_help): Renamed to...
42921 (grub_arg_show_help): ... this.
42922 * commands/i386/pc/halt.c: New file.
42923 * commands/i386/pc/reboot.c: Likewise.
42924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42925 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42926 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42927 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42928 variables.
42929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42930 `commands/help.c'.
42931 (pkgdata_MODULES): Add `help.mod'.
42932 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42933 * grub/i386/pc/init.h (grub_reboot): New prototype.
42934 (grub_halt): Likewise.
42935 * include/grub/normal.h (grub_arg_show_help): New prototype.
42936 (grub_help_init): Likewise.
42937 (grub_help_fini): Likewise.
42938 * util/grub-emu.c (main): Initialize and deinitialize the help
42939 command.
42940
42941 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42942
42943 * normal/command.c (grub_command_init): Fixed the description of
42944 the `set' and `unset' commands.
42945
429462005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42947
42948 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42949 function.
42950 * commands/ieee1275/halt.c: New file.
42951 * commands/ieee1275/reboot.c: Likewise.
42952 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42953 `__attribute__ ((unused))'. Some GCS related fixed.
42954 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42955 (grub_suspend_fini): Likewise.
42956 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42957 and `halt.mod'.
42958 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42959 (halt_mod_CFLAGS): New variables.
42960 * include/grub/powerpc/ieee1275/ieee1275.h
42961 (grub_ieee1275_interpret): New prototype.
42962
1ab09cc7 429632005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42964
42965 * include/grub/misc.h (memmove): New prototype.
42966 (memcpy): Likewise.
42967
8b8cbdb2 429682005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42969
42970 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42971 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42972
e3741a27 429732005-01-22 Marco Gerards <metgerards@student.han.nl>
42974
42975 * kern/misc.c (grub_strndup): Function rewritten.
42976
776bd780 429772005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42978
42979 * normal/menu.c (TERM_WIDTH): Macro redefined.
42980 (TERM_TOP_BORDER_Y): Likewise.
42981 (draw_border): Replaced while-loop by a for-loop. Make the number
42982 of lines consistent with the number of lines displayed in
42983 print_entries. Added a margin below the rectangle.
42984 (print_entry): Make the entry fit in the rectangle.
42985 (print_entries): Display the scroll arrows next to the right
42986 border.
42987
78026bce 429882005-01-21 Marco Gerards <metgerards@student.han.nl>
42989
42990 * fs/minix.c (grub_minix_find_file): Reserve more space for
42991 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42992 `grub_strncpy' to copy `path' into it.
42993
67bbaf0f 429942005-01-21 Marco Gerards <metgerards@student.han.nl>
42995
42996 Add the loopback device, a device via which files can be accessed
42997 as devices.
f19dbdb7 42998
67bbaf0f 42999 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43000 (pkgdata_MODULES): Add loopback.mod.
43001 (loopback_mod_SOURCES): New variable.
43002 (loopback_mod_CFLAGS): Likewise.
43003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43004 `disk/loopback.c'.
43005 (pkgdata_MODULES): Add loopback.mod.
43006 (loopback_mod_SOURCES): New variable.
43007 (loopback_mod_CFLAGS): Likewise.
43008 * disk/loopback.c: new file.
43009 * include/grub/normal.h (grub_loop_init): New prototype.
43010 (grub_loop_fini): New prototype.
43011 * util/grub-emu.c (main): Initialize and de-initialize loopback
43012 support.
43013 * include/grub/disk.h (grub_disk_dev_id): Add
43014 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43015
6f1c18bd 430162005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43017
43018 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43019 function.
43020 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43021 (suspend_mod_SOURCES): New variable.
43022 (suspend_mod_CFLAGS): Likewise.
43023 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43024 New prototype.
43025 * commands/ieee1275/suspend.c: New file.
43026
b38551da 430272005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43028
43029 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43030 ((unused))' to `__attribute__ ((used))'.
b38551da 43031 (GRUB_MOD_FINI): Likewise.
43032 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43033 * genmk.rb (PModule): Assign space to common symbols when linking
43034 modules.
43035
777aff39 430362005-01-20 Marco Gerards <metgerards@student.han.nl>
43037
43038 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43039 `unsigned' arguments to `grub_size_t'.
43040 (grub_malloc): Likewise.
43041 (grub_realloc): Likewise.
43042 (grub_memalign): Likewise.
43043 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43044 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43045 * util/misc.c (grub_malloc): Likewise.
43046 (grub_realloc): Likewise.
43047 * kern/mm.c (get_header_from_pointer): Change the casts to
43048 `unsigned' into a cast to `grub_size_t'.
43049
43050 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43051 point to `currnode' when `currnode' is changed.
43052
43053 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43054 Schottelius <nico-linux@schottelius.org>.
43055
d0ff18e1 430562005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43057
43058 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43059 (note_path): Remove variable.
43060 (GRUB_IEEE1275_NOTE_NAME): New macro.
43061 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43062 (grub_ieee1275_note_hdr): New structure.
43063 (grub_ieee1275_note_desc): Likewise.
43064 (grub_ieee1275_note): Likewise.
43065 (load_note): Remove `dir' argument. All callers updated. Remove
43066 `note_img' and `path'. Do not load a file from `note_path'.
43067 Initialize a struct grub_ieee1275_note and write that to `out'.
43068 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43069
4ca7004c 430702005-01-05 Marco Gerards <metgerards@student.han.nl>
43071
43072 * util/misc.c (grub_util_read_image): Revert last change. It
43073 called `grub_util_read_at', which seeks from the beginning of the
43074 file.
43075
0b412211 430762005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43077
43078 * TODO: Add note about endianness in grub-mkimage.
43079 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43080 section.
43081 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43082 (grub_mkimage_SOURCES): New target.
43083 * include/grub/kernel.h (grub_start_addr): Remove variable.
43084 (grub_end_addr): Likewise.
43085 (grub_total_module_size): Likewise.
43086 (grub_kernel_image_size): Likewise.
43087 (GRUB_MODULE_MAGIC): New constant.
43088 (grub_module_info): New structure.
43089 (grub_arch_modules_addr): New prototype.
43090 (grub_get_end_addr): Remove prototype.
43091 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43092 * include/grub/powerpc/ieee1275/kernel.h: New file.
43093 * include/grub/util/misc.h (grub_util_get_fp_size): New
43094 prototype.
43095 (grub_util_read_at): Likewise.
43096 (grub_util_write_image_at): Likewise.
43097 * kern/main.c (grub_get_end_addr): Remove function.
43098 (grub_load_modules): Call grub_arch_modules_addr instead of using
43099 grub_end_addr. Look for a grub_module_info struct in memory. Use
43100 the grub_module_info fields instead of calling grub_get_end_addr
43101 as loop conditions. Move grub_add_unused_region code here.
43102 (grub_add_unused_region): Remove function.
43103 * kern/i386/pc/init.c: Include grub/cache.h.
43104 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43105 one call to add_mem_region.
43106 (grub_arch_modules_addr): New function.
43107 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43108 (grub_total_module_size): Likewise.
43109 Include grub/machine/kernel.h.
43110 (grub_arch_modules_addr): New function.
43111 * util/grub-emu.c (grub_end_addr): Remove variable.
43112 (grub_total_module_size): Likewise.
43113 (grub_arch_modules_addr): New function.
43114 * util/misc.c: Include unistd.h.
43115 (grub_util_get_fp_size): New function.
43116 (grub_util_read_at): Likewise.
43117 (grub_util_write_image_at): Likewise.
43118 (grub_util_read_image): Call grub_util_read_at.
43119 (grub_util_write_image): Call grub_util_write_image_at.
43120 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43121 additional memory in kernel_img for a struct grub_module_info.
43122 Fill in that grub_module_info.
43123 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43124
458786f8 431252005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43126
43127 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43128 New function.
43129 * include/grub/powerpc/ieee1275/ieee1275.h
43130 (grub_ieee1275_milliseconds): New prototype.
43131 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43132 Change to 1000.
43133 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43134 grub_ieee1275_milliseconds.
43135
ac507d1b 431362005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43137
43138 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43139 variable.
43140 (find_options): New function.
43141 (cmain): Call find_options.
43142 * include/grub/powerpc/ieee1275/ieee1275.h
43143 (grub_ieee1275_realmode): New extern variable.
43144 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43145 grub_map if grub_ieee1275_realmode is false.
43146
6b8fd1c4 431472004-12-29 Marco Gerards <metgerards@student.han.nl>
43148
43149 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43150 lines are inserted and make it work like readline. Reported by
43151 Vincent Pelletier <subdino2004@yahoo.fr>.
43152
8514a1e0 431532004-12-28 Marco Gerards <metgerards@student.han.nl>
43154
43155 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43156
43157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43158 `kern/powerpc/cache.S'.
43159
924b6140 431602004-12-27 Marco Gerards <metgerards@student.han.nl>
43161
43162 * genmk.rb: Handle the `Program' class in the main loop. Written
43163 by Johan Rydberg <jrydberg@gnu.org>.
43164 (Program): New class.
43165 (programs): New variable.
43166 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43167 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43168 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43169 (help_arch): Function removed.
43170 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43171 `powerpc/libgcc.h' and `loader.h'.
43172 (pkgdata_PROGRAMS): New variable.
43173 (sbin_UTILITIES): Variable removed.
43174 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43175 (grubof_SOURCES): Variable re-defined so it only includes the
43176 core functionality.
43177 (grubof_CFLAGS): Remove `-DGRUBOF'.
43178 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43179 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43180 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43181 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43182 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43183 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43184 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43185 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43186 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43187 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43188 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43189 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43190 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43191 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43192 (pc_mod_CFLAGS): New variables.
43193 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43194 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43195 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43196 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43197 Moved from here...
43198 * include/grub/i386/pc/init.h (grub_os_area_addr)
43199 (rub_os_area_size): ... to here.
43200 * include/grub/powerpc/ieee1275/ieee1275.h
43201 (grub_ieee1275_entry_fn): Export symbol.
43202 * include/grub/powerpc/ieee1275/init.h: New file.
43203 * include/grub/powerpc/libgcc.h: Likewise.
43204 * include/grub/cache.h: Likewise.
43205 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43206 <hollis@penguinppc.org>.
43207 * kern/dl.c: Include <grub/cache.h>.
43208 (grub_dl_flush_cache): New function.
43209 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43210 for this module.
43211 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43212 (grub_console_init): Removed prototypes.
43213 (grub_machine_init): Don't initialize the modules anymore.
43214 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43215 static.
43216 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43217 Macro undef removed.
43218 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43219 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43220 relocation `R_PPC_REL32'. Return an error when the relocation is
43221 unknown.
43222 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43223 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43224 * util/misc.c (grub_arch_sync_caches): Likewise.
43225
e4b47e0c 432262004-12-19 Marco Gerards <metgerards@student.han.nl>
43227
43228 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43229 `symlist.c', add `grubof_symlist.c'.
43230 (symlist.c): Variable removed.
43231 (grubof_HEADERS): Variable added.
43232 (grubof_symlist.c): New target.
43233 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43234 `kernel_img_HEADERS'.
43235 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43236 * kern/powerpc/dl.c: New file.
43237 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43238 Function removed.
43239 (grub_arch_dl_relocate_symbols): Likewise.
43240 (grub_register_exported_symbols): Likewise.
43241
4ceb3636 432422004-12-13 Marco Gerards <metgerards@student.han.nl>
43243
43244 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43245 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43246 to fail instead. Reported by Vincent Pelletier
43247 <subdino2004@yahoo.fr>.
43248
43249 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43250 it is not allocated. Reported by Vincent Pelletier
43251 <subdino2004@yahoo.fr>.
43252
43253 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43254 output so the output looks better.
f19dbdb7 43255
3f1578fe 432562004-12-04 Marco Gerards <metgerards@student.han.nl>
43257
43258 Modulize the partition map support and add support for the amiga
43259 partition map.
f19dbdb7 43260
3f1578fe 43261 * commands/ls.c: Include <grub/partition.h> instead of
43262 <grub/machine/partition.h>.
43263 * kern/disk.c: Likewise.
43264 * kern/rescue.c: Likewise.
43265 * loader/i386/pc/chainloader.c: Likewise.
43266 * normal/cmdline.c: Likewise.
43267 * kern/powerpc/ieee1275/init.c: Likewise.
43268 (grub_machine_init): Call `grub_pc_partition_map_init',
43269 `grub_amiga_partition_map_init' and
43270 `grub_apple_partition_map_init'.
43271 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43272 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43273 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43274 `partition.h' and `pc_partition.h'.
43275 (grub_setup_SOURCES): Remove
43276 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43277 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43278 (grub_emu_SOURCES): Likewise.
43279 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43280 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43281 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43282 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43283 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43284 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43285 (grubof_SOURCES): Likewise.
43286 * disk/i386/pc/partition.c: File removed.
43287 * disk/powerpc/ieee1275/partition.c: Likewise.
43288 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43289 * include/grub/i386/pc/partition.h: Likewise.
43290 * kern/partition.c: New file.
43291 * partmap/amiga.c: Likewise.
43292 * partmap/apple.c: Likewise.
43293 * partmap/pc.c: Likewise.
43294 * include/grub/partition.h: Likewise..
43295 * include/grub/pc_partition.h: Likewise.
43296 * util/grub-emu.c: Include <grub/partition.h> instead of
43297 <grub/machine/partition.h>.
43298 (main): Call `grub_pc_partition_map_init',
43299 `grub_amiga_partition_map_init' and
43300 `grub_apple_partition_map_init' and deinitialize afterwards.
43301 * util/i386/pc/biosdisk.c: Include `#include
43302 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43303 `<grub/machine/partition.h>'.
43304 * util/i386/pc/grub-setup.c: Likewise.
43305 * util/i386/pc/biosdisk.c: Likewise.
43306 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43307 partition information in case of a PC partition.
43308 * util/i386/pc/grub-setup.c: Include `#include
43309 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43310 `<grub/machine/partition.h>'.
43311 (setup): Only access the PC specific partition information in case
43312 of a PC partition.
43313
0ef4ced9 433142004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43315
0ef4ced9 43316 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43317 (grub_longjmp): Likewise.
43318 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43319 20.
43320 * normal/powerpc/setjmp.S: New file.
43321 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43322 `normal/powerpc/setjmp.S'.
43323 (grubof_CFLAGS): Add `-DGRUBOF'.
43324 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43325 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43326
19950e29 433272004-11-16 Marco Gerards <metgerards@student.han.nl>
43328
43329 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43330 property named `name'. Correctly handle the error returned by
43331 `grub_ieee1275_finddevice' if a device can not be opened.
43332
a2fea427 433332004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43334
43335 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43336 `actual' for negativity.
43337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43338 kern/fshelp.c.
43339
41ea0ea3 433402004-11-01 Marco Gerards <metgerards@student.han.nl>
43341
43342 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43343 (PAGE_OFFSET): New macro.
43344 (CRTC_ADDR_PORT): Likewise.
43345 (CRTC_DATA_PORT): Likewise.
43346 (START_ADDR_HIGH_REGISTER): Likewise.
43347 (START_ADDR_LOW_REGISTER): Likewise.
43348 (GRAPHICS_ADDR_PORT): Likewise.
43349 (GRAPHICS_DATA_PORT): Likewise.
43350 (READ_MAP_REGISTER): Likewise.
43351 (INPUT_STATUS1_REGISTER): Likewise.
43352 (INPUT_STATUS1_VERTR_BIT): Likewise.
43353 (page): New variable.
43354 (wait_vretrace): New function.
43355 (set_read_map): Likewise.
43356 (set_start_address): Likewise.
43357 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43358 the right page.
43359 (check_vga_mem): Take the page into account.
43360 (write_char): Likewise.
43361 (write_cursor): Likewise.
43362 (scroll_up): Likewise. Copy the page to the page that is not
43363 shown and switch between both pages.
43364 (grub_vga_putchar): Fix off by one error.
43365 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43366 account.
43367
ad0bd20b 433682004-11-01 Marco Gerards <metgerards@student.han.nl>
43369
43370 Add support for iso9660 (including rockridge).
f19dbdb7 43371
ad0bd20b 43372 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43373 (iso9660_mod_SOURCES): New variable.
43374 (iso9660_mod_CFLAGS): Likewise.
43375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43376 * include/grub/fs.h (grub_iso9660_init): New prototype.
43377 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43378 * fs/iso9660.c: New file.
43379
43380 * include/grub/misc.h (grub_strncat): New prototype.
43381 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43382
ad0bd20b 43383 * fs/hfs.c (grub_hfs_mount): Translate the error
43384 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43385 * fs/jfs.c (grub_jfs_mount): Likewise.
43386 * fs/ufs.c (grub_ufs_mount): Likewise.
43387
a5477a59 433882004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43389
43390 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43391 which initialized BAT registers.
43392 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43393 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43394 Move from here...
43395 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43396 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43397 ... to here.
43398 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43399 (grub_mapclaim): Likewise.
43400 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43401 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43402 hand.
43403
9304c1f8 434042004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43405
43406 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43407 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43408 -ffreestanding and -msoft-float.
43409
86f4ae25 434102004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43411
43412 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43413 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43414 set in grub_ieee1275_flags.
43415
38912228 434162004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43417
43418 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43419 prototype.
43420 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43421 grub_console_init first.
43422 Change the memory range used for grub_ieee1275_claim and
43423 grub_mm_init_region.
43424 Print an error message if the claim fails.
43425 Include <grub/misc.h>.
43426
d1923dc8 434272004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43428
43429 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43430 Call grub_children_iterate for device nodes of type `scsi',
43431 `ide', or `ata'.
43432 (grub_ofdisk_open): Remove manual device alias resolution.
43433 Fix memory leak when device cannot be opened.
f19dbdb7 43434 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43435 (grub_children_iterate): New prototype.
43436 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43437 New function.
43438 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43439 Return -1 if args.size was -1.
43440
4512e4f3 434412004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43442
43443 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43444 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43445 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43446 Open Firmware's memory for it; claim memory from _start to _end.
43447 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43448 (_end): New extern.
43449 (_start): Zero BSS from __bss_start to _end.
43450 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43451 New extern.
43452 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43453
4d61feb0 434542004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43455
ad0bd20b 43456 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43457 -1 if args.base was -1.
4d61feb0 43458
026fa2f9 434592004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43460
43461 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43462 escape sequence instead of a literal ^L. Also call
43463 grub_ofconsole_gotoxy.
43464
9f2220ef 434652004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43466
43467 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43468 void * arguments to grub_addr_t. All callers updated. Also make
43469 the `result' argument optional.
43470 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43471 All callers updated.
43472
8a572cd7 434732004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43474
43475 * commands/ls.c (grub_ls_list_files): Use the string following the
43476 initial ')', if present, as the filesystem path.
43477 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43478
43479 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43480
18aa81f2 434812004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43482
43483 Make the source code of the menu interface more readable.
f19dbdb7 43484
18aa81f2 43485 * normal/menu.c: Include grub/mm.h.
43486 (TERM_WIDTH): New macro.
43487 (TERM_HEIGHT): Likewise.
43488 (TERM_INFO_HEIGHT): Likewise.
43489 (TERM_MARGIN): Likewise.
43490 (TERM_SCROLL_WIDTH): Likewise.
43491 (TERM_TOP_BORDER_Y): Likewise.
43492 (TERM_LEFT_BORDER_X): Likewise.
43493 (TERM_BORDER_WIDTH): Likewise.
43494 (TERM_MESSAGE_HEIGHT): Likewise.
43495 (TERM_BORDER_HEIGHT): Likewise.
43496 (TERM_NUM_ENTRIES): Likewise.
43497 (TERM_FIRST_ENTRY_Y): Likewise.
43498 (TERM_ENTRY_WIDTH): Likewise.
43499 (TERM_CURSOR_X): Likewise.
43500 (draw_border): Use macros instead of magic numbers.
43501 (print_entry): Likewise.
43502 (print_entries): Likewise.
43503 (run_menu): Likewise. Also, handle the key 'e'.
43504 (run_menu_entry): Ignore empty command lines.
43505 (print_message): Added a new argument EDIT. If EDIT is true,
43506 print a different message.
43507 (init_page): Likewise.
43508 (edit_menu_entry): New function. Not implemented yet.
43509
b47efe30 435102004-09-17 Marco Gerards <metgerards@student.han.nl>
43511
43512 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43513 can be loaded from normal mode.
f19dbdb7 43514
b47efe30 43515 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43516 `multiboot.mod'.
43517 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43518 (multiboot_mod_CFLAGS): New variables.
43519 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43520 * loader/i386/pc/multiboot_normal.c: Likewise.
43521
b47efe30 43522 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43523 attribute `unused'.
f19dbdb7 43524
b47efe30 43525 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43526 `fdiro' to read the mode information from instead of `diro'.
43527
43528 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43529 looking up a symlink.
43530
43531 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43532 macro.
43533 * normal/command.c (grub_command_execute): Don't parse the
43534 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43535 flags of the command.
43536
43537 * normal/menu.c (grub_menu_run): Fix typo.
43538
da75ac71 435392004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43540
43541 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43542
43543 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43544 `y + 1' instead of `y - 1'.
43545
43546 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43547
062b24c2 435482004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43549
43550 From Hollis Blanchard <hollis@penguinppc.org>:
43551 * kern/misc.c (memmove): New alias for grub_memmove.
43552 (memcmp): New alias for grub_memcmp.
43553 (memset): New alias for grub_memset.
f19dbdb7 43554 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43555 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43556 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43557 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43558
8ddad845 435592004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43560
43561 Added normal mode command `chainloader' as module chain.mod, which
43562 depends on normal.mod and _chain.mod.
f19dbdb7 43563
8ddad845 43564 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43565 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43566 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43567 Deleted prototype.
43568 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43569 but arguments parsing moved to ...
43570 (grub_chainloader_cmd): ... here. New function.
43571 * include/grub/i386/pc/chainloader.h: New file.
43572 * loader/i386/pc/chainloader_normal.c: Likewise.
43573
2c1f4ce3 435742004-09-11 Marco Gerards <metgerards@student.han.nl>
43575
43576 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43577 (grub_mkimage_LDFLAGS): Likewise.
43578 (grub_emu_SOURCES): Likewise.
43579 (kernel_img_HEADERS): Added fshelp.h.
43580 * fs/ext2.c: Include <grub/fshelp.h>.
43581 (FILETYPE_REG): New macro.
43582 (FILETYPE_INO_REG): Likewise.
43583 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43584 Changed all users.
43585 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43586 all users.
43587 (grub_fshelp_node): New struct.
43588 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43589 to a pointer.
43590 (grub_ext2_get_file_block): Removed function.
43591 (grub_ext2_read_block): New function.
43592 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43593 This function was written.
43594 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43595 (grub_ext2_find_file): Removed function.
43596 (grub_ext2_read_symlink): New function.
43597 (grub_ext2_iterate_dir): Likewise.
43598 (grub_ext2_open): Rewritten.
43599 (grub_ext2_dir): Rewritten.
43600 * include/grub/fshelp.h: New file.
43601 * fs/fshelp.c: Likewise.
43602
3c52136a 436032004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43604
43605 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43606 (print_message): Add a missing newline.
43607 (run_menu): Added timeout support.
43608 (run_menu_entry): New local function.
43609 (grub_menu_run): Added support for booting.
43610
43611 * kern/loader.c (grub_loader_is_loaded): New function.
43612
43613 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43614 (grub_get_rtc): Exported.
43615
43616 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43617 (grub_get_rtc): Exported.
43618
43619 * include/grub/normal.h (struct grub_command_list): Remove
43620 constant from the member `command'.
43621
43622 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43623
43624 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43625
43626 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43627
aa033560 436282004-08-28 Marco Gerards <metgerards@student.han.nl>
43629
43630 Add support for the JFS filesystem.
43631
43632 * fs/jfs.c: New file.
43633 * include/grub/fs.h (grub_jfs_init): New prototype.
43634 (grub_jfs_fini): New prototype.
43635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43636 (grub_emu_SOURCES): Likewise.
43637 (pkgdata_MODULES): Add jfs.mod.
43638 (jfs_mod_SOURCES): New variable.
43639 (jfs_mod_CFLAGS): Likewise.
43640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43641 (grubof_SOURCES): Likewise.
43642 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43643
43644 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43645 endian to the host endian.
43646 (grub_fat_utf16_to_utf8): Move function from there...
43647 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43648 the endianness of the source string anymore.
aa033560 43649 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43650
94bc45af 436512004-08-24 Marco Gerards <metgerards@student.han.nl>
43652
43653 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43654 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43655 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43656 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43657
94bc45af 43658 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43659 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43660 for `node_found' and `it_dir'.
43661 (grub_hfs_dir): Add prototype for `dir_hook'.
43662
43663 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43664 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43665 and `indir32' to silence a gcc warning.
43666
43667 * include/grub/fs.h (grub_hfs_init): New prototype.
43668 (grub_hfs_fini): Likewise.
f19dbdb7 43669
43670
97543f08 436712004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43672
43673 Each disk device has its own id now. This is useful to make use
43674 of multiple disk devices.
f19dbdb7 43675
97543f08 43676 * include/grub/disk.h (grub_disk_dev_id): New enum.
43677 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43678 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43679
43680 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43681 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43682
43683 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43684 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43685
43686 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43687 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43688
43689 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43690 "id" which is used by the cache manager.
43691
43692 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43693 of just "GRUB".
43694
64372eb4 436952004-08-18 Marco Gerards <metgerards@student.han.nl>
43696
43697 * fs/hfs.c: New file.
43698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43699 (grub_emu_SOURCES): Likewise.
43700 (pkgdata_MODULES): Add hfs.mod.
43701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43702 (grubof_SOURCES): Likewise.
43703 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43704
43705 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43706 * kern/misc.c (grub_strncasecmp): Add function.
43707
cc61b58f 437082004-08-14 Marco Gerards <metgerards@student.han.nl>
43709
43710 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43711 with parentheses.
43712
43713 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43714 (grub_ext2_dir): In case the directory entry type is unknown, read
43715 it from the inode.
43716
0ef123f6 437172004-08-02 Peter Bruin <pjbruin@dds.nl>
43718
43719 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43720 grub_load_linux instead of grub_rescue_cmd_linux as second
43721 argument of grub_rescue_register_command.
43722
43723 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43724
a447c5df 437252004-07-27 Marco Gerards <metgerards@student.han.nl>
43726
43727 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43728 function.
43729 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43730 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43731 `loader/powerpc/ieee1275/linux.c',
43732 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43733 * include/grub/powerpc/ieee1275/ieee1275.h
43734 (grub_ieee1275_release): New prototype.
43735 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43736 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43737 normal, boot, linux and linux_normal.
43738 * loader/powerpc/ieee1275/linux.c: New file.
43739 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43740
5a9e3546 437412004-07-12 Marco Gerards <metgerards@student.han.nl>
43742
43743 * normal/arg.c (grub_arg_parse): Correct error handling after
43744 reallocating the argumentlist (check if `argl' is not null instead
43745 of checking if `args' is not null).
43746 * kern/mm.c (grub_realloc): Return the same pointer when using the
43747 same region, instead of returning the header address.
43748
e15199cb 437492004-07-11 Marco Gerards <metgerards@student.han.nl>
43750
43751 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43752 one block instead of two when looking for the initial partition.
43753 (grub_partition_probe): Initialize the local variable `p' with 0.
43754 Use base 10 for the grub_strtoul call.
43755 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43756 need for one local variable.
43757 (grub_strtoul): Don't add the new value to `num', instead of that
43758 just assign it.
43759
020616c2 437602004-07-11 Marco Gerards <metgerards@student.han.nl>
43761
43762 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43763 (pxeboot_img_SOURCES): New variable.
43764 (pxeboot_img_ASFLAGS): Likewise.
43765 (pxeboot_img_LDFLAGS): Likewise.
43766 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43767 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43768 <lode_leroy@hotmail.com>.
43769
6c51eb64 437702004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43771
43772 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43773 there was no input.
43774
cfb12aff 437752004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43776
43777 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43778 the history buffer logic.
43779
6eabba74 437802004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43781
43782 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43783 (FILETYPE_INO_SYMLINK): New macros.
43784 (grub_ext2_find_file): Check if the node is a directory using the
43785 inode stat information instead of using the filetype in the
43786 dirent. Exclude the first character of an absolute symlink.
43787 (grub_ext2_dir): Mask out the filetype part of the mode member of
43788 the inode.
43789
66e19ef8 437902004-05-24 Marco Gerards <metgerards@student.han.nl>
43791
43792 Add support for UFS version 1 and 2. Add support for the minix
43793 filesystem version 1 and 2, both the variants with 14 and 30 long
43794 filenames.
f19dbdb7 43795
66e19ef8 43796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43797 fs/minix.c.
43798 (grub_emu_SOURCES): Likewise.
43799 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43800 (ufs_mod_SOURCES): New variable.
43801 (ufs_mod_CFLAGS): Likewise.
43802 (minix_mod_SOURCES): Likewise.
43803 (minix_mod_CFLAGS): Likewise.
43804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43805 fs/minix.c.
43806 (grubof_SOURCES): Likewise.
43807 * fs/ufs.c: New file.
43808 * fs/minix.c: New file.
43809 * include/grub/fs.h (grub_ufs_init): New prototype.
43810 (grub_ufs_fini): Likewise.
43811 (grub_minix_init): Likewise.
43812 (grub_minix_fini): Likewise.
43813 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43814 minix fs.
43815
cc2e748a 438162004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43817
43818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43819 commands/ls.c, commands/terminal.c, commands/boot.c,
43820 commands/cmp.c and commands/cat.c.
43821 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43822
43823 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43824 "env.h"
43825
4b13b216 438262004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43827
43828 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43829 and grub_, respectively. Because the conversion is trivial and
43830 mechanical, I omit the details here. Please refer to the CVS
43831 if you need more information.
43832
6a142551 438332004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43834
43835 * include/pupa: Renamed to ...
43836 * include/grub: ... this.
43837 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43838 * util/i386/pc/grub-mkimage.c: ... this.
43839 * util/i386/pc/pupa-setup.c: Renamed to ...
43840 * util/i386/pc/grub-setup.c: ... this.
43841 * util/pupa-emu.c: Renamed to ...
43842 * util/grub-emu.c: ... this.
43843
e56cdf21 438442004-03-29 Marco Gerards <metgerards@student.han.nl>
43845
43846 Add support for the newworld apple macintosh (PPC). This has been
43847 tested on the powerbook 2000 only. It only adds support for
43848 generic ieee1275 functions, console and disk support. This should
43849 be easy to port to other architectures with support for Open
43850 Firmware.
f19dbdb7 43851
e56cdf21 43852 * configure.ac: Accept the powerpc as host_cpu. In the case of
43853 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43854 specific tests are only executed while building for the i386.
43855 Inverse test for crosscompile.
43856 * genmk.rb (Utility): Allow assembler files.
43857 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43858 * conf/powerpc-ieee1275.rmk: New file.
43859 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43860 * disk/powerpc/ieee1275/partition.c: Likewise.
43861 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43862 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43863 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43864 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43865 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43866 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43867 * include/pupa/powerpc/ieee1275/loader.h
43868 * include/pupa/powerpc/setjmp.h: Likewise.
43869 * include/pupa/powerpc/types.h: Likewise.
43870 * kern/powerpc/ieee1275/init.c: Likewise.
43871 * kern/powerpc/ieee1275/openfw.c: Likewise.
43872 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43873
43874 These files were written by Johan Rydberg
43875 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43876
e56cdf21 43877 * boot/powerpc/ieee1275/cmain.c: New file.
43878 * boot/powerpc/ieee1275/crt0.S: Likewise.
43879 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43880 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43881
8c8cc205 438822004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43883
43884 * Makefile.in: Update copyright.
43885 * genmodsrc.sh: Likewise.
43886 * gensymlist.sh: Likewise.
43887 * term/i386/pc/vga.c: Indent correctly.
43888
43889 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43890 bugreporting address.
43891 * util/i386/pc/pupa-setup.c (usage): Likewise,
43892 (main): Call pupa_ext2_init and pupa_ext2_fini.
43893
f19dbdb7 43894 * fs/fat.c (log2): Renamed to ...
8c8cc205 43895 (fat_log2): ... this.
43896 All callers changed.
43897 * kern/misc.c (memcpy): Alias to pupa_memmove.
43898 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43899 lvalue cast.
43900 * util/console.c (pupa_ncurses_fini): Return 0.
43901
43902 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43903 Move fail label here.
43904 [__GNU__]: Don't warn when using stat.
43905 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43906 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43907 long int. Use strtol instead of strtoul.
f19dbdb7 43908
db1771cf 439092004-03-14 Marco Gerards <metgerards@student.han.nl>
43910
43911 * commands/boot.c: New file.
43912 * commands/cat.c: Likewise.
43913 * commands/cmp.c: Likewise.
43914 * commands/ls.c: Likewise.
43915 * commands/terminal.c: Likewise.
43916 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43917 (pupa_register_command): Changed interface to match the new
43918 argument parser.
43919 (pupa_command_execute): Changed (almost rewritten) so it uses
43920 pupa_split_command. Added support for setting variables using the
43921 syntax `foo=bar'.
43922 (rescue_command): Changed to work with the new argument parser.
43923 (terminal_command): Moved from here to commands/terminal.c.
43924 (set_command): New function.
43925 (unset_command): New function.
43926 (insmod_command): New function.
43927 (rmmod_command): New function.
43928 (lsmod_command): New function.
43929 (pupa_command_init): Don't initialize the command terminal
43930 anymore. Initialize the commands set, unset, insmod, rmmod and
43931 lsmod.
43932 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43933 (kernel_img_HEADERS): Add arg.h and env.h.
43934 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43935 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43936 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43937 normal/arg.c.
43938 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43939 terminal.mod.
43940 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43941 (boot_mod_SOURCES): New variable.
43942 (terminal_mod_SOURCES): Likewise.
43943 (ls_mod_SOURCES): Likewise.
43944 (cmp_mod_SOURCES): Likewise.
43945 (cat_mod_SOURCES): Likewise.
43946
43947 * normal/arg.c: New file.
43948 * kern/env.c: Likewise.
43949 * include/pupa/arg.h: Likewise.
43950 * include/pupa/env.h: Likewise.
43951 * font/manager.c (font_command): Changed to match argument parsing
43952 interface changes.
43953 (PUPA_MOD_INIT): Likewise.
43954 * hello/hello.c (pupa_cmd_hello): Likewise.
43955 (PUPA_MOD_INIT): Likewise.
43956 * include/pupa/disk.h: Include <pupa/device.h>.
43957 (pupa_print_partinfo): New prototype.
43958 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43959 (pupa_dl_get_prefix): Likewise.
43960 * include/pupa/misc.h: Include <pupa/err.h>.
43961 (pupa_isgraph): New prototype.
43962 (pupa_isdigit): Likewise.
43963 (pupa_split_cmdline): Likewise.
43964 * include/pupa/normal.h: Include <pupa/arg.h>.
43965 (pupa_command): Changed the prototype of the member `func' to
43966 match the argument parsing interface. Added member `options'.
43967 (pupa_register_command): Updated to match function.
43968 (pupa_arg_parse): New prototype.
43969 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43970 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43971 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43972 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43973 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43974 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43975 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43976 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43977 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43978 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43979 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43980 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43981 * kern/disk.c: Include <pupa/file.h>.
43982 (pupa_print_partinfo): New function.
43983 * kern/dl.c: Include <pupa/env.h>.
43984 (pupa_dl_dir): Variable removed.
43985 (pupa_dl_load): Use the environment variable `prefix' instead of
43986 the variable pupa_dl_dir.
43987 (pupa_dl_set_prefix): Function removed.
43988 (pupa_dl_get_prefix): Likewise.
43989 * kern/i386/pc/init.c: Include <pupa/env.h>.
43990 (pupa_machine_init): Use the environment variable `prefix' instead of
43991 using pupa_dl_set_prefix to set the prefix.
43992 * kern/main.c: Include <pupa/env.h>.
43993 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43994 using pupa_dl_get_prefix to get the prefix.
43995 * kern/misc.c: Include <pupa/env.h>.
43996 (pupa_isdigit): New function.
43997 (pupa_isgraph): Likewise.
43998 (pupa_ftoa): Likewise.
43999 (pupa_vsprintf): Added support for printing values of the type
44000 `double'. Make it possible to format variable output when using
44001 formatting like `%1.2%f'.
44002 (pupa_split_cmdline): New function.
44003 * kern/rescue.c: Include <pupa/env.h>.
44004 (next_word): Removed function.
44005 (pupa_rescue_cmd_prefix): Likewise.
44006 (pupa_rescue_cmd_set): New function.
44007 (pupa_rescue_cmd_unset): New function.
44008 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44009 split the command line instead of splitting it here. Added
44010 support for setting variables using the syntax `foo=bar'. Don't
44011 initialize the prefix command anymore. Initialized the set and
44012 unset commands.
44013 * normal/cmdline.c: Include <pupa/env.h>.
44014 (pupa_tab_complete): Added prototypes for print_simple_completion,
44015 print_partition_completion, add_completion, iterate_commands,
44016 iterate_dev, iterate_part and iterate_dir. Moved code to print
44017 partition information from here to kern/disk.c.
fe6b695a 44018 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44019 * normal/main.c: Include <pupa/env.h>.
44020 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44021 instead of using pupa_dl_get_prefix to get the prefix.
44022 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44023 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44024 warning.
44025 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44026 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44027 ((unused))' to silence a gcc warning.
44028 (pupa_vga_setcolor): Likewise.
44029 (debug_command): Changed to match argument parsing
44030 interface changes.
44031 * util/pupa-emu.c: Include <pupa/env.h>.
44032 (options): Added 0's for unused fields to silence a gcc warning.
44033 (argp): Likewise.
44034 (main): Use the environment variable `prefix' instead of using
44035 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44036 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44037 and terminal.
44038
44039 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44040 * util/misc.c: Include <malloc.h>.
44041 (pupa_malloc): Rewritten so errors are correctly reported.
44042 (pupa_realloc): Likewise.
44043 (pupa_memalign): Likewise.
44044 (pupa_mm_init_region): Declare unused variables with
44045 `__attribute__ ((unused))' to silence a gcc warning.
44046 * normal/i386/setjmp.S: Remove tab at the end of the file to
44047 silence a gcc warning.
44048 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44049 variables with `__attribute__ ((unused))' to silence a gcc
44050 warning.
44051 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44052 local variable i unsigned to silence a gcc warning.
44053
44054 * kern/term.c: Include <pupa/misc.h>.
44055 (pupa_more_lines): New variable.
44056 (pupa_more): Likewise.
44057 (pupa_putcode): When the pager is active pause at the end of every
44058 screen.
44059 (pupa_set_more): New function.
44060 * include/pupa/term.h (pupa_set_more): New prototype.
44061
44062
3b1139cb 440632004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44064
44065 Now this project is GRUB 2 rather than PUPA. The location of
44066 the CVS repository was moved to GRUB's.
f19dbdb7 44067
3b1139cb 44068 * configure.ac: Use bug-grub as the reporting address.
44069 Use GRUB instead of PUPA.
44070 Change the version number to 1.90.
44071
8367695c 440722004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44073
44074 * genkernsyms.sh: Updated copyright information.
44075 * genmk.rb: Likewise.
44076 * genmodsrc.sh: Likewise.
44077 * gensymlist.sh: Likewise.
44078 * boot/i386/pc/boot.S: Likewise.
44079 * boot/i386/pc/diskboot.S: Likewise.
44080 * disk/i386/pc/biosdisk.c: Likewise.
44081 * disk/i386/pc/partition.c: Likewise.
44082 * font/manager.c: Likewise.
44083 * fs/ext2.c: Likewise.
44084 * fs/fat.c: Likewise.
44085 * include/pupa/boot.h: Likewise.
44086 * include/pupa/device.h: Likewise.
44087 * include/pupa/disk.h: Likewise.
44088 * include/pupa/dl.h: Likewise.
44089 * include/pupa/elf.h: Likewise.
44090 * include/pupa/err.h: Likewise.
44091 * include/pupa/file.h: Likewise.
44092 * include/pupa/font.h: Likewise.
44093 * include/pupa/fs.h: Likewise.
44094 * include/pupa/kernel.h: Likewise.
44095 * include/pupa/loader.h: Likewise.
44096 * include/pupa/misc.h: Likewise.
44097 * include/pupa/mm.h: Likewise.
44098 * include/pupa/net.h: Likewise.
44099 * include/pupa/normal.h: Likewise.
44100 * include/pupa/rescue.h: Likewise.
44101 * include/pupa/setjmp.h: Likewise.
44102 * include/pupa/symbol.h: Likewise.
44103 * include/pupa/term.h: Likewise.
44104 * include/pupa/types.h: Likewise.
44105 * include/pupa/i386/setjmp.h: Likewise.
44106 * include/pupa/i386/types.h: Likewise.
44107 * include/pupa/i386/pc/biosdisk.h: Likewise.
44108 * include/pupa/i386/pc/boot.h: Likewise.
44109 * include/pupa/i386/pc/console.h: Likewise.
44110 * include/pupa/i386/pc/init.h: Likewise.
44111 * include/pupa/i386/pc/kernel.h: Likewise.
44112 * include/pupa/i386/pc/linux.h: Likewise.
44113 * include/pupa/i386/pc/loader.h: Likewise.
44114 * include/pupa/i386/pc/memory.h: Likewise.
44115 * include/pupa/i386/pc/multiboot.h: Likewise.
44116 * include/pupa/i386/pc/partition.h: Likewise.
44117 * include/pupa/i386/pc/time.h: Likewise.
44118 * include/pupa/i386/pc/vga.h: Likewise.
44119 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44120 * include/pupa/util/getroot.h: Likewise.
44121 * include/pupa/util/misc.h: Likewise.
44122 * include/pupa/util/resolve.h: Likewise.
44123 * kern/device.c: Likewise.
44124 * kern/disk.c: Likewise.
44125 * kern/dl.c: Likewise.
44126 * kern/err.c: Likewise.
44127 * kern/file.c: Likewise.
44128 * kern/fs.c: Likewise.
44129 * kern/loader.c: Likewise.
44130 * kern/main.c: Likewise.
44131 * kern/misc.c: Likewise.
44132 * kern/mm.c: Likewise.
44133 * kern/rescue.c: Likewise.
44134 * kern/term.c: Likewise.
44135 * kern/i386/dl.c: Likewise.
44136 * kern/i386/pc/init.c: Likewise.
44137 * kern/i386/pc/lzo1x.S: Likewise.
44138 * kern/i386/pc/startup.S: Likewise.
44139 * loader/i386/pc/chainloader.c: Likewise.
44140 * loader/i386/pc/linux.c: Likewise.
44141 * loader/i386/pc/multiboot.c: Likewise.
44142 * normal/cmdline.c: Likewise.
44143 * normal/command.c: Likewise.
44144 * normal/main.c: Likewise.
44145 * normal/menu.c: Likewise.
44146 * normal/i386/setjmp.S: Likewise.
44147 * term/i386/pc/console.c: Likewise.
44148 * term/i386/pc/vga.c: Likewise.
44149 * util/console.c: Likewise.
44150 * util/genmoddep.c: Likewise.
44151 * util/misc.c: Likewise.
44152 * util/pupa-emu.c: Likewise.
44153 * util/resolve.c: Likewise.
44154 * util/unifont2pff.rb: Likewise.
44155 * util/i386/pc/biosdisk.c: Likewise.
44156 * util/i386/pc/getroot.c: Likewise.
44157 * util/i386/pc/pupa-mkimage.c: Likewise.
44158 * util/i386/pc/pupa-setup.c: Likewise.
44159
e6eced71 441602004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44161
44162 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44163 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44164 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44165 reading and reset it after reading.
44166 (pupa_ext2_close): Return PUPA_ERR_NONE.
44167
44168 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44169 Correct value.
44170 (struct linux_kernel_header): Add kernel_version and
44171 initrd_addr_max.
44172 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44173 pupa_file_read succeeds.
44174 (pupa_rescue_cmd_initrd): Implement.
44175
5aded270 441762003-12-03 Marco Gerards <metgerards@student.han.nl>
44177
44178 * fs/ext2.c (pupa_ext2_label): New function.
44179 (pupa_ext2_fs): Added label.
44180 * fs/fat.c (pupa_fat_label): New function.
44181 (pupa_fat_fs): Added label.
44182 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44183
44184 * kern/misc.c (pupa_strndup): New function.
44185 * include/pupa/misc.h (pupa_strndup): New prototype.
44186
44187 * include/pupa/normal.h: Include <pupa/err.h>.
44188 (pupa_set_history): New prototype.
44189 (pupa_iterate_commands): New prototype.
44190 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44191 <pupa/disk.h>, <pupa/file.h>.
44192 (hist_size): New variable.
44193 (hist_lines): Likewise.
44194 (hist_end): Likewise.
44195 (hist_used): Likewise.
44196 (pupa_set_history): New function.
44197 (pupa_history_get): Likewise.
44198 (pupa_history_add): Likewise.
44199 (pupa_history_replace): Likewise.
44200 (pupa_tab_complete): Likewise.
44201 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44202 completion shows partitionnames while completing partitions, this
44203 feature was suggested by Jeff Bailey.
44204 * normal/command.c (pupa_iterate_commands): New function.
44205 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44206 (pupa_normal_init): Initialize history buffer.
44207 (PUPA_MOD_INIT): Likewise.
44208 (pupa_normal_fini): Free the history buffer.
44209 (PUPA_MOD_FINI): Likewise.
44210
44211 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44212 key.
44213
44214 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44215 * configure.ac [i386]: Check for regparam bug.
44216 (NESTED_FUNC_ATTR) [! i386]: Defined.
44217
1f7315a3 442182003-11-17 Marco Gerards <metgerards@student.han.nl>
44219
44220 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44221 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44222 (pupa_emu_SOURCES): New variable.
44223 (pupa_emu_LDFLAGS): Likewise.
44224 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44225 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44226 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44227 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44228 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44229 (pupa_jmp_buf): New typedef.
44230 (pupa_setjmp) [PUPA_UTIL]: New macro.
44231 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44232 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44233 (pupa_refresh): New prototype.
44234 * include/pupa/util/getroot.h: New file.
44235 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44236 it.
44237 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44238 (pupa_rescue_cmd_cat): Likewise.
44239 (pupa_rescue_cmd_ls): Likewise.
44240 (pupa_rescue_cmd_testload): Likewise.
44241 (pupa_rescue_cmd_lsmod): Likewise.
44242 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44243 * normal/menu.c (run_menu): Likewise.
44244 * kern/term.c (pupa_cls): Likewise.
44245 (pupa_refresh): New function.
44246 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44247 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44248 * util/console.c: New file.
f19dbdb7 44249
1f7315a3 44250 * util/i386/pc/getroot.c: New file.
44251 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44252 (pupa_putchar): New function.
44253 (pupa_refresh): Likewise.
44254 (xgetcwd): Function moved to ...
44255 (strip_extra_slashes): Likewise.
44256 (get_prefix): Likewise.
f19dbdb7 44257 * util/i386/pc/getroot.c: ... here.
1f7315a3 44258 (find_root_device): Function moved and renamed to...
44259 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44260 Changed all callers.
44261 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44262 and renamed to...
44263 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44264 Changed all callers.
44265 * util/misc.c (pupa_memalign): New function.
44266 (pupa_mm_init_region): Likewise.
44267 (pupa_register_exported_symbols): Likewise.
44268 (pupa_putchar): Function removed.
44269 * util/pupa-emu.c: New file.
44270
9a5c1ade 442712003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44272
44273 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44274 (_multiboot_mod_SOURCES): New variable.
44275 (_multiboot_mod_CFLAGS): Likewise.
44276 * loader/i386/pc/multiboot.c: New file.
44277 * include/pupa/i386/pc/multiboot.h: Likewise.
44278 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44279 (pupa_multiboot_real_boot): New function.
44280 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44281 (pupa_multiboot_real_boot): New prototype.
44282 (pupa_rescue_cmd_multiboot): Likewise
44283 (pupa_rescue_cmd_module): Likewise.
44284
44285 * kern/loader.c (pupa_loader_set): Continue when
44286 pupa_loader_unload_func() fails.
44287 (pupa_loader_unset): New function.
44288 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44289
44290 * kern/misc.c (pupa_stpcpy): New function.
44291 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44292
8e72a9c0 442932003-11-12 Marco Gerards <metgerards@student.han.nl>
44294
44295 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44296 for available extensions.
44297
44298 * include/pupa/i386/pc/time.h: New file.
44299 * kern/disk.c: Include <pupa/machine/time.h>.
44300 (PUPA_CACHE_TIMEOUT): New macro.
44301 (pupa_last_time): New variable.
44302 (pupa_disk_open): Flush the cache when there was a timeout.
44303 (pupa_disk_close): Reset the timer.
44304 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44305 pupa_currticks.
44306 * util/misc.c: Include <sys/times.h>
44307 (pupa_get_rtc): New function.
44308
c4adbd32 443092003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44310
44311 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44312 as blocks.
44313 (pupa_ext2_get_file_block): Use blocks member.
44314
44315 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44316 first block. Return -1 instead of pupa_errno on error.
44317
bfd30f06 443182003-10-27 Marco Gerards <metgerards@student.han.nl>
44319
44320 * README: In the pupa-mkimage example use _chain instead of chain
44321 and ext2 instead of fat.
44322 * TODO: Replace ext2fs with jfs as an example. Add an item for
44323 adding journal playback for ext2fs.
44324 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44325 (pkgdata_MODULES): Added ext2.mod.
44326 (ext2_mod_SOURCES): New variable.
44327 (ext2_mod_CFLAGS): Likewise.
44328 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44329 * include/pupa/misc.h (pupa_strncpy): New prototype.
44330 (pupa_strcat): Likewise.
44331 (pupa_strncmp): Likewise.
44332 * kern/misc.c (pupa_strcat): Enable function.
44333 (pupa_strncpy): New function.
44334 (pupa_strncmp): Likewise.
44335 * fs/ext2.c: New file.
f19dbdb7 44336
bfd30f06 44337 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44338 when the read failed before retrying.
44339 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44340 (_FILE_OFFSET_BITS): Likewise.
44341 * configure.ac: Added AC_SYS_LARGEFILE.
44342
98d15063 443432003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44344
44345 * genmk.rb (PModule#rule): Make sure to get only symbol names
44346 from the output of nm.
59cad637 44347 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44348
18d9c7cd 443492003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44350
44351 I forgot to check in these changes for a long time. This adds
44352 incomplete support for VGA console, and this is still very
44353 buggy. Also, a lot of consideration is required for I18N,
44354 UNICODE, and VGA font issues. Therefore, assume that this is
44355 such that "better than nothing".
f19dbdb7 44356
18d9c7cd 44357 * font/manager.c: New file.
44358 * include/pupa/font.h: Likewise.
44359 * include/pupa/i386/pc/vga.h: Likewise.
44360 * term/i386/pc/vga.c: Likewise.
44361 * util/unifont2pff.rb: Likewise.
44362
44363 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44364 (pkgdata_MODULES): Added vga.mod and font.mod.
44365 (vga_mod_SOURCES): New variables.
44366 (vga_mod_CFLAGS): Likewise.
44367 (font_mod_SOURCES): Likewise.
44368 (font_mod_CFLAGS): Likewise.
44369
44370 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44371
44372 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44373 (struct pupa_term): Added init and fini.
18d9c7cd 44374 Changed the argument of putchar to pupa_uint32_t.
44375
44376 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44377 (pupa_console_real_putchar): New prototype.
44378 (pupa_console_putchar): Removed.
44379 (pupa_console_checkkey): Exported.
44380 (pupa_console_getkey): Likewise.
44381
44382 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44383 characters.
44384
44385 * kern/term.c (pupa_term_set_current): Rewritten.
44386 (pupa_putchar): Likewise.
44387 (pupa_putcode): New function.
44388
44389 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44390 (pupa_console_real_putchar): ... this.
44391 (pupa_vga_set_mode): New function.
44392 (pupa_vga_get_font): Likewise.
44393
44394 * normal/command.c: Include pupa/term.h.
44395 (terminal_command): New function.
44396 (pupa_command_init): Register the command "terminal".
44397
44398 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44399 (DISP_UP): Likewise.
44400 (DISP_RIGHT): Likewise.
44401 (DISP_DOWN): Likewise.
44402 (DISP_HLINE): Likewise.
44403 (DISP_VLINE): Likewise.
44404 (DISP_UL): Likewise.
44405 (DISP_UR): Likewise.
44406 (DISP_LL): Likewise.
44407 (DISP_LR): Likewise.
44408
44409 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44410
977329f5 444112003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44412
44413 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44414 FIX. Reverse the path_list.
44415
44416 * include/pupa/normal.h: Export pupa_register_command and
44417 pupa_unregister_command.
44418
44419 * hello/hello.c (pupa_cmd_hello): New module.
44420 * conf/i386-pc.rmk: Added hello.mod.
44421
1f5ab428 444222003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44423
44424 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44425
1f5ab428 44426 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44427 (compress_kernel): New variable.
44428 (generate_image): Heavily modified to support compressing a
44429 large part of the core image.
44430
44431 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44432 leak.
44433 (pupa_util_load_image): New function.
44434
44435 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44436 (pupa_compressed_size): New variable.
44437 (codestart): Enable Gate A20 here.
44438 Decompress the compressed part of the core image.
44439 Rearrange the code to put functions and variables which are
44440 required for initialization in the non-compressed part.
44441 Include lzo1x.S.
44442
44443 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44444 here.
44445
44446 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44447
f19dbdb7 44448 * include/pupa/i386/pc/kernel.h
1f5ab428 44449 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44450 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44451 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44452 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44453 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44454
44455 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44456
44457 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44458 (Utility#rule): Likewise.
44459
44460 * configure.ac: Check if LZO is available.
44461
ce5bf700 444622003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 * include/pupa/normal.h: New file.
44465 * include/pupa/setjmp.h: Likewise.
44466 * include/pupa/i386/setjmp.h: Likewise.
44467 * normal/cmdline.c: Likewise.
44468 * normal/command.c: Likewise.
44469 * normal/main.c: Likewise.
44470 * normal/menu.c: Likewise.
44471 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44472
ce5bf700 44473 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44474 (pupa_rescue_cmd_initrd): Likewise.
44475
44476 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44477 Likewise.
44478
44479 * kern/i386/pc/startup.S (translation_table): New variable.
44480 (translate_keycode): New function.
44481 (pupa_console_getkey): Call translate_keycode.
44482
44483 * kern/rescue.c (attempt_normal_mode): New function.
44484 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44485 it failed, print a message.
44486
44487 * kern/mm.c (pupa_real_malloc): Print more information when a
44488 free magic is broken.
44489 (pupa_free): If the first free header is not free actually, set
44490 it to P.
44491
44492 * kern/main.c (pupa_load_normal_mode): Just load the module
44493 "normal".
44494 (pupa_main): Don't print the message
44495 "Entering into rescue mode..." here.
44496
44497 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44498 Declared.
44499 (pupa_rescue_cmd_initrd): Likewise.
44500 (pupa_rescue_cmd_initrd): Likewise.
44501
44502 * include/pupa/symbol.h (FUNCTION): Specify the type.
44503 (VARIABLE): Likewise.
44504
44505 * include/pupa/err.h (pupa_err_t): Added
44506 PUPA_ERR_UNKNOWN_COMMAND.
44507
44508 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44509 (pupa_dl_get_prefix): Likewise.
44510
44511 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44512 Added _chain.mod and _linux.mod instead of chain.mod and
44513 linux.mod.
44514 (chain_mod_SOURCES): Renamed to ...
44515 (_chain_mod_SOURCES): ... this.
44516 (chain_mod_CFLAGS): Renamed to ...
44517 (_chain_mod_CFLAGS): ... this.
44518 (linux_mod_SOURCES): Renamed to ...
44519 (_linux_mod_SOURCES): ... this.
44520 (linux_mod_CFLAGS): Renamed to ...
44521 (_linux_mod_CFLAGS): ... this.
44522 (normal_mod_SOURCES): New variable.
44523 (normal_mod_CFLAGS): Likewise.
44524 (normal_mod_ASFLAGS): Likewise.
44525
445262003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44527
44528 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44529 possible.
44530
fe6b695a 44531 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44532 recursively.
44533 (pupa_dl_unref): Unrefer depending modules recursively.
44534 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44535 a module is unloaded before one depending on that module is
44536 unloaded.
44537 (pupa_dl_unload): Unload depending modules explicitly,
44538 if possible.
44539
c04da074 445402003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44541
44542 * include/pupa/i386/pc/linux.h: New file.
44543 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44544
c04da074 44545 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44546 Removed.
44547 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44548 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44549 of PUPA_CHAINLOADER_BOOT_SECTOR.
44550
44551 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44552 (pupa_linux_prot_size): New variable.
44553 (pupa_linux_tmp_addr): Likewise.
44554 (pupa_linux_real_addr): Likewise.
44555 (pupa_linux_boot_zimage): New function.
44556 (pupa_linux_boot_bzimage): Likewise.
44557
44558 * kern/i386/pc/init.c (struct mem_region): New structure.
44559 (MAX_REGIONS): New macro.
44560 (mem_regions): New variable.
44561 (num_regions): Likewise.
44562 (pupa_os_area_addr): Likewise.
44563 (pupa_os_area_size): Likewise.
44564 (pupa_lower_mem): Likewise.
44565 (pupa_upper_mem): Likewise.
44566 (add_mem_region): New function.
44567 (compact_mem_regions): Likewise.
44568 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44569 the size of the conventional memory and that of so-called upper
44570 memory (before the first memory hole).
44571 Instead of adding each found region to free memory, use
44572 add_mem_region and add them after removing overlaps.
44573 Also, add only 1/4 of the upper memory to free memory. The rest
44574 is used for loading OS images. Maybe this is ad hoc, but this
44575 makes it much easier to relocate OS images when booting.
44576
44577 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44578 (pupa_enter_rescue_mode): Don't register initrd and module.
44579
44580 * kern/mm.c: Include pupa/dl.h.
44581
44582 * kern/main.c: Include pupa/file.h and pupa/device.h.
44583
44584 * kern/loader.c (pupa_loader_load_module_func): Removed.
44585 (pupa_loader_load_module): Likewise.
44586
44587 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44588 ``.o''.
44589
44590 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44591 (pupa_linux_tmp_addr): Likewise.
44592 (pupa_linux_real_addr): Likewise.
44593 (pupa_linux_boot_zimage): Likewise.
44594 (pupa_linux_boot_bzimage): Likewise.
44595
44596 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44597 (pupa_upper_mem): Likewise.
44598 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44599 module is too dangerous.
44600
44601 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44602 (pupa_os_area_size): Likewise.
44603 (pupa_loader_set): Remove the first argument. Loader doesn't
44604 manage modules or initrd any longer.
44605 (pupa_loader_load_module): Removed.
44606
44607 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44608 (linux_mod_SOURCES): New variable.
44609 (linux_mod_CFLAGS): Likewise.
44610
a13f9237 446112003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44612
44613 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44614 the length of a blocklist correctly.
44615
44616 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44617 Use ioctl only if the OS file is a block device.
44618 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44619 not very useful for normal files.
44620
44621 * kern/main.c (pupa_set_root_dev): New function.
44622 (pupa_load_normal_mode): Likewise.
44623 (pupa_main): Call those above.
44624
44625 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44626 pupa_uint16_t.
44627
44628 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44629
a5ffe966 446302003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44631
44632 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44633 (setup): Configure the installed partition information and the
44634 dl prefix.
44635
44636 * loader/i386/pc/chainloader.c (my_mod): New variable.
44637 (pupa_chainloader_unload): New function.
44638 (pupa_rescue_cmd_chainloader): Refer itself.
44639 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44640
44641 * kern/i386/pc/startup.S (install_partition): Removed.
44642 (version_string): Likewise.
44643 (config_file): Likewise.
44644 (pupa_install_dos_part): New variable.
44645 (pupa_install_bsd_part): Likewise.
44646 (pupa_prefix): Likewise.
44647 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44648
44649 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44650 and pupa/misc.h.
44651 (make_install_device): New function.
44652 (pupa_machine_init): Set the dl prefix.
44653
44654 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44655 (buf): Renamed to ...
44656 (linebuf): ... this.
44657 (pupa_rescue_cmd_prefix): New function.
44658 (pupa_rescue_cmd_insmod): Likewise.
44659 (pupa_rescue_cmd_rmmod): Likewise.
44660 (pupa_rescue_cmd_lsmod): Likewise.
44661 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44662 rmmod and lsmod.
44663
44664 * kern/mm.c (pupa_memalign): If failed even after invalidating
44665 disk caches, unload unneeded modules and retry.
44666
44667 * kern/misc.c (pupa_memmove): New function.
44668 (pupa_memcpy): Removed.
44669 (pupa_strcpy): New function.
44670 (pupa_itoa): Made static.
44671
44672 * kern/dl.c (pupa_dl_iterate): New function.
44673 (pupa_dl_ref): Likewise.
44674 (pupa_dl_unref): Likewise.
44675 (pupa_dl_unload): Return if succeeded or not.
44676 (pupa_dl_unload_unneeded): New function.
44677 (pupa_dl_unload_all): Likewise.
44678 (pupa_dl_init): Renamed to ...
44679 (pupa_dl_set_prefix): ... this.
44680 (pupa_dl_get_prefix): New function.
44681
44682 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44683 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44684 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44685 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44686 (pupa_install_dos_part): Declared.
44687 (pupa_install_bsd_part): Likewise.
44688 (pupa_prefix): Likewise.
44689 (pupa_boot_drive): Likewise.
44690
44691 * include/pupa/types.h: Fix a typo.
44692
44693 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44694 pupa_memmove.
44695 (pupa_memmove): Declared.
44696 (pupa_strcpy): Likewise.
44697
44698 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44699 pupa_mod_init takes one argument, its own module.
44700 (pupa_dl_unload_unneeded): Declared.
44701 (pupa_dl_unload_all): Likewise.
44702 (pupa_dl_ref): Likewise.
44703 (pupa_dl_unref): Likewise.
44704 (pupa_dl_iterate): Likewise.
44705 (pupa_dl_init): Renamed to ...
44706 (pupa_dl_set_prefix): ... this.
44707 (pupa_dl_get_prefix): Declared.
44708
44709 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44710 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44711 unloaded.
44712 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44713 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44714
44715 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44716 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44717
012d7999 447182003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44719
44720 * util/i386/pc/pupa-setup.c (setup): Define the internal
44721 function find_first_partition_start at the top level, because GCC
44722 3.0.x cannot compile internal functions in deeper scopes
44723 correctly.
44724 (find_root_device): Use lstat instead of stat.
44725 Don't follow symbolic links.
44726 Fix the path-constructing code.
44727
44728 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44729 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44730 by a BLKGETSIZE ioctl first, because block devices don't fill
44731 the member st_mode of the structure stat on Linux.
44732 [__linux__] (linux_find_partition): Use a temporary buffer
44733 REAL_DEV for the working space. Copy it to DEV before returning.
44734 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44735 buffer cache consistent.
44736 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44737 strncmp. The previous value was merely wrong.
44738 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44739
44740 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44741 FAT size is 12. The previous value was merely wrong.
44742
44743 * kern/main.c (pupa_main): Don't split the starting message from
44744 newlines.
44745
44746 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44747 LF, because BIOS goes crazy about character attributes in this
44748 case.
44749
1cc73a62 447502003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44751
44752 * include/i386/pc/util/biosdisk.h: New file.
44753 * util/i386/pc/biosdisk.c: Likewise.
44754 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44755
1cc73a62 44756 * Makefile.in (INCLUDE_DISTFILES): Added
44757 include/pupa/i386/pc/util/biosdisk.h.
44758 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44759 directory util/i386/pc.
44760 (install-local): Added a rule for sbin_UTILITIES.
44761 (uninstall): Likewise.
44762
44763 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44764
44765 * util/misc.c (xrealloc): New function.
44766 (pupa_malloc): Likewise.
44767 (pupa_free): Likewise.
44768 (pupa_realloc): Likewise.
44769 (pupa_stop): Likewise.
44770 (pupa_putchar): Likewise.
44771
44772 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44773
44774 * include/pupa/util/misc.h (xrealloc): Declared.
44775
44776 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44777 macro.
44778 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44779 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44780
44781 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44782 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44783
44784 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44785 way should be implemented.
44786 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44787
44788 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44789 the size of NAME for safety.
44790 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44791 0x88.
44792
44793 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44794 (pupa_setup_SOURCES): Likewise.
44795
44796 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44797
08b70fe8 447982002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44799
44800 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44801 bunch of pushl's from pusha, because this destroys the return
44802 value.
44803
62ddcc8f 448042002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44805
44806 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44807 This means that any missing prototypes could be fatal. Also, you
44808 must take care when writing assembly code. See the comments at
44809 the beginning of startup.S, for more details.
f19dbdb7 44810
62ddcc8f 44811 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44812 compilation mechanism.
44813 (pupa_chainloader_real_boot): Likewise.
44814 (pupa_biosdisk_rw_int13_extensions): Likewise.
44815 (pupa_biosdisk_rw_standard): Likewise.
44816 (pupa_biosdisk_check_int13_extensions): Likewise.
44817 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44818 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44819 (pupa_get_memsize): Likewise.
44820 (pupa_get_mmap_entry): Likewise.
44821 (pupa_console_putchar): Likewise.
44822 (pupa_console_setcursor): Likewise.
44823 (pupa_getrtsecs): Use pushl instead of push.
44824
44825 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44826 memory instead of the stack for a mmap entry, because some
44827 BIOSes may ignore the maximum size and overflow.
44828
44829 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44830
44831 * genmk.rb (PModule#rule): Compile automatically generated
44832 sources with module-specific CFLAGS as well as other sources.
44833
9962ed99 448342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44835
44836 * configure.ac: Check ld.
44837 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44838 respectively, before checking endianness and sizes.
44839
44840 * Makefile.in (LD): New variable.
f19dbdb7 44841
abdfc3c5 448422002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44843
44844 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44845
6a161fa9 448462002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44847
44848 * Changelog: New file.
44849