]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/net/net.c (defserver_set_env): New function.
[grub2.git] / ChangeLog
CommitLineData
9a1b669c
VS
12012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/net/net.c (defserver_set_env): New function.
4 (defserver_get_env): Likewise.
5 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6
d38bf7d3
VS
72012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10 entries.
11
122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
13
14 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
15 * grub-core/kern/emu/hostdisk.c: Likewise.
16
e5e4ca48
ST
172012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18
19 Handle hurd userspace partitions.
20
21 * util/getroot.c (find_hurd_root_device): New function.
22 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
23
56bb5dd5
VS
242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
27 names.
28 Reported by: Bastian Blank.
29
9e8bc27a
VS
302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
33 crossing page boundary.
34
aa01499d
VS
352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Fix B-tree search in BFS, especially in presence of non-ASCII
38 characters.
39
40 * grub-core/fs/bfs.c (bfs_strcmp): New function.
41 (find_in_b_tree): Use standard bsearch + btree algorithm.
42
57006035
VS
432012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
46 and so on.
47
9d34bb85
MG
482012-05-03 Matthew Garrett <mjg@redhat.com>
492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Suspend broadcom cards in order to stop their DMA.
52
53 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
54 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
55 (pci): Don't build on x86 EFI.
56 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
57 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
58 New function.
59 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
60 stop_broadcom if running on EFI.
61 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
62 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
63 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
64 (grub_pci_find_capability): New proto.
65
01aab997
VS
662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * docs/grub.texi: Remove dot from the extension as it apparently
69 doesn't work with some makeinfo versions.
70
fbd8dca6
VS
712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
74 with GRUB expectance.
75
dab797f4
VS
762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
79
1516bfb4
VS
802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
83 zero after directory block since last entry may be not 0-terminated if
84 it ends on block boundary. Use continue instead of if spanning whole
85 loop.
86
a3a0eace
VS
872012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
88
89 Support 4K sectors UDF inline files.
90
91 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
92 (grub_udf_extended_file_entry): Likewise.
93 (grub_fshelp_node): Name the anonymous union. Put block at the end.
94 All users updated.
95 (get_fshelp_size): New function.
96 (grub_udf_read_icb): Read whole block.
97 (grub_udf_iterate_dir): Likewise.
98 (grub_udf_dir): Likewise.
99 (grub_udf_open): Likewise.
100
c82f16c1
VS
1012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
104
59fd2aac
VS
1052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
108 inline symlinks in addition to workaround.
109
3b4afb4d
VS
1102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
113
f45c794a
VS
1142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
117
f25cecbd
VS
1182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
121
bb9a34e8
VS
1222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Fix reiserfs big seek times.
125
126 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
127 exact. All users updated.
128 (grub_reiserfs_read): Use nearest btree search for seeking.
129 Fix return value on error.
130
dc478aea
VS
1312012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
134 entries.
135 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
136 * docs/grub.texi: Update menuentry description.
137
8db10f47
VS
1382012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
141 crash when embedding onto filesystem.
142
bcb288ed
VS
1432012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
146 name.
147
a626fdd7
VS
1482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
151
b2f68477
VS
1522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
155 commit.
156
ba15b2af
B
1572012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1582012-05-01 Bean <bean123ch@gmail.com>
159
160 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
161
a188012e
VS
1622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
165 Special behaviour for len = 0 to read whole file isn't used anywhere and
166 can cause buffer ovewrflows in several places.
167
f0a53ed2
VS
1682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
171
5ed554f0
VS
1722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Handle RAIDZ on non-512B sectors.
175
176 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
177 max_children_ashift.
178 (fill_vdev_info_real): Fill max_children_ashift.
179 (read_device): Use max_children_ashift.
180
ddc58357
VS
1812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
184
e3282399
VS
1852012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
188 disk names.
189 * docs/grub.texi: Update device.map parts.
190
ee618bd4
VS
1912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Don't scan into non-diskfilter devices having diskfilter names.
194
195 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
196 (scan_disk): New argument accept_diskfilter. Fix recursion depth
197 handling.
198 (scan_disk_hook): New function.
199
bdf88864
B
2002012-04-29 Bean <bean123ch@gmail.com>
201
202 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
203 allocation.
204
32745f51
MK
2052012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
206
207 * configure.ac: Detect starfield theme font path
208 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
209
bc95c8c0
VS
2102012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
213 geometry on serial consoles.
214
147fbcab
VS
2152012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
218 because of network consoles.
219
0f42c889
VS
2202012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
223 handling.
224
4a3594c9
VS
2252012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
228 falls on Q syndrom.
229
5cb53879
VS
2302012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
233 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
234
b282dfe5
VS
2352012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
238 Allocate at lest 8192 for temporary buffer as required for lzo.
239
daa59f47
VS
2402012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
243 to cluster_bits, since it's already added in.
244 (grub_fat_read_data): Likewise.
245
986748ce
VS
2462012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
249 as long as cluster size is multiple of 512 bytes.
250
a20f6ad0
VS
2512012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * util/grub-mkrescue.in: Fix locale directory.
254
385f9abb
VS
2552012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/kern/emu/hostdisk.c (map): Make static.
258
1c557d30
B
2592012-04-23 Bean <bean123ch@gmail.com>
260
261 * util/grub-fstest.c (fstest): Add missing break.
262
524b5d3a
ST
2632012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
264
265 Fix hurd build.
266
267 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
268 not define nr variable.
fe4824e9 269 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
270 find_root_devices_from_poolname, find_root_devices_from_libzfs,
271 grub_find_device): Do not define.
524b5d3a 272
9a06490c
VS
2732012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
274
275 Fix kfreebsd compile and behaviour.
276
277 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
278 format-security.
279 * util/getroot.c: Fix wait.h include.
280 (grub_guess_root_devices): Error if grub_find_device fails.
281 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
282 (grub_util_get_dev_abstraction): Likewise.
283 (grub_util_pull_device): Likewise.
284 (grub_util_get_grub_dev): Likewise.
285 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
286
48143d96
VS
2872012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
288
289 Fix and unify wholedisk detection.
290
291 * util/getroot.c (convert_system_partition_to_system_disk): New argument
292 is_part. All users updated.
293 (device_is_wholedisk): Removed.
294 (grub_util_biosdisk_get_grub_dev): Use is_part.
295
ebbd24f3
VS
2962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
299 mode.
300
56f7aa1e
VS
3012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * configure.ac: Bump to beta4.
304
9c815e01
VS
3052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
308 --fs-uuid --set UUID syntax.
309
59e2651a
VS
3102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
313 disunification.
314
54e03cfc
VS
3152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
318
81092a75
MK
3192012-04-18 Mads Kiilerich <mads@kiilerich.com>
320
321 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
322
f8315e14
MG
3232012-04-18 Mike Gilbert <floppym@gentoo.org>
324
325 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
326
1501ac21
B
3272012-04-18 Bean <bean123ch@gmail.com>
328
329 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
330 place.
331
cb7f944e
VS
3322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
335 users updated.
336 (grub_util_biosdisk_read): Handle Linux partitions not exactly
337 corresponding to GRUB partitions.
338 (grub_util_biosdisk_write): Likewise.
339
b72d44a1
VS
3402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
341
342 Scan mdraid before LVM.
343
344 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
345 (grub_diskfilter_register_front): ... this.
346 (grub_diskfilter_register_back): New function.
347 All users of grub_diskfilter_register updated.
348
33d918b8
VS
3492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * util/grub-install.in: Fix an automatic target detection bug.
352
c6ca973d
VS
3532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * util/grub-install.in: New option --efi-directory.
356
b41be562
VS
3572012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
360 boot services if we have no other choice.
361
3622012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-mknetdir.in: Rename --override-directory to --directory and
365 document it.
366 * tests/util/grub-shell.in: Update to --directory.
367
e0595a73
VS
3682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
371
4ed80652
VS
3722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
375 (grub_minix_read_file): Likewise.
376 (grub_minix_read_inode): Likewise.
377 (grub_minix_find_file): Likewise.
378 (grub_minix_dir): Likewise.
379
56008077
VS
3802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * util/grub-setup.c (setup): Fix partition handling and blocklist
383 check.
384
ee520775
VS
3852012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
388 redundant buggy overlap check.
389
16fc9293
VS
3902012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
393 and grub-mknetdir.
394
9bab65c4
VS
3952012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
398 kh.loadflags on pre-2.00 kernels.
399
3c491b47
VS
4002012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Terminate UNDI and PXE before launching the payload to avoid problems
403 with DMA.
404
405 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
406 (grub_loader_flags): ... this. All users updated.
407 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
408 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
409 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
410 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
411 function.
412 (grub_pxe_restore): Likewise.
413 (fini_hnd): New var.
414 (GRUB_MOD_INIT): Register shutdown hook.
415 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
416 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
417 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
418 (grub_loader_set): Rename second argument to flags.
419
851ffada
VS
4202012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
423 written bytes.
424 (grub_get_num_of_utf8_bytes): New function.
425 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
426 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
427 executing it.
428 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
429 (grub_ucs4_to_utf8): Change return type.
430
491c57a8
VS
4312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
434 warning.
851ffada
VS
435 * grub-core/fs/bfs.c (hop_level): Likewise.
436 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 437
756773df
VS
4382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/lib/adler32.c: Recode due to license unclearness.
441
fd556a96
VS
4422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
445 (test_header): Likewise.
446
9f9d3f69
VS
4472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
448
449 Fix --help formatting.
450
451 * util/grub-mkconfig_lib.in (print_option_help): New function.
452 (grub_fmt): Likewise.
453 * util/grub-install.in: Use print_option_help and grub_fmt.
454 * util/grub-kbdcomp.in: Likewise.
455 * util/grub-mkconfig.in: Likewise.
456 * util/grub-mknetdir.in: Likewise.
457 * util/grub-mkrescue.in: Likewise.
458 * util/grub-mkstandalone.in: Likewise.
459 * util/grub-reboot.in: Likewise.
460 * util/grub-set-default.in: Likewise.
461 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
462
561ec77e
VS
4632012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * linguas.sh: Remove autogenerated *.po.
466
7ec2b021
VS
4672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * po/README: Move language fetcing to ...
470 * linguas.sh: ... here.
471 * po/README: Point to linguas.sh.
472
a88f3270
VS
4732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * po/README: Exclude ko.po due to disclaimer problems.
476
d61357ce
VS
4772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
480 len = 0.
481 (grub_gettext_translate_real): Handle 0th string.
482 (grub_gettext_translate): Ensure that "" isn't translated.
483
505e41dc
VS
4842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
487 TRANSLATORS comment.
488 (grub_diskfilter_print_partmap): Propagate changing of error into
489 warning.
490
e44092db
VS
4912012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
494 to uint64_t to prevent overflow.
495 (grub_diskfilter_lv): Increase start_extent and extent_count
496 to uint64_t to prevent overflow.
497
9b83956a
VS
4982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * configure.ac: Increase version.
501
da0d5b3f
VS
5022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
505
506 * po/Rules-translit: New file.
507 * po/arabic.sed: Likewise.
508 * po/cyrillic.sed: Likewise.
509 * po/greek.sed: Likewise.
510 * po/hebrew.sed: Likewise.
511 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
512 * po/Makefile.in.in: Add extra_dist4.
513
ac66b453
VS
5142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
515
516 Handle big-endian minixfs (fixes minixfs tests on bigendian).
517
518 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
519 modify names. Introduce MODE_BIGENDIAN.
520 * grub-core/fs/minix_be.c: New file.
521 * grub-core/fs/minix2_be.c: Likewise
522 * grub-core/fs/minix3_be.c: Likewise.
523 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
524 minix3_be.
525 * grub-core/Makefile.core.def (minix_be): New module.
526 (minix2_be): Likewise.
527 (minix3_be): Likewise.
528
5292012-04-01 Felix <email@hamburg.de>
530
531 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
532 (devs): Add MBP 2011.
533
0a2d5a82
VS
5342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
537
d1625889
VS
5382012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/normal/cmdline.c (print_completion): New field
541 prompt_len.
542 (grub_cmdline_get): Handle width properly.
543
6d36a236
VS
5442012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/commands/lsacpi.c (options): Add missing terminator.
547
9576977e
VS
5482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 551 after 29th of February.
9576977e 552
d73ff15d
VS
5532012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Fix exfat endianness handling.
556
557 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
558 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
559 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
560 Byte-swap utf16 when necessary.
561 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
562
bbb39a45
AB
5632012-03-31 Anton Blanchard <anton@samba.org>
5642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Fix btrfs endianness handling.
567
568 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
569 (lower_bound): Make root uint64_t. Use root in le.
570 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
571 (find_path): Fix template key init.
572 (grub_btrfs_dir): Fix mtime byteswap.
573 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
574
354e0af7
VS
5752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
578 recursion_depth. Break infinite resursions. All users updated.
579
4e75f21c
VS
5802012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
583 after free.
584 Reported by: Peter Jones.
585
25581802
AB
5862012-03-31 Anton Blanchard <anton@samba.org>
587
588 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
589 8 bit values.
590
08fbf92e
VS
5912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * util/grub-install.in: Fix nvram call for PreP.
594
5d1182a6
VS
5952012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
598 the error when some elements are missing into a warning.
599
3f8cdd90
VS
6002012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
603
51006716
CW
6042012-03-28 Colin Watson <cjwatson@ubuntu.com>
605
606 * docs/grub.texi (Invoking grub-probe): New section.
607 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
608
e1bd676b
VS
6092012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
610
611 Fix tab and wide character handling in editor and menu.
612
613 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
614 agglomerate control characters with combining marks.
615 (bidi_line_wrap): Allow break on tab.
616 (grub_unicode_get_comb_start): New function.
617 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
618 and tab correctly.
619 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
620 with a space.
621 * grub-core/normal/term.c (print_ucs4_terminal): New argument
622 fixed_tab_size. All users updated.
623 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
624 (grub_term_getcharwidth): Handle \t.
625 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
626 and copy.
627
22e6a774
VS
6282012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
629
630 Handle big-endian mdraid.
631
632 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
633 * grub-core/Makefile.core.def (mdraid09_be): New module.
634 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
635 rather than grub_le_to_cpu* and grub_cpu_to_le*.
636 * grub-core/disk/mdraid_linux_be.c: New file.
637
3c0eae66
VS
6382012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
641
b6cf74c9
VS
6422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
645 missing quotes which caused confusion among translators.
646
83c93b9c
VS
6472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * util/grub-mkconfig_lib.in: Fix typo.
650
ac6fd218
VS
6512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
654 spaces.
655 * tests/grub_script_leading_whitespace.in: New file.
656 * Makefile.util.def (grub_script_leading_whitespace): New test.
657
ba287dd8
VS
6582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
661 to work.
662
d2d58d0a
VS
6632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
666 starts with control character.
667
0382d9bb
VS
6682012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
671 overflow.
672 (grub_gdb_outbuf): Likewise.
673
d83ff9f9
VS
6742012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
677 zero terminator. Fixes a crash.
678
2282da4a
VS
6792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
682 beyond 4 GiB.
683 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
684 images independently of preffered adderss field.
685
0ae4f0bd
VS
6862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
689 * grub-core/commands/regexp.c: Likewise.
690 * grub-core/loader/i386/linux.c: Likewise.
691 * grub-core/partmap/msdos.c: Likewise.
692 * grub-core/script/execute.c: Likewise.
693 * grub-core/term/gfxterm.c: Likewise.
694
546fbe9b
VS
6952012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
696
697 Add variable parsing in $"..." and fix several mismatches with bash.
698
699 * Makefile.util.def (grub_script_gettext): New test.
700 * grub-core/script/execute.c (parse_string): New function.
701 (gettext_append): Likewise.
702 (grub_script_arglist_to_argv): Use gettext_append.
703 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
704 * tests/grub_script_gettext.in: New file.
705
9fdb2d7b
VS
7062012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
707
708 Fix handling of leading spaces in scripts.
709
710 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
711 spaces.
712 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
713 other than skipping \r. All users updated.
714 * tests/grub_script_echo1.in: Add space-related tests.
715 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
716
1a1ac4f6
VS
7172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
720
b63d89b6
VS
7212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * configure.ac: Bump up the version to beta2.
724
17f38c0f
VS
7252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Fix gettext reload bugs (e.g. inability to disable gettext
728 once enabled).
729
730 * grub-core/gettext/gettext.c: Encapsulate all static variables in
731 main_context and secondary_context. All functions updated.
732 (grub_gettext_translate): Rename to ...
733 (grub_gettext_translate_real): ... this. Return NULL on failed
734 translate.
735 (grub_gettext_translate): Handle secondary context.
736 (grub_gettext_delete_list): Close file and zero-out the context.
737 (grub_mofile_open): Don't call grub_gettext_delete_list.
738 Don't close file.
739 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
740 if locale="" to avoid pointless error message.
741 (grub_gettext_env_write_lang): Update lang even if load fails.
742 Handle secondary context.
743 (grub_gettext_reread_prefix): New function.
744 (read_main): Likewise.
745 (read_secondary): Likewise.
746 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
747 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
748 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
749 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
750
8e56f870
VS
7512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * configure.ac: Decrease warning level to avoid spurious warnings and
754 to be able to compile with GCC 4.2.
755 * Makefile.util.def: Remove -Wno-error=logical-op.
756
82f6d455
WB
7572012-03-10 William Bittner <william.bittner@gmail.com>
758
759 * util/import_unicode.py: Add missing brackets around string for
760 python 3 support.
761
1ecd61a4
VS
7622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
763
764 Fix efi chainloader on network root.
765
766 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
767 network devices.
768 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
769 New function.
770
14361ee8
VS
7712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
774 unused show_text member.
775 * docs/grub.texi: Document "text" property.
776
922aabf3
VS
7772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
780 in dprintf.
781
ec316771
VS
7822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
783
784 Fix IMSM handling on Fedora.
785
786 * util/getroot.c (grub_util_is_imsm): New function.
787 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
788
0f021838
VS
7892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * Makefile.am: Strip gold section.
792 * conf/Makefile.common: Likewise.
793 * gentpl.py: Likewise.
794 * grub-core/Makefile.core.def: Likewise.
795 * grub-core/genmod.sh.in: Likewise.
796
1039c8eb
VS
7972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
800 * util/grub.d/20_linux_xen.in: Likewise.
801 Based on Debian patch.
802
6dd412cd
VS
8032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/grub.d/10_linux.in: Fix syntax error resulting in
806 Richard Laager's patch.
807 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
808
3fd8bae5
VS
8092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
812 dependencies.
813
7eea1671
RL
8142012-03-10 Richard Laager <rlaager@wiktel.com>
815
816 * util/grub.d/10_linux.in: Fix ZFS root passing.
817
e8e0566b
VS
8182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
821 * grub-core/commands/xnu_uuid.c: Likewise.
822 * grub-core/loader/efi/appleloader.c: Likewise.
823 * grub-core/script/execute.c: Likewise.
824 * grub-core/script/main.c: Likewise.
825 * util/grub-mkfont.c: Likewise.
826
1acc5b1f
VS
8272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * util/grub-mkfont.c (options): Use more appropriate "select" that
830 "set" for face index.
831
35d70620
VS
8322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * util/grub-editenv.c (options): Gettextize command summaries.
835
c9eb96b5
VS
8362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
839 "out of memory" error messagge.
840
1f493136
VS
8412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
844 of diskfilter for diskfilter on diskfilter support.
845
6d790129
VS
8462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
849
005f46c9
VS
8502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/grub-install.in: Check for themes/starfield/theme.txt and not
853 themes/starfield.
854
c8f778a0
VS
8552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
858
de1e64eb
VS
8592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
862
c6d54211
VS
8632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
866 of error message.
867
dd390777
VS
8682012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
871
5fd1c522
VS
8722012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
875 message.
c6d54211 876 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 877
fae01f6c
VS
8782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
881 Gettextize.
882 * util/grub-mount.c (options): Likewise.
883
292fdaff
VS
8842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
887 gettextize.
888 * grub-core/commands/search_wrap.c (options): Likewise.
889
ecdbae77
VS
8902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
893
52bfedfa
VS
8942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
897 size calculation.
898 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
899 none is known.
900
55b20e58
VS
9012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
904 "temporary" since it's used in identifier and is limited in space.
905
fda9d101
VS
9062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * po/POTFILES.in: Regenerate. Include *.h since they contain
909 translatable strings as well.
910
6a0295e2
VS
9112012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
914 byte-swap on big-endian.
915 Reported by: Lennart Sorensen
916
807fb77c
VS
9172012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
920 (allocate_pages): Improve dprintf.
921 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
922 code32_start. Fill code32_start and kernel_alignment in params.
923 (grub_cmd_initrd): Use prot_init_space.
924
61ac50ba
VS
9252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
928
abdd26dd
VS
9292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * util/grub-install.in: Add missing dot at the end of sentence.
932
6e69da9c
VS
9332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
936 * grub-core/commands/videotest.c: Likewise.
937 * grub-core/loader/i386/linux.c: Likewise.
938
4a929343
VS
9392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
942 sentence.
943 Reported by: Milo Casagrande.
944
bb51c6c6
VS
9452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
948 * grub-core/commands/gptsync.c: Likewise.
949 * grub-core/commands/hashsum.c: Likewise.
950 * grub-core/commands/i386/pc/sendkey.c: Likewise.
951 * grub-core/commands/legacycfg.c: Likewise.
952 * grub-core/io/gzio.c: Likewise.
953 * grub-core/net/net.c: Likewise.
954 * grub-core/term/gfxterm.c: Likewise.
955 * grub-core/term/terminfo.c: Likewise.
956 * grub-core/tests/test_blockarg.c: Likewise.
957 * grub-core/video/video.c: Likewise.
958 * util/grub-install.in: Likewise.
959 * util/grub-mkfont.c: Likewise.
960
b2b149cb
VS
9612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
964
c7c080ad
VS
9652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 968 Reported by: David Prévot.
c7c080ad 969
f2e243c0
VS
9702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
973 description.
974
09963c76
VS
9752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * util/grub-script-check.c (main): Fix a syntax error message which was
978 unclear.
979
a50514a8
VS
9802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
983
4650daec
VS
9842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
987 messages.
988
9892012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
990
991 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
992 without argument.
993 * util/grub-mount.c (options): Likewise.
994
bbc5a342
VS
9952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
998
ef292a87
VS
9992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/net/http.c: Add TRANSLATORS comments.
1002 * grub-core/normal/cmdline.c: Likewise.
1003 * grub-core/normal/misc.c: Likewise.
1004 * grub-core/partmap/msdos.c: Likewise.
1005 * grub-core/parttool/msdospart.c: Likewise.
1006 * grub-core/script/execute.c: Likewise.
1007 * grub-core/script/main.c: Likewise.
1008 * grub-core/term/terminfo.c: Likewise.
1009 * grub-core/video/bitmap.c: Likewise.
1010 * util/grub-install.in: Likewise.
1011 * util/grub-mkimage.c: Likewise.
1012 * util/grub-mklayout.c: Likewise.
1013 * util/grub-setup.c: Likewise.
1014
0fc19bd0
VS
10152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1018 with similar messages in grub-fstest.
1019
d95862ef
VS
10202012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * util/grub-install.in: Unify "option requires an argument" message
1023 with similar messages in other files.
1024 * util/grub-mkconfig.in: Likewise.
1025
b7308f90
VS
10262012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * util/grub-set-default.in: Replace printf with gettext_printf (the
1029 string in in question is already translated from grub-reboot)
1030
559dc587
VS
10312012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * configure.ac: Bump up the version to beta1.
1034
1a11761f
VS
10352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1038 case when min_align = 0.
1039
24539abd
VS
10402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1043 and fix a case when line_start overflows.
1044
32bd735b
VS
10452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * util/grub-reboot.in (usage): Mention id posibility.
1048 * util/grub-set-default.in (usage): Likewise.
1049
1a2fd1e6
VS
10502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1053 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1054 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1055 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1056 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1057 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1058 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1059
90eeab76
VS
10602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * grub-core/commands/menuentry.c (options): Remove
1063 GRUB_ARG_OPTION_REPEATABLE.
1064 Reported by: Andreas Vogel
1065
5ad1be82
AV
10662012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1067
1068 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1069
cb055286
HE
10702012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1071
1072 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1073 error.
1074
93b1cd79
VS
10752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 Use sort -V by the idea of Georgi Georgiev.
1078
1079 * util/grub-mkconfig_lib.in (version_sort): New function.
1080 (version_test_numeric): Use version_sort.
1081
0cdc126c
VS
10822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 Use submenus in grub-mkconfig.
1085
1086 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1087 * util/grub-mkconfig_lib.in (grub_quote): New function.
1088 (gettext_printf): Use gettext and not gettext_quoted to fix several
1089 messages.
1090 * util/grub.d/10_hurd.in: Use submenus.
1091 * util/grub.d/10_kfreebsd.in: Likewise.
1092 * util/grub.d/10_linux.in: Likewise.
1093 * util/grub.d/10_netbsd.in: Likewise.
1094 * util/grub.d/20_linux_xen.in: Likewise.
1095 * util/grub.d/30_os-prober.in: Likewise.
1096 * util/grub.d/10_illumos.in: Add missing quoting.
1097 * util/grub.d/10_windows.in: Likewise.
1098
d9bef9bc
VS
10992012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Fix menu title instability bug.
1102
1103 * grub-core/commands/menuentry.c (options): New option --id.
1104 (grub_normal_add_menu_entry): New argument id. All users updated.
1105 (grub_cmd_menuentry): Handle --id.
1106 (grub_menu_init): Accept unknown arguments.
1107 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1108 feature_menuentry_options.
1109 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1110 saved_entry.
1111 (get_entry_number): Match with id as well.
1112 * include/grub/menu.h (grub_menu_entry): New member id.
1113 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1114 * util/grub.d/00_header.in: Define menuentry_id_option.
1115 * util/grub.d/10_hurd.in: Define id.
1116 * util/grub.d/10_illumos.in: Likewise.
1117 * util/grub.d/10_kfreebsd.in: Likewise.
1118 * util/grub.d/10_linux.in: Likewise.
1119 * util/grub.d/10_netbsd.in: Likewise.
1120 * util/grub.d/10_windows.in: Likewise.
1121 * util/grub.d/20_linux_xen.in: Likewise.
1122 * util/grub.d/30_os-prober.in: Likewise.
1123
11242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1125
1126 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1127 "scope" with "body".
1128
7c8d0ce7
VS
11292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1132 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1133 prot_size and prot_file_size.
1134
49de079b
VS
11352012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1138 All users updated. If easily=1 require raid-5/-6 to be full.
1139 (is_node_readable): Likewise.
1140 (scan_devices): Scan incomplete but readable LVs at the end.
1141 (grub_diskfilter_memberlist): Pull missing devices.
1142 (insert_array): Skip scanning until device is complete or scan is
1143 done otherwise.
1144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1145 check.
1146 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1147 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1148
aff05d45
MG
11492012-03-03 Matthew Garrett <mjg@redhat.com>
11502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Avoid EFI boot services when loading Linux.
1153
1154 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1155 avoid_efi_bootservices. All users updated.
1156 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1157 argument avoid_efi_bootservices. All users updated.
1158 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1159 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1160 align, min_align, relocatable, prefered_address. All users updated.
1161 Allocate avoiding boot services if kernel is relocatable.
1162 (grub_cmd_linux): Check if kernel is relocatable.
1163 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1164 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1165 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1166 avoid_efi_boot_services.
1167 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1168 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1169 (linux_kernel_params): Likewise.
1170
3935dde2
MG
11712012-03-03 Matthew Garrett <mjg@redhat.com>
11722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 Use EDID on EFI.
1175
1176 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1177 datasize_out.
1178 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1179 modes. Set gop_handle.
1180 (grub_video_gop_get_edid): New function.
1181 (grub_gop_get_preferred_mode): Likewise.
1182 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1183 (grub_video_efi_gop_adapter): Set .get_edid.
1184 * include/grub/efi/edid.h: New file.
1185 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1186
32107ec0
VS
11872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/grub-install.in: Load efivars unconditionally.
1190
e70a2c50
VS
11912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * po/Rules-piglatin: Change suffix from .po-update-en to
1194 .po-update-en-piglatin.
1195
8f9cace1
VS
11962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Add a pig farm.
1199
1200 * po/piglatin.sed: New file.
1201 * po/en@piglatin.header: Likewise.
1202 * po/Rules-piglatin: Likewise.
1203 * po/README: Add en@piglatin to autogenerated languages.
1204
8f95d002
VS
12052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1208 "Command for ...".
1209 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1210 "Check" since we don't check anything.
1211 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1212 is 64-bit one.
1213 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1214 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1215 (grub_md_sha512_real): Likewise.
1216
805a8dcc
VS
12172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/commands/gptsync.c: Fix typographic quoting.
1220 * grub-core/commands/ieee1275/suspend.c: Likewise.
1221 * grub-core/commands/parttool.c: Likewise.
1222 * grub-core/commands/search_wrap.c: Likewise.
1223 * grub-core/commands/videoinfo.c: Likewise.
1224 * grub-core/gfxmenu/gui_label.c: Likewise.
1225 * grub-core/hello/hello.c: Likewise.
1226 * grub-core/kern/emu/main.c: Likewise.
1227 * grub-core/net/net.c: Likewise.
1228 * grub-core/normal/menu.c: Likewise.
1229 * grub-core/normal/menu_text.c: Likewise.
1230 * grub-core/normal/misc.c: Likewise.
1231 * util/grub-editenv.c: Likewise.
1232 * util/grub-install.in: Likewise.
1233 * util/grub-kbdcomp.in: Likewise.
1234 * util/grub-mkconfig.in: Likewise.
1235 * util/grub-mknetdir.in: Likewise.
1236 * util/grub-mkrescue.in: Likewise.
1237 * util/grub-mkstandalone.in: Likewise.
1238 * util/grub-reboot.in: Likewise.
1239 * util/grub-set-default.in: Likewise.
1240 * util/grub-setup.c: Likewise.
1241 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1242
40211ab8
VS
12432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1246 * grub-core/commands/keystatus.c: Likewise.
1247 * grub-core/commands/loadenv.c: Likewise.
1248 * grub-core/commands/probe.c: Likewise.
1249 * grub-core/commands/regexp.c: Likewise.
1250 * grub-core/commands/true.c: Likewise.
1251 * grub-core/commands/videoinfo.c: Likewise.
1252 * grub-core/disk/cryptodisk.c: Likewise.
1253 * grub-core/disk/ldm.c: Likewise.
1254 * grub-core/disk/loopback.c: Likewise.
1255 * grub-core/disk/luks.c: Likewise.
1256 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1257 * grub-core/kern/disk.c: Likewise.
1258 * grub-core/kern/emu/hostdisk.c: Likewise.
1259
0c7d99c7
VS
12602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1263 * util/grub-install.in: Add missing quote in the comment.
1264
e7d2559b
VS
12652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1268 * grub-core/commands/lsmmap.c: Likewise.
1269 * grub-core/commands/minicmd.c: Likewise.
1270 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1271 * grub-core/commands/regexp.c: Likewise.
1272 * grub-core/gdb/gdb.c: Likewise.
1273 * grub-core/term/gfxterm.c: Likewise.
1274 * util/grub-mkconfig.in: Likewise.
1275 * util/grub-mkfont.c: Likewise.
1276 * util/grub-mklayout.c: Likewise.
1277 * util/grub-mknetdir.in: Likewise.
1278 * util/grub-mkrescue.in: Likewise.
1279 * util/grub.d/30_os-prober.in: Likewise.
1280
49ce9e50
VS
12812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1284 with "Direct color" and "Packed" with "Packed pixel".
1285 (grub_cmd_videoinfo): Simplify legend.
1286
e4b791fa
VS
12872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1290 absolutely unclear error message.
1291
fd1265cb
VS
12922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * util/grub-mkstandalone.in: Remove confusing leftover print.
1295
8822a8a0
VS
12962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1299 comments.
1300 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1301 (GRUB_MOD_INIT): Likewise.
1302 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1303 VGA mode.
1304 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1305 comments.
1306 * util/grub-install.in (usage): Likewise.
1307 Spell ID in whole letters.
1308 Add missing ending dot.
1309 Quote variables.
1310 * util/grub-reboot.in: Fix capitalisation.
1311 * util/grub-set-default.in: Likewise.
1312
937fd0cc
VS
13132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1316 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1317 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1318 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1319 Disable -Werror for -Wdeprecated-declarations.
1320 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1321 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1322 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1323 (grub_util_get_grub_dev): Make luks handling dependent on
1324 HAVE_DEVICE_MAPPER and not __linux__.
1325 (get_win32_path): Fix format security.
1326 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1327 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1328 Don't try grub_find_zpool_from_dir.
1329 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1330 #ifdef-out paresdir.
1331
1bab1ae3
VS
13322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub-pe2elf.c (usage): Add missing noreturn.
1335 (write_section_data): Rename name to shname to avoid shadowing.
1336 (write_symbol_table): Rename name to symname to avoid shadowing.
1337 Fix write_reloc_section call.
1338
ef023e42
VS
13392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1342 to ensure that it's after the last byte of .text.
1343
48afcb75
VS
13442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/ieee1275/ofpath.c (my_isdigit): New function.
1347 (trailing_digits): Use my_isdigit.
1348 (strip_trailing_digits): Likewise.
1349
88d51eff
VS
13502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1353 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1354
17edc2ba
VS
13552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/kern/i386/pc/startup.S: Define __start.
1358
ad5518d7
VS
13592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1362 strip already transforms he format.
1363
9e95e1bf
VS
13642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1367
9cc3ee5c
VS
13682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/grub-install.in: Add missing gettext init.
1371 * util/grub-kbdcomp.in: Likewise.
1372 * util/grub-mkconfig.in: Likewise.
1373 * util/grub-mknetdir.in: Likewise.
1374 * util/grub-mkrescue.in: Likewise.
1375 * util/grub-mkstandalone.in: Likewise.
1376 * util/grub-reboot.in: Likewise.
1377 * util/grub-set-default.in: Likewise.
1378 * util/grub.d/00_header.in: Likewise.
1379 * util/grub.d/10_hurd.in: Likewise.
1380 * util/grub.d/10_windows.in: Likewise.
1381 * util/grub.d/30_os-prober.in: Likewise.
1382 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1383
49e08a06
VS
13842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * po/Rules-swiss: Fix header comment.
1387
3809cb41
AV
13882012-02-29 Andreas Vogel <anvoit>
1389
1390 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1391 resulted in leak of arguments.
1392
fa6ec573
VS
13932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1396 reed_solomon_size const definition instead of computing it since
1397 Apple assembler doesn't support the later.
1398
22899b9c
VS
13992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * gentpl.py (kernel): Rewrite Apple part.
1402
a132afc3
VS
14032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1406
9d742bd4
VS
14072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1410 ELF section gap.
1411 (load_image): Likewise.
1412
f04a9a21
VS
14132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * configure.ac: Fix a typo in previous commit.
1416
46cf439c
VS
14172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Don't add -Wl,-N on Apple platform.
1420
1421 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1422 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1423
c4c48c54
VS
14242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/Makefile.core.def (lzma_decompress): Use
1427 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1428
31a12124
VS
14292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/genmod.sh.in: Rewrite the Apple part.
1432
4f3aa1af
VS
14332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1436 comparison.
1437
7bd8b0c7
VS
14382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * acinclude.m4 (grub_CHECK_PIC): New test.
1441 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1442
97304d7c
VS
14432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1446 to avoid the warning.
1447
fb883812
VS
14482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1451 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1452 after. All users updated.
1453
a121c964
VS
14542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 Use the common size routine in hostfs so we can read disks as well.
1457
1458 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1459 (grub_util_get_fd_size): ... this. Return size in bytes.
1460 All users updated.
1461 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1462 grub_util_get_fd_size.
1463
c66d6410
VS
14642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1467 Add blocksize retrieval.
1468
dfc8aeb0
VS
14692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * configure.ac: Restore CFLAGS after efiemu check.
1472
403e25a5
VS
14732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1476 Apple bug.
1477
382775d1
VS
14782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1481
6fd4e6e4
VS
14822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1485 (grub_cmd_halt): Likewise.
1486
bea359d6
VS
14872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1490 for local arithmetics.
1491 Break %sp init into 2 instructions.
1492 Add 0 byte at the end.
1493
32eb6ee1
VS
14942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1497 before loops.
1498
e8377389
VS
14992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1502 for context.
1503
8cb17de7
VS
15042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/disk/ldm.c (make_vg): Init part.name.
1507 (grub_ldm_detect): Silence spurious warning.
1508 (grub_util_is_ldm): Likewise.
1509
595717e6
VS
15102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1513 sane value to avoid a spurious warning.
1514
c4b7e588
VS
15152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1518 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1519
59824957
VS
15202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1523 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1524
70115b99
VS
15252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1528 hardcoding the relevant info.
1529
56733740
VS
15302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1533 missing const qualifiers.
1534 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1535
43481481
VS
15362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * util/getroot.c [__APPLE__]: Add missing includes.
1539 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1540
3cb38f01
VS
15412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1544
d9dbf11e
VS
15452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1548 avoid conflicts.
1549
0c42a45d
VS
15502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1553
46c34eb0
VS
15542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1557 and grub_file_close call.
1558
99ce1597
VS
15592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 Add LZSS Mach-O support (needed for new xnu kernelcache).
1562
1563 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1564 * grub-core/loader/lzss.c: New file.
1565 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1566 on Mach-O open failure.
1567 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1568 Don't free cmdsXX in uncompressedXX is set.
1569 (grub_macho_file): Init new fields.
1570 New argument is_64bit. All users updated.
1571 Handle compressed. Error out if no suitable architecture is found.
1572 Don't close file.
1573 (grub_macho_open): New argument is_64bit. All users updated.
1574 * grub-core/loader/macho32.c: Add defines for new fields.
1575 * grub-core/loader/macho64.c: Likewise.
1576 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1577 (grub_macho_parse): Handle compressed.
1578 Defer actual processing if compressed.
1579 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1580 "filename". All users updated.
1581 (grub_macho_size): New argument "filename". All users updated.
1582 (grub_macho_get_entry_point): Likewise.
1583 (grub_macho_load): Handle compressed.
1584 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1585 (GRUB_MACHO_LZSS_OFFSET): New define.
1586 (grub_decompress_lzss): New proto.
1587 * include/grub/machoload.h (grub_macho_file): New fields to handle
1588 compressed.
1589 (grub_macho_contains_macho64): Remove proto.
1590 (grub_macho_contains_macho32): Likewise.
1591 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1592
ebd17d6f
VS
15932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1596
2702b4e4
VS
15972012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 Fix make dist.
1600
1601 * Makefile.am (starfield_theme_files): New var.
1602 (starfield_DATA): Use starfield_theme_files.
1603 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1604 Add bootcheck-related files.
1605 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1606 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1607 and font_char_metrics.txt.
1608 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1609 (setjmp): Add lib/ia64/longjmp.S.
1610 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1611 * po/POTFILES.in: Regenerate.
1612 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1613 DISTFILES.common.extra1.
1614 * util/devicemap.c: Removed.
1615 * grub-core/lib/i386/relocator_backward.S: Likewise.
1616 * util/import_gcry.py: Remove unused files. Add extra_dist for
1617 ChangeLog.
1618
cf1adfdf
VS
16192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1622 grub_gettext_delete_list before changing grub_gettext_max to avoid
1623 running out of array bounds.
1624
16252012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1626
1627 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1628 grub_vga_text_init/grub_vga_text_fini.
1629
cf1adfdf 16302012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1631
1632 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1633
541d92e9
VS
16342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * configure.ac: Bump to 2.00~beta0.
1637
7931dddf
VS
16382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1641 missing initialisation.
1642
f1b16fa3
VS
16432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1646
83ddae23
VS
16472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 Support v2 xnu boot arguments.
1650
1651 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1652 New argument fsbfreq_out.
1653 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1654 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1655 be used.
1656 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1657 darwin_version.
1658 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1659 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1660 (grub_xnu_boot_params): Rename to ...
1661 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1662 (grub_xnu_boot_params_v2): New struct.
1663
dc693fe6
VS
16642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1667 zeroing of CRC field before computing CRC.
1668
5a6e39c2
VS
16692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1672 Change order of allocations to decrease fragmentation.
1673
6c21f5d7
VS
16742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1677
cfe456dc
CW
16782012-02-27 Colin Watson <cjwatson@ubuntu.com>
1679
1680 Use write-combining MTRR to speed up video with buggy BIOSes.
1681
1682 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1683 (cpuid): New define.
1684 (rdmsr): Likewise.
1685 (wrmsr): Likewise.
1686 (mtrr_base): Likewise.
1687 (mtrr_mask): Likewise.
1688 (grub_vbe_enable_mtrr_entry): New function.
1689 (grub_vbe_enable_mtrr): Likewise.
1690 (grub_vbe_disable_mtrr): Likewise.
1691 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1692 control off to BIOS.
1693 (grub_video_vbe_init): Fill mtrr.
1694 (grub_video_vbe_fini): Disable mtrr.
1695 (grub_video_vbe_get_info_and_fini): Likewise.
1696 (grub_video_vbe_setup): Enable mtrr.
1697
e3c78337
CW
16982012-02-27 Colin Watson <cjwatson@ubuntu.com>
1699
1700 * include/grub/partition.h (grub_partition_map): Change prototype of
1701 embed to take a maximum value for nsectors.
1702 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1703 * include/grub/fs.h (grub_fs): Likewise.
1704 * grub-core/partmap/msdos.c (embed_signatures): New array.
1705 (pc_partition_map_embed): Check for and avoid sectors matching any
1706 of the signatures in embed_signatures, up to max_nsectors.
1707 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1708 returned sector map to max_nsectors.
1709 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1710 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1711 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1712 * util/grub-setup.c (setup): Allow for the embedding area being
1713 split into multiple blocklists. Tell dest_partmap->embed the
1714 maximum number of sectors we care about.
1715
17162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1719 Specify blocklist_install and reserver_first_sector for all fs.
1720 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1721 blocklists.
1722
984b973f
VS
17232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * util/grub-install.in: Clarify strings.
1726 Fix source dir check.
1727
f122e0d6
RL
17282012-02-27 Richard Laager <rlaager@wiktel.com>
1729
1730 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1731 "zfs" and "fuse.zfs" as synonyms.
1732
071114bb
VS
17332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * configure.ac: Put platform and target_cpu substitutions back since
1736 they are used for directories.
1737
817e6abc
RL
17382012-02-27 Richard Laager <rlaager@wiktel.com>
17392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1742 * util/grub.d/20_linux_xen.in: Likewise.
1743
897b7419
RL
17442012-02-27 Richard Laager <rlaager@wiktel.com>
1745
1746 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1747 with full paths.
1748
a414bd15
RL
17492012-02-27 Richard Laager <rlaager@wiktel.com>
1750
1751 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1752 unescape.
1753
30ac48c4
VS
17542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Don't use insecure popen in getroot.
1757
1758 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1759 (exec_pipe): ... here.
1760 (find_root_devices_from_poolname): Use exec_pipe.
1761
53f13848
VS
17622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 Remove platform and target_cpu replacement.
1765
1766 * configure.ac: Remove platform and target_cpu substitutions.
1767 * tests/util/grub-shell.in: Use modinfo.
1768 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1769 explicitly.
1770
90cb2803
VS
17712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Autodetect platform in grub-install but allow override.
1774
1775 * util/grub-install.in: Autodetect platform. Support --target and
1776 --directory. Read platform from modinfo.sh.
1777
b9136427
VS
17782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 Support btrfs multi-volume probe.
1781
1782 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1783 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1784 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1785 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1786 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1787 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1788 grub_find_root_devices_from_btrfs if on btrfs.
1789
c36e5cd1
VS
17902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Remove any awareness of *.c util files about target.
1793
1794 * Makefile.util.def (grub-setup): Split to ...
1795 (grub-bios-setup): ... and this.
1796 (grub-sparc64-setup): ... and this.
1797 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1798 * docs/man/grub-setup.h2m: Split into ...
1799 * docs/man/grub-sparc64-setup.h2m: ... this.
1800 * docs/man/grub-bios-setup.h2m: ... and this.
1801 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1802 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1803 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1804 (grub_target_addr_t): Remove.
1805 (grub_target_size_t): Remove.
1806 (grub_target_ssize_t): Remove.
1807 * util/grub-install.in: Use new grub-*-setup.
1808 * util/grub-mkimagexx.c (Elf_Word): New define.
1809 (Elf_Half): Likewise.
1810 (Elf_Section): Likewise.
1811 (ELF_ST_TYPE): Likewise.
1812 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1813 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1814
584b2f8a
VS
18152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Replace grub_target_addr with more appropriate types.
1818
1819 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1820 grub_target_addr with grub_addr.
1821 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1822 grub_target_addr with grub_port.
1823 (grub_cmd_write): Likewise.
1824 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1825 grub_target_addr with grub_addr.
1826 (grub_cmd_write): Likewise.
1827 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1828
5a0dc6fb
VS
18292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1832 const qualifier for vendor_guid.
1833
786aff6e
VS
18342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1837 const qualifier.
1838 (efiemu_memequal): Likewise.
1839 (find_variable): Likewise.
1840
49017b17
VS
18412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Fix missing console prototype on qemu-mips.
1844
1845 * include/grub/mips/qemu_mips/console.h: New file.
1846
c5988629
MG
18472012-02-27 Matthew Garrett <mjg@redhat.com>
18482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1851 * include/grub/efi/efi.h: Likewise.
1852 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1853 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1854 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1855 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1856 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1857 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1858
e33f8d69
MG
18592012-02-27 Matthew Garrett <mjg@redhat.com>
1860
1861 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1862
fb312cd9
VS
18632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1866 error.
1867
7134247c
VS
18682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * configure.ac: Remove inappropriate use of program_transform_name
1871 on grubdir and bootdir but allow explicit specification of those
1872 variables.
1873
6a313124
VS
18742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * util/grub-mknetdir.in (grub_prefix): Removed.
1877 (subdir): Use @bootdirname@ and @grubdirname@.
1878
2311c5ca
VS
18792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1882
7d5d60f7
VS
18832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * po/POTFILES.in: Regenerated.
1886
8151bc82
VS
18872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 Remove improper use of program_transform_name on pkglibrootdir.
1890
1891 * configure.ac (pkglibrootdir): Removed.
1892 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1893 * util/grub-mkimage.c: Likewise.
1894
b4a6a533
VS
18952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1898 warning.
1899
668f304f
VS
19002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * util/grub-install.in: Use file identifier if no UUID is available
1903 or user explicitly prompted for it.
1904
665f2341
NP
19052012-02-27 Navdeep Parhar <nparhar@gmail.com>
1906
1907 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1908 (freebsd_get_zfs): New function.
1909 (grub_freebsd_boot): Pass zfs UUID.
1910 (grub_cmd_freebsd): Set zfs UUID.
1911
8151bc82 19122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1913
1914 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1915 pkglibrootdir.
1916
e4c498a1
MG
19172012-02-27 Mike Gilbert <floppym@gentoo.org>
1918
1919 Add configure flag to control libzfs integration.
1920
1921 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1922
1e9a9a3f
VS
19232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1926 device.
1927 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1928 small devices.
1929
036985b8
VS
19302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1933 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1934 be used on non-modules.
1935
1936 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1937 Rename to grub_boot_init.
1938 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1939 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1940 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1941 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1942 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1943 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1944 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1945 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1946 includes.
1947 (grub_machine_init): Remove empty inits.
1948 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1949 includes.
1950 (grub_machine_init): Remove empty inits.
1951 * grub-core/term/arc/console.c: Remove explicit proto.
1952 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1953 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1954 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1955 grub_at_keyboard_fini.
1956 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1957 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1958 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1959 grub_gfxterm_fini.
1960 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1961 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1962 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1963 grub_vgatext_fini.
1964 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1965 * grub-core/term/serial.c (GRUB_MOD_INIT)
1966 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1967 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1968 grub_serial_fini.
1969 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1970 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1971 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1972 grub_terminfo_fini.
1973 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1974 (GRUB_MOD_FINI): Likewise.
1975 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1976 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1977 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1978 grub_video_radeon_fuloong2e_fini.
1979 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1980 [LOONGSON]: Rename to grub_video_sis315pro_init.
1981 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1982 grub_video_sis315pro_fini.
1983 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1984 [LOONGSON]: Rename to grub_video_sm712_init.
1985 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1986 grub_video_sm712_fini.
1987 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1988 (grub_at_keyboard_fini): Likewise.
1989 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1990 Don't declare grub_{modname}_init.
1991 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1992 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1993 New proto.
1994 (grub_keylayouts_fini) [!EMU]: Likewise.
1995 * include/grub/serial.h (grub_serial_init) [!EMU]:
1996 New proto.
1997 (grub_serial_fini) [!EMU]: Likewise.
1998 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1999 New proto.
2000 (grub_terminfo_fini) [!EMU]: Likewise.
2001 * include/grub/video.h (grub_font_init) [!EMU]:
2002 New proto.
2003 (grub_font_fini) [!EMU]: Likewise.
2004 (grub_gfxterm_init) [!EMU]: Likewise.
2005 (grub_gfxterm_fini) [!EMU]: Likewise.
2006 (grub_video_sm712_init) [!EMU]: Likewise.
2007 (grub_video_sm712_fini) [!EMU]: Likewise.
2008 (grub_video_sis315pro_init) [!EMU]: Likewise.
2009 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2010 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2011 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2012
d5534665
VS
20132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Make nand a prefix for nand devices.
2016
2017 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2018
10133b5f
VS
20192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2022 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2023
8e307a62
VS
20242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * include/grub/env.h (grub_env_find): Remove prototype.
2027 * grub-core/kern/env.c (grub_env_find): Make static.
2028 (grub_env_set): Remove useless set.
2029
a4c65f34
VS
20302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/kern/i386/realmode.S: Remove useless align.
2033
d87893d5
VS
20342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * include/grub/dl.h (grub_dl_load_file): Don't export.
2037
50159add
VS
20382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2041 grub_dprintf.
2042
b2582b84
VS
20432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2046 grub_errors.
2047 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2048 not reloading whole superblock but only the part which is really needed.
2049 Remove useless grub_errors.
2050 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2051 grub_errors.
2052
e2a83395
VS
20532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Don't export grub_get_rtc.
2056
2057 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2058 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2059
e7d2a906
VS
20602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2063
6cf1363b
VS
20642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2067 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2068
eece3349
VS
20692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 Remove prio_list.
2072
2073 * include/grub/list.h (grub_prio_list): Removed.
2074 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2075 GRUB_COMMAND_PRIO_MASK.
2076 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2077 GRUB_COMMAND_FLAG_ACTIVE.
2078 (grub_prio_list_insert): Removed.
2079 (grub_prio_list_remove): Likewise.
2080 (GRUB_AS_PRIO_LIST): Likewise.
2081 (GRUB_AS_PRIO_LIST_P): Likewise.
2082 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2083 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2084 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2085 * grub-core/kern/command.c (grub_register_command_prio): Inline
2086 the prio_list code.
2087 (grub_unregister_command): Likewise.
2088
94f064b4
VS
20892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 Fix interrupt mixup from previous commit.
2092
2093 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2094 (grub_realidt): New var.
2095 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2096 Load idt.
2097 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2098 New declaration.
2099 (grub_relocator16_boot): Set grub_relocator16_idt.
2100 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2101 (LOCAL(realidt)): ... this.
2102 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2103 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2104 (grub_realidt): New variable.
2105
27317084
VS
21062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2109 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2110 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2111 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2112 Gettextize.
2113 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2114 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2115 * po/POTFILES.in: Regenerate.
2116
47b40053
VS
21172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2120 errors.
2121
2b343101
VS
21222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2125 \0.
2126 (add_length): Likewise.
2127
ff27c3dd
LK
21282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21292012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2130
2131 GDB serial and backtrace support.
2132
2133 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2134 (prot_to_real): Likewise.
2135 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2136 * grub-core/Makefile.core.def (backtrace): New module.
2137 (gdb): Likewise.
2138 * grub-core/gdb/cstub.c: New file.
2139 * grub-core/gdb/gdb.c: Likewise.
2140 * grub-core/gdb/i386/idt.c: Likewise.
2141 * grub-core/gdb/i386/machdep.S: Likewise.
2142 * grub-core/gdb/i386/signal.c: Likewise.
2143 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2144 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2145 * include/grub/backtrace.h: Likewise.
2146 * include/grub/gdb.h: Likewise.
2147 * include/grub/i386/gdb.h: Likewise.
2148
21492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2150
2151 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2152 New function.
2153 (add_length): Likewise.
2154 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2155 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2156 proto.
2157 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2158 __argp_get_display_len.
2159
ff27c3dd 21602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2161
2162 $"..." support in scripts.
2163
2164 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2165 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2166 * grub-core/script/yylex.l: Likewise.
2167 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2168 value.
2169
ff27c3dd 21702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2171
2172 * gentpl.py: Remove obsolete pkglib_DATA handling.
2173
ff27c3dd 21742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2175
2176 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2177 mailing list.
2178
2179 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2180 * util/grub-kbdcomp.in: Likewise.
2181 * util/grub-mkconfig.in: Likewise.
2182 * util/grub-mkconfig_lib.in: Likewise.
2183 * util/grub-mknetdir.in: Likewise.
2184 * util/grub-mkrescue.in: Likewise.
2185 * util/grub-mkstandalone.in: Likewise.
2186 * util/grub-reboot.in: Likewise.
2187 * util/grub-set-default.in: Likewise.
2188 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2189
ff27c3dd 21902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2191
2192 Remove GRUB_PREFIX.
2193
2194 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2195 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2196 used for backward compatibility.
2197
ff27c3dd 21982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2199
2200 Add new all_video module.
2201
2202 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2203 * grub-core/Makefile.core.def (all_video): New module.
2204 * grub-core/genmoddep.awk: Generate dependency of all_video from
2205 video.lst.
2206 * grub-core/lib/fake_module.c: New file.
2207 * grub-core/normal/main.c (features): Add feature_all_video_module.
2208 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2209 don't do explicit search again.
47454da5 2210 insmod all_video in load_video if available.
22c7ce85 2211
ff27c3dd 22122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2213
2214 Another round of string clarification and adding TRANSLATORS comments.
2215
ff27c3dd 22162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2217
2218 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2219
ff27c3dd 22202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2221
2222 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2223 to grub_ssize_t.
2224 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2225 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2226
ff27c3dd 22272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2228
2229 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2230 trailing newline implicitly. All users updated.
2231
ff27c3dd 22322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2233
2234 Implement serial on IEEE1275 and EFI.
2235
2236 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2237 on emu. Mention arc and emu as the only platforms without serial
2238 support.
2239 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2240 ieee1275 platforms.
2241 * grub-core/term/efi/serial.c: New file.
2242 * grub-core/term/ieee1275/serial.c: Likewise.
2243 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2244 specification if no ns8250 driver is available.
2245 (grub_cmd_serial): Likewise.
2246 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2247 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2248 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2249 (grub_efi_parity_type_t): New type.
2250 (grub_efi_stop_bits_t): Likewise.
2251 (grub_efi_serial_io_interface): New struct.
2252 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2253 available for all interfaces.
2254 Add EFI and IEEE1275 fields.
2255 (grub_ofserial_init): New proto.
2256 (grub_efiserial_init): Likeiwse.
2257 * util/grub.d/00_header.in: Don't check for the presence of serial
2258 module.
2259
ff27c3dd 22602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2261
2262 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2263 name as if it was an alias.
2264
114076ef
VS
22652012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/commands/lsacpi.c (options): Fix typo.
2268
6a656b0e
VS
22692012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 Convert grub-emu to argp.
2272
2273 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2274 emu.
2275 * util/argp_common.c: Rename to ...
2276 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2277 Add missing includes.
2278 * grub-core/kern/emu/main.c: Convert to argp.
2279 * po/POTFILES.in: Regenerate.
2280 * util/grub-install.in (usage): Make first letter lowcase in messages
2281 for uniformity.
2282 * util/grub-setup.c (options): Likewise.
2283
1e3f8ae8
VS
22842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2287 Put back accidently commented-out code.
2288
ed167a80
VS
22892012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2292 loop check using Brent algorithm.
2293 (grub_hfsplus_btree_search): Likewise.
2294
6753c0ec
VS
22952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * util/grub-install.in: Fix usage of wrong device for PreP install.
2298
4e27343f
VS
22992012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * conf/Makefile.common (CFLAGS_GNULIB): Add
2302 -Wno-unsafe-loop-optimizations.
2303 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2304 on tools.
2305 * grub-core/commands/legacycfg.c: Add pragma to skip
2306 -Wunsafe-loop-optimizations.
2307 (check_password_md5_real): Fix loop counter type.
2308 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2309 reading.
2310 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2311 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2312 loop condition.
2313 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2314 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2315 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2316 condition.
2317 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2318 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2319 avoid possible infinite loops.
2320 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2321 and -Wunsafe-loop-optimizations.
2322 * grub-core/script/yylex.l: Likewise.
2323 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2324 (print_glyphs): Avoid infinite loops.
2325 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2326
697f18b0
GS
23272012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2328
2329 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2330 to avoid infinite loop.
2331 (disp_acpi_rsdt_table): Likewise.
2332
274416e8
VS
23332012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/font/font.c (grub_font_load): Add support for default
2336 path for fonts ($prefix/fonts).
2337 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2338 for checking if string is a path.
2339 * grub-core/normal/main.c (features): Add feature_default_font_path.
2340 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2341 * util/grub.d/00_header.in: Use default directory if possible.
2342 * util/grub-install.in: Install unicode.pf2.
2343
b3e08622
VS
23442012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2347 * po/Rules-swiss: New file.
2348 * po/swiss.sed: Likewise.
2349
fe42ce09
VS
23502012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/fs/btrfs.c (find_device): Fix typos.
2353 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2354 * util/grub-mkrelpath.c (argp_parser): Likewise.
2355 Reported by: Yuri Chornoivan.
2356
72f1d065
DO
23572012-02-23 Dalet Omega <daletomega@gmail.com>
2358
2359 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2360 for usual informative messages.
2361
c5884973
DO
23622012-02-23 Dalet Omega <daletomega@gmail.com>
2363
2364 Starfield theme.
2365
2366 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2367 * conf/Makefile.common: Define starfielddir.
2368 * configure.ac: Configure starfield.
2369 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2370 * themes/starfield/README: Likewise.
2371 * themes/starfield/blob_w.png: Likewise.
2372 * themes/starfield/boot_menu_c.png: Likewise.
2373 * themes/starfield/boot_menu_e.png: Likewise.
2374 * themes/starfield/boot_menu_n.png: Likewise.
2375 * themes/starfield/boot_menu_ne.png: Likewise.
2376 * themes/starfield/boot_menu_nw.png: Likewise.
2377 * themes/starfield/boot_menu_s.png: Likewise.
2378 * themes/starfield/boot_menu_se.png: Likewise.
2379 * themes/starfield/boot_menu_sw.png: Likewise.
2380 * themes/starfield/boot_menu_w.png: Likewise.
2381 * themes/starfield/slider_c.png: Likewise.
2382 * themes/starfield/slider_n.png: Likewise.
2383 * themes/starfield/slider_s.png: Likewise.
2384 * themes/starfield/src/blob_nw.xcf: Likewise.
2385 * themes/starfield/src/bootmenu/: Likewise.
2386 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2387 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2388 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2389 * themes/starfield/src/slider_c.xcf: Likewise.
2390 * themes/starfield/src/slider_n.xcf: Likewise.
2391 * themes/starfield/src/slider_s.xcf: Likewise.
2392 * themes/starfield/src/terminalbox/: Likewise.
2393 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2394 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2395 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2396 * themes/starfield/starfield.png: Likewise.
2397 * themes/starfield/terminal_box_c.png: Likewise.
2398 * themes/starfield/terminal_box_e.png: Likewise.
2399 * themes/starfield/terminal_box_n.png: Likewise.
2400 * themes/starfield/terminal_box_ne.png: Likewise.
2401 * themes/starfield/terminal_box_nw.png: Likewise.
2402 * themes/starfield/terminal_box_s.png: Likewise.
2403 * themes/starfield/terminal_box_se.png: Likewise.
2404 * themes/starfield/terminal_box_sw.png: Likewise.
2405 * themes/starfield/terminal_box_w.png: Likewise.
2406 * themes/starfield/theme.txt: Likewise.
2407
17d73325
VS
24082012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * util/grub.d/00_header.in: Add missing export theme.
2411
dbebaf92
VS
24122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2415 already included.
2416 Reported by: Eren D.
2417
3d68bffb
VS
24182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * conf/Makefile.common (grubdatadir): Removed.
2421 (Makefile.am): Move eveything grubdata to pkgdata.
2422
4b59234d
VS
24232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/commands/acpihalt.c (get_sleep_type):
2426 Remove unused variable.
2427
463dcadc
VS
24282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2431 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2432 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2433 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2434 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2435 i18n with gettext no-op.
2436 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2437 GRUB_ACPI_OPCODE_STRING_CONST.
2438 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2439 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2440
e5b90c82
VS
24412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * po/POTFILES.in: Regenerate.
2444
2a704ca9
VS
24452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2448 -Wno-error=missing-noreturn.
2449
84f9d341
VS
24502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2453 condition to avoid possibly infinite loops.
2454 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2455 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2456
d46683f9
VS
24572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2460 condition to avoid possibly infinite loops.
2461
c44866b2
VS
24622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2465 on show_error.
2466
96790539
VS
24672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2470
1ba7e295
VS
24712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2474
21ffe8f1
VS
24752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * util/bin2h.c (usage): Add missing attribute noreturn.
2478
0ccb6b3c
VS
24792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2482 if the size isn't divisible by 512.
2483
b00d7fb6
VS
24842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Make list_push and list_remove functions rather than inline functions
2487 to decrease size and avoid aliasing violations.
2488
2489 * include/grub/list.h (grub_list_push): Move to ...
2490 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2491 * include/grub/list.h (grub_list_remove): Move to ...
2492 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2493
9d369087
VS
24942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2497 and -Wunused-result.
2498
af0250d9
VS
24992012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2502 Reported by: Seth Goldberg
2503
aad32b14
VS
25042012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2507
ac96441c
ST
25082012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2509
2510 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2511 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2512 command line.
2513 * docs/grub.texi (Simple configuration): Document
2514 GRUB_CMDLINE_GNUMACH.
2515
25162012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2517
2518 * conf/Makefile.common (platform_SCRIPTS): New variable.
2519 (platform_PROGRAMS): Likewise.
2520 * gentpl.py: Mark *,module and *.image for install.
2521 * grub-core/gdb_grub.in: Add a notice of expected environment.
2522 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2523 (gmodule.pl): Likewise.
2524
ac96441c 25252012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2526
2527 Replace grub_checkkey with grub_getkey_noblock.
2528
2529 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2530 (grub_getkey_noblock): ... this. All users updated.
2531
ac96441c 25322012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2533
2534 * grub-core/kern/emu/console.c: Move to ...
2535 * grub-core/term/emu/console.c: ...here.
2536 (grub_ncurses_getkey): Fix return value if no key is detected.
2537
e51b5666
VS
25382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2541 (grub_unit_test_fini): Likewise.
2542 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2543
25442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * include/grub/test.h (GRUB_UNIT_TEST)
2547
d9a62292
VS
25482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2551 Better error handling.
2552 (grub_script_return): Likewise.
2553 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2554
77c9182f
VS
25552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2558 rimplicit redifinition.
2559
edb13cf9
VS
25602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2563 GRUB.
2564
a9e9dc7c
VS
25652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2568 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2569 prompt here.
2570
b4ba8e02
VS
25712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2574 as GRUB_ERR_BUG. Don't malloc if no device is available.
2575
dded5540
VS
25762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2579 Mark calling with invalid term as GRUB_ERR_BUG.
2580
0cf69874
VS
25812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2584 packets rather than raising an error.
2585
59bfe502
VS
25862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2589 in if.
2590
db5fc596
VS
25912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2594 diagnostic to dprintf.
2595 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2596
e4b7f404
VS
25972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2600 device name.
2601
e7b02f9e
VS
26022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2605 (grub_ntfs_iterate_dir): Likewise.
2606
0331e102
VS
26072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Efiemu stylistic fixes and gettext.
2610
2611 * grub-core/efiemu/i386/loadcore32.c
2612 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2613 * grub-core/efiemu/i386/loadcore64.c
2614 (grub_arch_efiemu_relocate_symbols64): Likewise.
2615 * grub-core/efiemu/i386/pc/cfgtables.c
2616 (grub_machine_efiemu_init_tables): Likewise.
2617 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2618 (grub_efiemu_loadcore_initXX): Add a filename argument.
2619 All users updated.
2620 Improved error message.
2621 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2622 Add a filename argument.
2623 All users updated.
2624 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2625 Reclassify double relocation as GRUB_ERR_BUG.
2626
306fc074
VS
26272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2630 handling.
2631
794d8ef2
VS
26322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2635 on partition.
2636
26372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2638
2639 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2640
794d8ef2 26412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2642
2643 Improve string. Gettextize.
2644
78dde88e
VS
26452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2648 utils.
2649 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2650
4786a90f
VS
26512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2654 [GRUB_UTIL]: New function.
2655 (insert_array) [GRUB_UTIL]: Store partmaps.
2656 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2657 partmaps.
2658 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2659 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2660 (probe_abstraction): Print diskfilter and not raid.
2661 Reported by: Lennart Sorensen
2662
0b6225bd
VS
26632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2666 * util/grub-mkimagexx.c (MASK3): New define.
2667 (add_value_to_slot_20b): Use MASK3.
2668 (add_value_to_slot_21): Likewise.
2669 (relocate_addresses): Fix format specification.
2670 (load_image): Explicitly init symtab_section.
2671
b055f8f6
VS
26722012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2675 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2676
b77c2fb7
VS
26772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2680 on powerpc.
2681 Reported by: Lennart Sorensen
2682
e3ec28ab
VS
26832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * gentpl.py: Add missing license header.
2686 * docs/grub.texi: Update copyright year.
2687
c8d9ead6
GS
26882012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2689
2690 Source grub-mkconfig_lib from the build directory at build time.
2691 Suggested by: Vladimir Serbinenko.
2692
2693 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2694 * util/grub-install.in: Define pkgdatadir if not already set, and source
2695 grub-mkconfig_lib from there.
2696 * util/grub-kbdcomp.in: Likewise.
2697 * util/grub-mkconfig.in: Likewise.
2698 * util/grub-mknetdir.in: Likewise.
2699 * util/grub-mkrescue.in: Likewise.
2700 * util/grub-mkstandalone.in: Likewise.
2701 * util/grub-reboot.in: Likewise.
2702 * util/grub-set-default.in: Likewise.
2703 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2704
ebcecdf1
VS
27052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 Increase warning level.
2708
2709 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2710 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2711 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2712 (TARGET_CFLAGS): Likewise.
2713 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2714 * grub-core/Makefile.core.def (decompressor_xz): Add
2715 -Wno-unreachable-code.
2716 (normal): Add -Wno-redundant-decls.
2717 (xzio): Add -Wno-unreachable-code.
2718 (lzopio): Add -Wno-redundant-decls -Wno-error.
2719 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2720 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2721 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2722 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2723 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2724 * grub-core/kern/i386/coreboot/init.c: Add exception to
2725 -Wsuggest-attribute=noreturn.
2726 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2727 * grub-core/kern/ia64/dl_helper.c: Likewise.
2728 * grub-core/kern/mips/dl.c: Likewise.
2729 * grub-core/kern/sparc64/dl.c: Likewise.
2730 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2731 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2732 (memcmp): Likewise.
2733 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2734 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2735 * grub-core/loader/mips/linux.c: Likewise.
2736 * grub-core/loader/multiboot_elfxx.c: Likewise.
2737 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2738 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2739 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2740 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2741 fixme.
2742 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2743 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2744 Fix prototype.
2745
37bb97fe
VS
27462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2749 address.
2750
29a3550b
VS
27512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2754 Avoid improper use of strings.
2755 (grub_cmd_legacy_initrdnounzip): Likewise.
2756
dfdffd0d
VS
27572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2760 attribute.
2761 (grub_util_info): Likewise.
2762 (grub_util_error): Likewise.
2763
102fae4a
VS
27642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2767 * util/grub-fstest.c (fstest): Likewise.
2768
7e94d044
VS
27692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2772 (grub_md_sha512_real): Likewise.
2773 (grub_util_get_geli_uuid): Likewise.
2774 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2775 (grub_util_biosdisk_open): Fix format specification.
2776 Respect format security.
2777 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2778 (xrealloc): Likewise.
2779 (xasprintf): Likewise.
2780
5ebd9769
VS
27812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * util/import_gcry.py: Include grub/crypto.h in init.c.
2784
495fc8c1
VS
27852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2788 (generate_image): Make prefix a const char *.
2789 Fix format specifications. Respect format security.
2790 Avoid void * arithmetics.
2791 Avoid shadowing.
2792 (argp_parser): Remove unused variable. Respect format security.
2793 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2794 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2795 (count_funcs): Remove unused variable.
2796 (relocate_addresses): Fix format specification.
2797 Disable x86-64 with elf32. Remove unused variables.
2798 (add_fixup_entry): Avoid shadowing.
2799 (make_reloc_section): Fix format specification.
2800 Use assert.
2801 (locate_sections): Fix format specifications.
2802 (load_image): Avoid shadowing.
2803
043c2ea3
VS
28042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2807 Fix format specifications. Respect format security.
2808 Don't translate already translated grub_errmsg.
2809 (argp_parser): Remove unused variable
2810
3ec65a81
VS
28112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2814
a4d9fe4a
VS
28152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2818 (main): Likewise. Use xmalloc. Respect format security.
2819
15b81d49
VS
28202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2823 a const char *.
2824 (argp_parser): Remove unused variable.
2825
31731fc0
VS
28262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2829 (add_pixel): Make static.
2830 (add_font): Likewise.
2831 (write_string_section): Make name and str a const char *.
2832 (write_be16_section): Make name a const char *.
2833 (print_glyphs): Make static.
2834 (write_font_ascii_bitmap): Likewise.
2835 (write_font_width_spec): Likewise.
2836 (write_font_pf2): Likewise.
2837 (argp_parser): Remove unused variable.
2838 Respect format security.
2839 (main): Avoid shadowing. Respect format security.
2840
0809527b
VS
28412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub-editenv.c (argp_parser): Make static.
2844 (create_envblk_file): Use xmalloc.
2845 (open_envblk_file): Likewise.
2846 Resepect format security.
2847 (set_variables): Respect format security.
2848
45b0c8b7
VS
28492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * util/getroot.c (grub_find_device): Respect format security.
2852 (get_mdadm_uuid): Remove unused variable.
2853 (grub_util_pull_device): Dont call gettext on already translated
2854 grub_errmsg.
2855 (find_system_device): Remove unused variable.
2856 (grub_util_get_grub_dev): Likewise.
2857 (grub_make_system_path_relative_to_its_root): Respect format security.
2858
1b024b4e
VS
28592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * util/grub-fstest.c (execute_command): Make first argument
2862 a const char *.
2863 (read_file): Avoid shadowing.
2864 Reuse underlying error message if device open fails.
2865 (cmd_cmp): Respect format security.
2866 (root): Make const char *.
2867 (fstest): Remove args argument and use global copy.
2868 Respect format security.
2869 (argp_parser): Make static.
2870 (main): Make default_root const char *.
2871
5d1d4e28
VS
28722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * util/grub-mount.c (root): Make const char *.
2875 (execute_command): Make first argument a const char *.
2876 (fuse_init): Respect format security.
2877 (argp_parser): Make static. Remove unused variable.
2878 (main): Make default_root a const char *.
2879 Respect format security.
2880
36eb7379
VS
28812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * util/grub-probe.c (probe): Don't call gettext on already translated
2884 grub_errmsg.
2885 Remove unused variables.
2886 (argp_parser): Remove unused variable.
2887
76fb2ea9
VS
28882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * util/grub-script-check.c (argp_parser): Remove unused variable.
2891 (main): Rename read to curread to avoid shadowing.
2892
56c98584
VS
28932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * util/misc.c (grub_util_write_image_at): Fix format specification.
2896 (grub_util_write_image): Likewise.
2897 (grub_script_execute_argument_to_string): Removed (unused).
2898 (grub_script_execute_menuentry): Likewise.
2899 (grub_putchar): Likewise.
2900
164ebb48
VS
29012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2904 (FUNCTION) [GRUB_UTIL]: Likewise.
2905 (VARIABLE) [GRUB_UTIL]: Likewise.
2906
44318d61
VS
29072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2910 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2911
31a26002
VS
29122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2915 buffer.
2916
29172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2918
2919 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2920 (LzmaEnc_SaveState): Removed (unused).
2921 (LzmaEnc_RestoreState): Likewise.
2922 (LzmaEnc_InitPriceTables): Made static.
2923 (LzmaEnc_Construct): Likewise.
2924 (LzmaEnc_FreeLits): Likewise.
2925 (LzmaEnc_Destruct): Likewise.
2926 (LzmaEnc_Init): Likewise.
2927 (LzmaEnc_InitPrices): Likewise.
2928 (LzmaEnc_Finish): Likewise.
2929 (LzmaEnc_PrepareForLzma2): Removed (unused).
2930 (LzmaEnc_MemPrepare): Likewise.
2931 (LzmaEnc_GetNumAvailableBytes): Likewise.
2932 (LzmaEnc_GetCurBuf): Likewise.
2933 (LzmaEnc_CodeOneMemBlock): Likewise.
2934
6fa67967
VS
29352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2938 (grub_util_ldm_embed): Likewise.
2939
9a7428e6
VS
29402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * util/grub-editenv.c (print_var): Rename name to varname to
2943 avoid shadowing.
2944 (main): Rename index to curindex to avoid shadowing.
31a26002 2945 Make filename a const char *.
9a7428e6 2946
4f96abd1
VS
29472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2950 to arg_getline to avoid shadowing.
2951
44d10dad
VS
29522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2955 disk_ to avoid shadowing.
2956
340ba63e
VS
29572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2960 curindex to avoid shadowing.
2961 Make static.
2962 (MatchFinder_GetNumAvailableBytes): Make static.
2963
22965bce
VS
29642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2967 avoid shadowing.
2968
7b5784d4
VS
29692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2972 argument from encrypt to do_encrypt to avoid shadowing.
2973
6f48ca01
VS
29742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2977 incorrect nesting of #if's.
2978
a4ea2dff
VS
29792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2982 checks which are always false on some platforms.
2983 (grub_cmd_lsacpi): Likewise.
2984 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2985 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2986 Likewise.
2987
def9fc1b
VS
29882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2991 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2992
a67b2a04
VS
29932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2996 re_dfa_t to avoid breaking alignment invariants.
2997 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2998 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2999
44c6828d
VS
30002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3003 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3004
bebe0dd0
VS
30052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3008 Fix declaration.
3009
a9cdb3cf
VS
30102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3013 conserve alignment invariants.
3014 (grub_ehci_ehcc_read16): Likewise.
3015 (grub_ehci_oper_read32): Likewise.
3016 (grub_ehci_oper_write32): Likewise.
3017 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3018 Conserve alignment invariants.
3019
ccc3b1b8
VS
30202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3023 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3024 declarations.
3025
987fbd95
VS
30262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3029 Remove unused variable.
3030
0df363f3
VS
30312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3034 Remove set in if.
3035
b2c0c4a6
VS
30362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * include/grub/net.h: Remove double declarations.
3039
690c531f
VS
30402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 Remove "payload" command in ia64 Linux loader since I couldn't
3043 find any evidence of it being used for anything.
3044 Replace "relocate" command with an environment variable
3045
3046 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3047 fields.
3048 (ia64_boot_payload): Removed.
3049 (last_payload): Likewise.
3050 (RELOCATE_OFF): Likewise.
3051 (RELOCATE_ON): Likewise.
3052 (RELOCATE_FORCE): Likewise.
3053 (relocate): Likewise.
3054 (free_pages): Don't free payloads.
3055 (grub_load_elf64): Use common error messages.
3056 Use "linux_relocate" variable.
3057 Increase the space after boot_params.
3058 (grub_cmd_payload): Removed.
3059 (grub_cmd_relocate): Likewise.
3060 (grub_cmd_fpswa): Improve messages.
3061 (cmd_payload): Removed.
3062 (cmd_relocate): Likewise.
3063 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3064 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3065
01783768
VS
30662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 Convert UHCI to DMA framework.
3069
3070 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3071 (grub_uhci_pci_iter): Fill new members
3072 (grub_alloc_td): Use P2V and V2P functions.
3073 (grub_free_queue): Likewise.
3074 (grub_alloc_qh): Likewise.
3075 (grub_uhci_setup_transfer): Likewise.
3076 (grub_uhci_check_transfer): Likewise.
3077
43206939
VS
30782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3081 Remove assignment in if while on it.
3082
571e140e
VS
30832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * util/grub-mkstandalone.in: Fix modules directory.
3086
a9d96eeb
VS
30872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3090 on i386-pc target.
3091 (argp_parser): Accept "auto" as compression specification.
3092
e4e37e8d
VS
30932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 Fix `help' with unloaded modules.
3096
3097 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3098 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3099 (grub_dyncmd_dispatcher): Small stylistic fix.
3100 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3101 explicit help is requested.
3102
e1ea3ade
VS
31032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3106 Explicitly init restart while on it.
3107
27556881
VS
31082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3111 uninited variable.
3112
d65f6b36
VS
31132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * util/grub-mknetdir.in: Use . rather than source for POSIX
3116 compatibility.
3117
0a1e473c
VS
31182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3121
ce6647c8
VS
31222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3125 variable.
3126
66747894
VS
31272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3130 without quotes.
3131
71645f6e
VS
31322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3135
0e1c1f61
VS
31362012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3139 iteration of partitions.
3140
9c4b5c13
VS
31412012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 Improve gettext support. Stylistic fixes and error handling fixes while
3144 on it.
3145
215c90cb
VS
31462012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3149 part. Instead setup the correct stack in RM.
3150 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3151 for stack.
3152 * include/grub/i386/relocator_private.h: New file.
3153
b5c1f9bf
VS
31542012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3157 argument.
3158 * util/grub-fstest.c (options): Add missing DEVICE part.
3159
b525fd83
VS
31602012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Clarify and unify messages.
3163
3164 * grub-core/commands/hashsum.c (options): Unify messages.
3165 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3166 literal-only message as translatable.
3167 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3168 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3169 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3170 commands.
3171 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3172 key, not the key used to unlock. Clarify what it's used for.
3173 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3174 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3175 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3176 * util/grub-editenv.c (options): Unify "verbose" message.
3177 * util/grub-fstest.c (read_file): Unify error message.
3178 (fstest): Add quotes around commands.
3179 (options): Unify "verbose" message.
3180 * util/grub-install.in: Add quotes around variable name.
3181 * util/grub-kbdcomp.in: Unify error message.
3182 * util/grub-mkfont.c (main): Likewise.
3183 * util/grub-mkrescue.in: Likewise.
3184 * util/grub-mklayout.c (options): Unify "verbose" message.
3185 * util/grub-mkstandalone.in: Unify help and verbose messages.
3186 * util/grub-mount.c (options): Unify "verbose" message.
3187 * util/grub-probe.c (options): Likewise.
3188 * util/grub-script-check.c (options): Likewise.
3189 * util/grub-setup.c (setup): Unify no-terminator message.
3190 (options): Use DEVICE and not DEV.
3191 Unify "verbose" message.
3192 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3193
0ae70393
VS
31942012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Improve and unify messages.
3197
3198 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3199 name. All users updated.
3200 Print filename in error.
3201 (read_device_map): Print filename in error.
3202 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3203 (grub_util_get_os_disk): Likewise.
3204 (grub_util_biosdisk_get_grub_dev): Likewise.
3205 (grub_util_check_block_device): Likewise.
3206 (grub_util_check_char_device): Likewise.
3207 (grub_make_system_path_relative_to_its_root): Likewise.
3208 * util/grub-editenv.c (create_envblk_file): Likewise.
3209 (open_envblk_file): Likewise.
3210 (write_envblk): Likewise.
3211 * util/grub-fstest.c (cmd_cp): Likewise.
3212 (cmd_cat): Likewise.
3213 (cmd_cmp): Likewise.
3214 * util/grub-menulst2cfg.c (main): Likewise.
3215 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3216 (write_font_width_spec): Likewise.
3217 (write_font_pf2): Likewise.
3218 * util/grub-mkimage.c (generate_image): New argument outname.
3219 All users updated.
3220 Remove unreacheable message.
3221 (options): Unify messages.
3222 (help_filter): Likewise.
3223 * util/grub-mklayout.c (usage): Removed (unused).
3224 (main): Print filename in error.
3225 * util/grub-mkrescue.in: Fix wrong quoting.
3226 * util/grub-setup.c (setup): Print filename in error.
3227 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3228 (check_sas): Likewise.
3229 * util/misc.c (grub_util_get_fp_size): Removed.
3230 (grub_util_get_image_size): Print filename in error.
3231 (grub_util_read_at): Removed.
3232 (grub_util_read_image): Print filename in error.
3233 (grub_util_load_image): Likewise.
3234 (grub_util_write_image_at): New argument filename. All users updated.
3235 Print filename in error.
3236 (grub_util_write_image): New argument filename. All users updated.
3237 Print filename in error.
3238 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3239 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3240
0a96117d
VS
32412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/Makefile.core.def (pxechain): New module.
3244 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3245 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3246 function.
3247 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3248 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3249
aca002f7
VS
32502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3253 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3254 * include/grub/err.h (grub_error_saved): New struct.
3255 (grub_errmsg): Make array size explicit.
3256 * include/grub/misc.h (grub_error_save): New function.
3257 (grub_error_load): Likewise.
3258 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3259 (grub_error_push): Update `errno' member name.
3260 (grub_error_pop): Likewise
3261 * grub-core/net/tftp.c (tftp_data): New member save_err.
3262 (tftp_receive): Save error.
3263 (tftp_open): Restore error.
3264
a51dab13
VS
32652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3268 to real mode down to execute A20-related code in protected mode as
3269 intended.
3270
eb6e6649
GS
32712012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3272
3273 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3274 NULL when the argument `level' has an unexpected value.
3275
92cd0f6e
VS
32762012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 Move platform-dependent files from $prefix to $prefix/$platform.
3279
3280 * config.h.in (GRUB_TARGET_CPU): New definition.
3281 (GRUB_PLATFORM): Likewise.
3282 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3283 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3284 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3285 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3286 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3287 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3288 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3289 * grub-core/normal/term.c (read_terminal_list): Likewise.
3290 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3291 $prefix/locale.
3292 (grub_gettext_init_ext): Likewise.
3293 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3294 grub_platform.
3295 * util/grub-install.in: Update directories.
3296 * util/grub-mknetdir.in: Likewise.
3297 * util/grub-mkrescue.in: Likewise.
3298
db606889
VS
32992012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3302 grub_error framework. All users updated.
3303
c39992a4
VS
33042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3307 lists (by always binsearching), improve caching (cache strings
3308 used for binsearch, not only results), improve
3309 maintainability (by using more structured binary search) and correct
3310 error handling.
3311
1e5ec32f
VS
33122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/script/execute.c (grub_script_return): Fix warning.
3315
ac576cde
VS
33162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/script/execute.c (grub_script_return): Fix potential
3319 NULL-dereference.
3320 Reported by: Jim Meyering.
3321
498453f6
VS
33222012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * po/POTFILES.in: Regenerate.
3325 * util/grub-install.in: Gettextize the strings missed in first pass.
3326
8be63f2e
VS
33272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * Makefile.util.def (grub-mkdevicemap): Removed.
3330 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3331 * include/grub/util/deviceiter.h: Removed.
3332 * util/deviceiter.c: Likewise.
3333 * util/getroot.c (grub_util_get_os_disk): New function.
3334 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3335 replacement for EFI.
3336 * util/grub-mkdevicemap.c: Removed.
3337 * util/grub-probe.c (probe): Handle PRINT_DISK.
3338 (argp_parser): Handle -t disk.
3339
8e1e4e39
VS
33402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * util/grub-mkfont.c: Migrate to argp.
3343 * util/grub-mklayout.c: Likewise.
3344 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3345 * util/grub-mkrelpath.c: Likewise.
3346 * util/grub-probe.c: Likewise.
3347 * util/grub-script-check.c: Likewise.
3348
4459819a
VS
33492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * util/grub-reboot.in: Add missing datarootdir.
3352 Add missing newline.
3353 * util/grub-set-default.in: Add missing datarootdir.
3354 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3355 * util/grub-mkrescue.in: Likewise.
3356
f65741c7
VS
33572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3360
c1a33466
VS
33612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * util/grub-kbdcomp.in: Add decent help and gettextize.
3364 * docs/man/grub-kbdcomp.h2m: New file.
3365
c76899a0
VS
33662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 Migrate grub-mkimage.c to argp.
3369
3370 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3371 (grub-setup): Likewise.
3372 * util/grub-setup.c (print_version): Move to ...
3373 * util/argp_common.c (print_version): ... here.
3374 * util/grub-setup.c (argp_program_version_hook): Move to ...
3375 * util/argp_common.c (argp_program_version_hook): ... here.
3376 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3377 safety.
3378 * util/grub-mkimage.c (main): Migrate to argp.
3379
57db0757
VS
33802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/grub-mkrescue.in: Use same message as
3383 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3384 for better translations.
3385
18534ad9
VS
33862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3389 options with generic grub-mkrescue.in with the goal of future
3390 merge.
3391
c84ba308
VS
33922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/kern/mm.c: Add missing include of i18n.h
3395 * grub-core/lib/relocator.c: Likewise.
3396
347998c2
VS
33972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3400 error.
3401 (allocate_pages): Check return value.
3402 Replace fatal with error.
3403 (grub_linux_boot): Replace printf with dprintf.
3404 Check find_mmap_size return value.
3405 Replace fatal with error.
3406 Don't call grub_machine_fini.
3407 (grub_load_elf64): Replace printf with dprintf.
3408 (grub_cmd_linux): Likewise.
3409 (grub_cmd_initrd): Likewise.
3410 (grub_cmd_payload): Likewise.
3411
c779226e
VS
34122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3415 message.
3416 * grub-core/video/radeon_fuloong2e.c
3417 (grub_video_radeon_fuloong2e_setup): Likewise.
3418 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3419 * grub-core/video/video.c (grub_video_set_mode): Don't override
3420 standard out of memory message.
3421
dc87d45a
GS
34222012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3423
3424 NetBSD disk wedge support.
3425
3426 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3427 [__NetBSD__]: Handle NetBSD disk wedges.
3428 * util/getroot.c (convert_system_partition_to_system_disk)
3429 [__NetBSD__]: Likewise.
3430
055f856f
MW
34312012-02-03 Mark Wooding <mdw@distorted.org.uk>
3432
3433 * util/grub-mkconfig.in: Use umask rather than chmod to create
3434 grub.cfg.new to avoid insecure grub.cfg.
3435
4a9f8346
VS
34362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/commands/ls.c: Gettextize.
3439 * grub-core/commands/setpci.c: Likewise.
3440 * grub-core/commands/videotest.c: Likewise.
3441 * grub-core/disk/geli.c: Likewise.
3442 * grub-core/kern/mm.c: Likewise.
3443 * grub-core/lib/relocator.c: Likewise.
3444 * grub-core/loader/efi/appleloader.c: Likewise.
3445 * grub-core/loader/i386/xnu.c: Likewise.
3446 * grub-core/loader/ia64/efi/linux.c: Likewise.
3447 * grub-core/loader/xnu.c: Likewise.
3448 * grub-core/net/dns.c: Likewise.
3449 * grub-core/net/net.c: Likewise.
3450 * grub-core/script/lexer.c: Likewise.
3451 * grub-core/script/parser.y: Likewise.
3452 * grub-core/script/yylex.l: Likewise.
3453 * util/getroot.c: Likewise.
3454 * util/grub-setup.c: Likewise.
3455
a646a366
VS
34562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3459 number.
3460
54e2be26
VS
34612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3464
f7c71e68
VS
34652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3468 macro.
3469 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3470 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3471
a32d5c71
VS
34722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3475 * util/grub-install.in: Gettextize.
3476 * util/grub-mkconfig.in: Likewise.
3477 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3478 if not available.
3479 (grub_warn): Gettextize.
3480 * util/grub-mknetdir.in: Gettextize.
3481 * util/grub-mkrescue.in: Likewise.
3482 * util/grub-mkstandalone.in: Likewise.
3483 * util/grub-reboot.in: Likewise.
3484 * util/grub-set-default.in: Likewise.
3485 * util/grub.d/00_header.in: Likewise.
3486 * util/grub.d/10_hurd.in: Likewise.
3487 * util/grub.d/10_kfreebsd.in: Likewise.
3488 * util/grub.d/10_linux.in: Likewise.
3489 * util/grub.d/10_netbsd.in: Likewise.
3490 * util/grub.d/10_windows.in: Likewise.
3491 * util/grub.d/20_linux_xen.in: Likewise.
3492 * util/grub.d/30_os-prober.in: Likewise.
3493 * po/POTFILES-shell.in: Regenerate.
3494
69edd81a
RL
34952012-02-03 Richard Laager <rlaager@wiktel.com>
3496
3497 * util/grub-mkimage.c (main): Fix format-security warning.
3498 * util/grub-mkrelpath.c (main): Likewise.
3499 * util/grub-probe.c (main): Likewise.
3500
65f08dbf
RL
35012012-02-03 Richard Laager <rlaager@wiktel.com>
3502
3503 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3504 failure.
3505 Put back lost PRINT_DRIVE.
3506
e9084abe
RL
35072012-02-03 Richard Laager <rlaager@wiktel.com>
3508
3509 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3510 (grub_guess_root_devices): Replace strlen with sizeof.
3511 Avoid crash.
3512 (find_root_devices_from_poolname): Remove unused variable.
3513 Handle raidzN.
3514
cf5f7ee7
VS
35152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Support install on multi-device filesystems.
3518
3519 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3520 (grub_guess_root_devices): ...this. Return char **. All users updated.
3521 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3522 Removed.
3523 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3524 (find_root_devices_from_poolname): ... here.
3525 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3526 Support zfs-fuse.
3527 (grub_guess_root_device): Rename to ...
3528 (grub_guess_root_devices): ... this. Return char **. All users updated.
3529 * util/grub-install.in: Handle multi-device filesystems.
3530 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3531 argument. All users updated.
3532 Handle multi-device filesystems.
3533 Use 'delim' as separator.
3534 Remove device check to allow filesystems on file.
3535 (main): Support -0 argument. Handle multi-device.
3536 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3537 Fix a cross-device check while on it.
3538 (arguments): Remove root_dev.
3539 (argp_parser): Remove -r.
3540 (main): Remove root_dev.
3541
2f53a9ed
VS
35422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3545
17e1d934
VS
35462012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3549 symbol.
3550 Reported by: NODA, Kai <nodakai>.
3551
d3e3fab5
VS
35522012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 Fix ehci on amd64.
3555
3556 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3557 pointers.
3558 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3559 (grub_ehci_setup_qh): Likewise.
3560 (grub_ehci_find_qh): Likewise.
3561 (grub_ehci_transaction): Likewise.
3562 (grub_ehci_setup_transfer): Likewise.
3563 (grub_ehci_check_transfer): Likewise.
3564 (grub_ehci_portstatus): Likewise.
3565 (grub_ehci_detect_dev): Likewise.
3566 (grub_ehci_transfer_controller_data): New field td_last_phys.
3567 (grub_ehci_setup_transfer): Fill td_last_phys.
3568 (grub_ehci_check_transfer): Use td_last_phys.
3569
3008675b
SG
35702012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3571
3572 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3573 if no submenu is present.
3574
fc9b5652
AN
35752012-02-01 Aleš Nesrsta <starous@volny.cz>
3576
3577 CBI support.
3578
3579 * include/grub/usb.h (grub_usbms_protocol_t): New values
3580 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3581 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3582 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3583 (grub_usbms_dev): Add subclass, protocol and intrpt.
3584 Remove in_maxsz and out_maxsz.
3585 (grub_usbms_reset): Rename to ...
3586 (grub_usbms_bo_reset): .. this.
3587 (grub_usbms_cbi_cmd): New function.
3588 (grub_usbms_cbi_reset): Likewise.
3589 (grub_usbms_reset): Likewise.
3590 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3591 (grub_usbms_transfer): Rename to ...
3592 (grub_usbms_transfer_bo): ... this.
3593 (grub_usbms_transfer_cbi): Likewise.
3594 (grub_usbms_transfer): Likewise.
3595
a2b81d53
AN
35962012-02-01 Aleš Nesrsta <starous@volny.cz>
35972012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3600 the support for the CS5536 modification thereos and few bugfixes.
3601
3602 * grub-core/Makefile.core.def (ehci): New module.
3603 * grub-core/bus/usb/ehci.c: New file.
3604 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3605 port and hubaddr. All users updated.
3606 Save port and hubaddr into dev structure.
3607 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3608 define.
3609 * include/grub/pci.h (grub_dma_phys2virt): New function.
3610 (grub_dma_virt2phys): Likewise.
3611 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3612
b1d51f02
VS
36132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3616 check as some mkfs implementations omit it.
3617
fc694106
VS
36182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3621
6c0920e3
VS
36222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3625 Add new member volname2.
3626 (grub_jfs_label): Use volname2 if available.
3627
d1a46f9a
VS
36282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3631 over last_mounted as seen in image generated by mkfs.nilfs2.
3632 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3633
dec8ed14
VS
36342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3637 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3638 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3639
7397c69b
VS
36402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3643 over the sector.
3644
b3fe42ad
VS
36452012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3648 subvolume name (by removing a bogus and useless check).
3649
10476bb0
VS
36502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3653 sizeof while on it.
3654
9c08ad87
VS
36552012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3658 (grub_scsi_read_capacity10): ... this.
3659 (grub_scsi_read_capacity16): New function.
3660 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3661 0xffffffff.
3662 Fix off-by-one error.
3663 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3664 64-bit unsigned.
3665 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3666 (grub_scsi_read_capacity10): ... this.
3667 (grub_scsi_read_capacity_data): Rename to ...
3668 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3669 (grub_scsi_read_capacity16): New struct.
3670 (grub_scsi_read_capacity16_data): Likewise.
3671 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3672 grub_scsi_cmd_read_capacity10.
3673 New command grub_scsi_cmd_read_capacity16.
3674
bc8d0f45
VS
36752012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 SCSI >2TiB support.
3678
3679 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3680 (grub_scsi_write16): Likewise.
3681 (grub_scsi_read): Use read16 when necessary.
3682 (grub_scsi_write): Likewise.
3683 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3684 (grub_scsi_write16): Likewise.
3685 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3686
cc774926
VS
36872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 SCSI write support (for usbms mainly).
3690
3691 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3692 a const pointer.
3693 (grub_scsi_write): Implement.
3694 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3695
67639fd7
VS
36962012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3699 variable.
3700
9079d3ed
VS
37012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3704
c6a6f204
VS
37052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * po/POTFILES.in: Regenerate.
3708
ecbf8cd1
VS
37092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3712 with grub_printf to avoid unnecessary fatal failure.
3713
0b3b3b38
VS
37142012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3717 (INT_MAX): Likewise.
3718 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3719 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3720 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3721 (strcpy): Likewise.
3722 (strstr): Likewise.
3723 (strchr): Likewise.
3724 (strncpy): Likewise.
3725 (strcat): Likewise.
3726 (strncat): Likewise.
3727 (strcoll): Likewise.
3728 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3729 (GRUB_INT_MAX): Likewise.
3730
db7337a3
VS
37312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3734 unexpected error.
3735 (optimize_utf8): Likewise.
3736 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3737
f37c87e1
VS
37382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * grub-core/boot/i386/pc/lnxboot.S: Use
3741 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3742 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3743 location.
3744 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3745 definition.
3746 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3747
63fe43f3
VS
37482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3751 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3752 now to avoid double free.
3753 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3754 hostdisk.
3755 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3756 * util/grub-probe.c (escape_of_path): Always return a new copy.
3757 (print_full_name): Escape path.
3758 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3759 Fix hints on abstractions.
3760
ebe2c961
VS
37612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3764 Don't add "root" line if no compatibility hont is available.
3765 Suggested by: Seth Goldberg.
3766
2b5336a2
VS
37672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3770 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3771 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3772 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3773
74310bd8
VS
37742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3777
c30582ba
VS
37782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * util/grub-pe2elf.c (ehdr): Make static.
3781 (shdr): Likewise.
3782 (num_sections): Likewise.
3783 (offset): Likewise.
3784
5f47782c
VS
37852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 Eliminate ofpath limits and possible overflows.
3788
3789 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3790 (OF_PATH_MAX): Removed.
3791 (MAX_DISK_CAT): New const.
3792 (find_obppath): Use allocated rather than preallocated buffer.
3793 Return result. Argument of_path removed. All users updated.
3794 Add missing fdstat.
3795 (xrealpath): New function.
3796 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3797 Allocate rather than use preallocated buffer. All users updated.
3798 (__of_path_common): Use allocated rather than preallocatecd buffer.
3799 Return result. Argument of_path removed. All users updated.
3800 (vendor_is_ATA): Read only needed part form the file.
3801 (check_sas): Allocate depending on contents rather than fixed.
3802 (main) [STANDALONE]: Handle NULL result.
3803
f990cbf9
VS
38042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3807
9c6e84b8
VS
38082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Cryptodisk write support.
3811
3812 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3813 (grub_cryptodisk_decrypt): Moved logic to ...
3814 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3815 (grub_cryptodisk_write): Implement.
3816 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3817 (grub_util_fd_write): ... this. Make global.
3818 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3819
87cf9744
VS
38202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * include/grub/list.h (grub_list_remove): Don't crash if element is
3823 removed twice.
3824
ca8c0baf
VS
38252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Rename ofconsole to console.
3828
3829 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3830 as sysnonym to console.
3831 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3832 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3833 Rename grub_ofconsole_ to grub_console_. All users updated
3834 (grub_console_term_output): Rename "ofconsole" to "console".
3835 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3836 as "console".
3837
64c8b8f6
VS
38382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3841 handling.
3842 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3843 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3844 GRUB_DISK_DEVICE_FILE_ID.
3845
f6c434d5
VS
38462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3849 and improve performance.
3850
5858b42d
VS
38512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3854 missing ieee1275/ prefix on whole disk.
3855
4ed3c26b
VS
38562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3859 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3860
df71143e
VS
38612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3864
076e7c0f
VS
38652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 Merge common RAID and LVM logic to an abstract diskfilter.
3868 Add LDM support using the same framework.
3869
3870 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3871 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3872 (libgrubmods): Remove grub-core/disk/raid.c and
3873 grub-core/partmap/gpt.c.
3874 * grub-core/Makefile.core.def (ldm): New module.
3875 (raid): Renamed to diskfilter. All users updated.
3876 * grub-core/disk/raid.c: Moved to ...
3877 * grub-core/disk/diskfilter.c: ... here.
3878 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3879 (lv_num): New var.
3880 (find_array): Renamed to ...
3881 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3882 (grub_is_array_readable): Renamed to ...
3883 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3884 (insert_array): New argument id.
3885 (is_node_readable): New function.
3886 (scan_device): Rename to ...
3887 (scan_disk): .. this. Restrict to one disk.
3888 (scan_devices): New function.
3889 (grub_diskfilter_iterate): Support multi-LV.
3890 Skip invisible and nameless LVs.
3891 (grub_diskfilter_memberlist): Support multi-LV.
3892 (grub_diskfilter_read_node): New function.
3893 (grub_raid_read): Most of logic moved to ...
3894 (read_segment): ... here
3895 (read_lv): New function.
3896 (grub_diskfilter_get_vg_by_uuid): New function.
3897 (grub_diskfilter_make_raid): Likewise.
3898 * grub-core/disk/ldm.c: New file.
3899 * grub-core/disk/lvm.c (vg_list): Removed.
3900 (lv_count): Likewise.
3901 (scan_depth): Likewise.
3902 (is_lv_readable): Likewise.
3903 (grub_lvm_getvalue): Advance pointer past the number.
3904 (find_lv): Removed.
3905 (do_lvm_scan): Refactored into ...
3906 (grub_lvm_detect): ... this. Support raid.
3907 (grub_lvm_iterate): Removed.
3908 (grub_lvm_memberlist): Likewise.
3909 (grub_lvm_open): Likewise.
3910 (grub_lvm_close): Likewise.
3911 (read_lv): Likewise.
3912 (read_node): Likewise.
3913 (is_node_readable): Likewise.
3914 (is_lv_readable): Likewise.
3915 (grub_lvm_read): Likewise.
3916 (grub_lvm_write): Likewise.
3917 (grub_lvm_dev): Use diskfilter
3918 (GRUB_MOD_INIT): Likewise.
3919 (GRUB_MOD_FINI): Likewise.
3920 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3921 new interface.
3922 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3923 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3924 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3925 grub_diskfilter_read_node.
3926 Fix a bug with xor.
3927 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3928 grub_diskfilter_read_node.
3929 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3930 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3931 (grub_disk_dev_iterate): Move from here...
3932 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3933 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3934 Make global.
3935 (grub_hostdisk_find_partition_start): Likewise.
3936 (grub_hostdisk_os_dev_to_grub_drive): New function.
3937 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3938 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3939 * util/getroot.c (make_device_name): ... here.
3940 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3941 Move to ...
3942 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3943 * grub-core/kern/emu/hostdisk.c
3944 (convert_system_partition_to_system_disk): Move to ...
3945 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3946 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3947 * util/getroot.c (device_is_wholedisk): ... here.
3948 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3949 * util/getroot.c (find_system_device): ... here.
3950 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3951 Move to ...
3952 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3953 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3954 Move to ...
3955 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3956 Handle LDM.
3957 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3958 Move to ...
3959 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3960 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3961 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3962 DISKFILTER.
3963 * include/grub/raid.h: Renamed to ...
3964 * include/grub/diskfilter.h: ... this.
3965 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3966 (GRUB_RAID_LAYOUT_*): Make into array.
3967 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3968 (grub_diskfilter_vg): New struct.
3969 (grub_diskfilter_pv_id): Likewise.
3970 (grub_raid_member): Removed.
3971 (grub_raid_array): Likewise.
3972 (grub_diskfilter_pv): New struct.
3973 (grub_diskfilter_lv): Likewise.
3974 (grub_diskfilter_segment): Likewise.
3975 (grub_diskfilter_node): Likewise.
3976 (grub_diskfilter_get_vg_by_uuid): New proto.
3977 (grub_raid_register): Inline.
3978 (grub_diskfilter_unregister): Likewise.
3979 (grub_diskfilter_make_raid): New proto.
3980 (grub_diskfilter_vg_register): Likewise.
3981 (grub_diskfilter_read_node): Likewise.
3982 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3983 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3984 (grub_util_is_ldm): Likewise.
3985 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3986 (grub_hostdisk_find_partition_start): Likewise.
3987 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3988 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3989 New definition.
3990 (grub_gpt_partition_map_iterate): New proto.
3991 * include/grub/lvm.h (grub_lvm_vg): Removed.
3992 (grub_lvm_pv): Likewise.
3993 (grub_lvm_lv): Likewise.
3994 (grub_lvm_segment): Likewise.
3995 (grub_lvm_node): Likewise.
3996 * util/getroot.c [...]
3997 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3998 (probe_abstraction): Likewise.
3999 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4000 (main): Remove dead logic.
4001
8a7f9b9c
VS
40022012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 Simplify root device discover and don't fail when trying to open
4005 incorrect devices.
4006
4007 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4008 function.
4009 (get_diskname_from_path): Likewise.
4010 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4011 of iterating.
4012
30545b85
VS
40132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4016
28ea58cf
VS
40172012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4020 pastthe end.
4021
692dabca
VS
40222012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/grub-install.in: Add missing \.
4025 Reported by: gentoofan
4026
f6e4ea70
VS
40272012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4030 (direct_read): Use correct compressed size.
4031 (grub_squash_read_data): Likewise.
4032
40332012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4034
4035 * docs/grub.texi (Platform limitations): New section.
4036 (Platform-specific operations): Likewise.
4037 * docs/grub-dev.texi (Porting): Likewise.
4038
76261110
VS
40392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 IEEE1275 disk write support.
4042
4043 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4044 const void *.
4045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4046 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4047 and seek loginc to ...
4048 (grub_ofdisk_prepare): ... here.
4049 (grub_ofdisk_write): Implement.
4050
fc36d603
VS
40512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 ARC disk write support.
4054
4055 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4056 (reopen): New argument writable. All users updated.
4057 Handle required access mode.
4058 (grub_arcdisk_write): Implement.
4059 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4060 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4061
e06c2e7a
VS
40622012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4065 (read_sblock): Don't attempt to read superblocks outside the disk size.
4066
ff447958
VS
40672012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4070 first superblock to find the second one when possible.
4071
9e88df39
VS
40722012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * util/grub-install.in: Fix an ARC bug.
4075 Print a warning if no platform-specific setup is available.
4076
bb26e4ff
VS
40772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Use static allocation rather than scratch pointer in reed_solomon.
4080 It decreases its size significantly and avoids a variable in .text.
4081
4082 * grub-core/lib/reed_solomon.c (scratch): Removed.
4083 (chosenstat): New const or static array.
4084 (sigma): Likewise.
4085 (errpot): Likewise.
4086 (errpos): Likewise.
4087 (sy): Likewise.
4088 (mstat): Likewise.
4089 (errvals): Likewise.
4090 (eqstat): Likewise.
4091 (pol_evaluate): Replace x with log_x argument. All users updated.
4092 (syndroms): Removed.
4093 (gauss_solve): Use statically allocated arrays.
4094 (rs_recover): Likewise.
4095 Calculate syndroms directly.
4096 (decode_block): Use statically allocated arrays.
4097 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4098 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4099
2e13ede5
VS
41002012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Eliminate fixed limit on reed solomon decoder length.
4103
4104 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4105 rather than hardcoding the address.
4106 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4107 no_reed_solomon_length.
4108 Move gate_a20 to no-reed-solomon part.
4109 Don't force a particular size of no reed-solomon part.
4110 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4111 Removed.
4112 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4113 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4114
f8a9ab12
VS
41152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/commands/wildcard.c (match_files): Handle filenames
4118 without explicit device.
4119 (wildcard_expand): Don't add explicit device if not already present.
4120 * tests/grub_script_echo1.in: Add a new expansion test.
4121
87edb894
VS
41222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 Replace single-linked with double-linked lists. It results in more
4125 compact and more efficient code.
4126
4127 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4128 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4129 (grub_list_remove): Moved from here ...
4130 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4131 (grub_prio_list_insert): Set prev.
4132 * include/grub/list.h (grub_list): Add prev. All users updated.
4133
48b391e9
VS
41342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Handle newer autotools. Add some missing quotes while on it.
4137
4138 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4139 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4140 (pkgdata_DATA): ... here.
4141 * Makefile.util.def (update-grub_lib): Removed.
4142 * conf/Makefile.common (pkglib_DATA): Removed.
4143 (pkglib_SCRIPTS): Likewise.
4144 (pkgdata_DATA): New variable.
4145 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4146 needed.
4147 Add missing quotes.
4148 Remove unused variable while on it.
4149 * tests/util/grub-shell.in: Likewise.
4150 * util/grub-install.in: Likewise.
4151 * util/grub-mkconfig.in: Likewise.
4152 * util/grub-mknetdir.in: Likewise.
4153 * util/grub-mkrescue.in: Likewise.
4154 * util/grub-mkstandalone.in: Likewise.
4155 * util/grub.d/00_header.in: Likewise.
4156 * util/grub.d/10_hurd.in: Likewise.
4157 * util/grub.d/10_illumos.in: Likewise.
4158 * util/grub.d/10_kfreebsd.in: Likewise.
4159 * util/grub.d/10_linux.in: Likewise.
4160 * util/grub.d/10_netbsd.in: Likewise.
4161 * util/grub.d/10_windows.in: Likewise.
4162 * util/grub.d/20_linux_xen.in: Likewise.
4163 * util/grub.d/30_os-prober.in: Likewise.
4164 * util/update-grub_lib.in: Removed.
4165
41662012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4167
4168 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4169 a workaround for intel problem.
4170
66832792
PRP
41712012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
41722012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
41732012-01-23 pfsmorigo
4174
4175 * util/grub-install.in: Support dd'in into PreP partition.
4176 * util/grub-probe.c (probe): Support discovering partition type.
4177 (main): Support -t msdos_parttype.
4178
7816a17e
VS
41792012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4182 infinite recursion using counter.
4183 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4184 init to skip it if the magic check fails.
4185 (dec_stream_header): Init s->crc32.
4186
8f9d3a8c
ZB
41872012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
41882012-01-22 Zachary Bedell <pendorbound@gmail.com>
41892012-01-22 Richard Laager <rlaager@wiktel.com>
4190
4191 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4192 All users updated.
4193 (find_bestub): Determine correct size.
4194 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4195 (scan_disk): Align the size down.
4196 Call check pool before find_bestub to have ashift.
4197
b055dd32
VS
41982012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4201 dprintf in no-malloc zone.
4202
d779e9bd
ML
42032012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4204
4205 * configure.ac: Add back in test for limits.h.
4206
b508af69
VS
42072012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 Support 4K-sector NTFS.
4210
4211 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4212 (grub_ntfs_data): Remove blocksize.
4213 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4214 Remove data argument. All users updated.
4215
dad9c8b5
VS
42162012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4219 being in .text to avoid dprel references.
4220 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4221 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4222 (grub_arch_highmemsize): Likewise.
4223 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4224 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4225 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4226
d43a777e
VS
42272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4230
4231 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4232 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4233
34e4208f
VS
42342012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4237 GRUB_UTIL.
4238 (grub_set_datetime_cmos): Likewise.
4239
3ec0fc1c
VS
42402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 Make XZ compression parameters dependent on target and not host CPU.
4243
4244 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4245 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4246
22489834
VS
42472012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4250 set but not used variable.
4251
8502fbca
VS
42522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4255 created when no uuid support is compiled into mkfs.reiser.
4256
76df2068
VS
42572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4260 (utf8_to_macroman): Do the opposite.
4261 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4262
64e3f8f6
VS
42632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * configure.ac: Refise build qemu_mips w/o unifont.
4266
9c271078
VS
42672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 Eliminate grub_min/grub_max prone to overflow usage.
4270
4271 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4272 (poll_nonroot_hub): Likewise.
4273 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4274 (grub_affs_label): Likewise.
4275 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4276 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4277 (grub_hfs_label): Likewise.
4278 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4279 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4280 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4281 (zap_leaf_array_get): Likewise.
4282 (dnode_get_path): Likewise.
4283 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4284 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4285 * grub-core/script/execute.c (grub_script_break): Likewise.
4286 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4287 grub_max.
4288 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4289 * include/grub/misc.h (grub_min): Removed.
4290 (grub_max): Likewise.
4291
80662dbc
VS
42922012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4293
4294 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4295 direct.inode = 0.
4296
e6da1467
VS
42972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4300
b1ac4cb1
VS
43012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4304
b4bf7c3b
VS
43052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4308 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4309
8ee1101a
VS
43102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4313 rather than a hack for grub_strncasemap.
4314
43152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Support multiple initrds
4318 Note: part of this was accidently committed in r3739.
4319
4320 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4321 initrd.
4322 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4323 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4324 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4325 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4326 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4327
4d1e2bc9
VS
43282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4331 disks with unknown size.
4332 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4333
75b49ebe
VS
43342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 Remove defines pertaining to arbitrary limits not affecting GRUB
4337 anymore.
4338
4339 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4340 (EXT2_MAX_SYMLINKCNT): Likewise.
4341 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4342 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4343 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4344 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4345 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4346 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4347 (DN_MAX_OBJECT_SHIFT): Likewise.
4348 (DN_MAX_OFFSET_SHIFT): Likewise.
4349 (DN_MAX_OBJECT): Likewise.
4350 (DNODES_PER_LEVEL_SHIFT): Likewise.
4351 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4352 (SPA_MAXBLOCKSIZE): Likewise.
4353 (SPA_BLOCKSIZES): Likewise.
4354 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4355 (MZAP_MAX_BLKSZ): Likewise.
4356
74a1dce7
VS
43572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4360 handle NULL appropriately.
4361 Remove MIN.
4362
30c7d3ce
VS
43632012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Fix efiemu.
4366
4367 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4368 cpu/types.h.
4369 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4370 * configure.ac: Fix efiemu check.
4371
3c76ea0c
VS
43722012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4375 grub_probe.
4376 Reported by: adamwill
4377
7e532280
SG
43782012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4379
4380 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4381
30492374
VS
43822012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 Fix handling of wide characters in gfxterm.
4385
4386 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4387 (clear_char): Likewise.
4388 (paint_char): Skip code == NULL chars.
4389 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4390
e70cb72f
VS
43912012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/normal/charset.c: Move comment to right place.
4394
5c827cf9
VS
43952012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4398 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4399 (grub_affs_mount): Revert the correct version checking.
4400
53603892
VS
44012012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * docs/grub.texi (Unicode): Mention several other unsupported features.
4404
ff094b9b
VS
44052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4408 case statements as compile-time one.
4409 (direct_read): Prevent spurious warnings.
4410 (grub_squash_read_data): Likewise.
4411
c029da8a
VS
44122011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 Various squash4 fixes and LZO and XZ support.
4415
4416 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4417 Add xzembed source files.
4418 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4419 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4420 (grub_squash_inode): New subtype long_dir.
4421 (SQUASH_TYPE_LONG_DIR): New inode type.
4422 (COMPRESSION): New enum.
4423 (XZBUFSIZ): New const.
4424 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4425 (read_chunk): Use data->decompress.
4426 (zlib_decompress): New function.
4427 (lzo_decompress): Likewise.
4428 (xz_decompress): Likewise.
4429 (squash_mount): Set new data fields.
4430 (grub_squash_iterate_dir): Handle long dir.
4431 (squash_unmount): Free xzdec and xzbuf.
4432 (grub_squash_open): Check ino type.
4433 (direct_read): Stylistic fixes. Use data->decompress.
4434 (grub_squash_read_data): Likewise.
4435 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4436 (get_byte): Likewise.
4437 (grub_zlib_disk_read): Removed.
4438 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4439 (GRUB_POSIX_BOOL_DEFINED): New define.
4440 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4441 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4442 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4443 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4444
7a45a539
VS
44452011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Don't override more informative errors.
4448
4449 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4450 * grub-core/font/font.c (open_section): Likewise.
4451 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4452 filename. Don't override errors.
4453 (grub_cmd_openbsd_ramdisk): Don't override errors.
4454 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4455 (grub_cmd_initrd): Likewise.
4456 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4457 (grub_cmd_initrd): Likewise.
4458 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4459 (grub_cmd_linux): Likewise.
4460 (grub_cmd_initrd): Likewise.
4461 (grub_cmd_payload): Likewise.
4462 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4463 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4464 (grub_cmd_module): Likewise.
4465 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4466 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4467 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4468 (grub_cmd_xnu_mkext): Likewise.
4469 (grub_cmd_xnu_ramdisk): Likewise.
4470 (grub_xnu_check_os_bundle_required): Likewise.
4471 (grub_xnu_load_kext_from_dir): Likewise.
4472 (grub_cmd_xnu_kextdir): Likewise.
4473 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4474
b2d004db
VS
44752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4478 as 1024 in block size field. Found on one of my test images.
4479 Small optimisation while on it.
4480
ec000eac
VS
44812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4484 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4485 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4486 performance fixes while on it.
4487 (grub_sfs_close): Fix memory leak while on it.
4488 (grub_sfs_label): Convert Latin1 to UTF-8.
4489
f50e1165
VS
44902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4493 space to avoid overflows.
4494 (grub_hfs_label): Convert from macroman to UTF-8.
4495
2ae254de
VS
44962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4499
0108f491
VS
45002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4503
f45f5f89
VS
45042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * unicode: Import Unicode 6.0 data.
4507
4d8c4765
VS
45082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4509
63fa8ef9
VS
4510 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4511 outside of range.
4512
45132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4516
4517 * include/grub/charset.h (grub_getend): New function.
4518 * grub-core/script/function.c (grub_script_function_find): Use
4519 grub_getend.
4520 * grub-core/normal/completion.c (add_completion): Likewise.
4521
f3cb4a4e
VS
45222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4525 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4526 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4527 (GRUB_UNICODE_TAG_END): Likewise.
4528 (GRUB_UNICODE_LAST_VALID): Likewise.
4529
5da8dbc5
VS
45302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4533 len and make it smaller. All users updated.
4534 * util/import_unicode.py: Put length and not end character.
4535 Check length.
4536
8569f13d
VS
45372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 Make better Unicode-compliant and unify some UTF-8 code pathes.
4540
4541 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4542 valid character.
4543 (grub_is_valid_utf8): Use grub_utf8_process.
4544 Check resulting code range.
4545 (grub_utf8_to_ucs4): Use grub_utf8_process.
4546 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4547 valid character.
4548
cc4fddf5
VS
45492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4552
bbc47747
VS
45532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * docs/grub.texi (Filesystems): Mention AFS.
4556
f63d6bf4
VS
45572011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * docs/grub.texi (Filesystems): Clarify restrictions.
4560 (Regexp): Mention non-Unicode regexp behaviour.
4561 (Other): Mention non-Unicode matching behaviour.
4562
74bbf0db
VS
45632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4564
f63d6bf4 4565 Make HFS implementation use MacRoman.
74bbf0db
VS
4566
4567 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4568 (macroman): New const array.
4569 (macroman_to_utf8): New function.
4570 (utf8_to_macroman): Likewise.
4571 (grub_hfs_find_dir): Use utf8_to_macroman.
4572 (grub_hfs_dir): Use macroman_to_utf8.
4573 Set case_insensitive.
4574
4ea0316e
VS
45752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4578
d3c13cbd
VS
45792011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 Integrate hints into autogeneration scripts.
4582
4583 * docs/grub.texi (Filesystems): Add a hostdisk example.
4584 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4585 (grub-probe): Add ofpath.
4586 * gentpl.py: Remove group nosparc64.
4587 * grub-core/commands/search.c (cache_entry): New struct.
4588 (cache): New var.
4589 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4590 * grub-core/commands/search_wrap.c (options): Add platform-specific
4591 hint options.
4592 (grub_cmd_search): Handle platform-specific hints.
4593 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4594 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4595 (grub_util_biosdisk_data): Likewise.
4596 (grub_util_biosdisk_open): Set device_map.
4597 (read_device_map): Handle "" as indication of no map.
4598 Set device_map.
4599 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4600 (grub_util_biosdisk_get_compatibility_hint): New function.
4601 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4602 * include/grub/emu/hostdisk.h
4603 (grub_util_biosdisk_get_compatibility_hint): New proto.
4604 * util/grub-install.in: Don't call grub-mkdevicemap.
4605 Add platform-specific hint to load.cfg.
4606 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4607 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4608 hints. Set root preliminary to compatibility hint, not to OS name.
4609 * util/grub-probe.c (PRINT_*): Add hints.
4610 (print): Make static.
4611 (escape_of_path): New function.
4612 (guess_bios_drive): Likewise.
4613 (guess_efi_drive): Likewise.
4614 (guess_baremetal_drive): Likewise.
4615 (print_full_name): Likewise.
4616 (probe): Handle hints.
4617 (main): Likewise.
4618 * util/ieee1275/devicemap.c: Removed.
4619 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4620 updated.
4621 (grub_util_devname_to_ofpath): Return NULL on failure.
4622
4623 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4624 resource leak.
4625 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4626
4627 * po/POTFILES.in: Regenerated.
4628
4629 Allow purely long options
4630
4631 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4632 (SHORT_ARG_USAGE): Likewise.
4633 (grub_arg_show_help): Compare opt with help_options.
4634 (parse_option): Receive opt as argument. If makes big simplificatons.
4635 All users updated
4636
00ce2df3
VS
46372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4640 Restructure to avoid warning.
4641
e77e325f
VS
46422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-install.in: Account for possible escaped comma in device
4645 name.
4646
165099ea
VS
46472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4650 channel.
4651
ce4a999d
VS
46522011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4655 allocation and zero-setting.
4656 (grub_ieee1275_get_devname): Check that alias is complete.
4657
379586ad
VS
46582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4661 unaligned segments.
4662
9197b0ad
VS
46632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4666 prefix.
4667 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4668 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4669 Add ieee1275 prefix.
4670
edddb7f9
VS
46712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * docs/grub.texi (Filesystems): Update.
4674
a1a8b1b9
VS
46752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Support odc, newc and bigendian cpio formats.
4678
4679 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4680 * grub-core/Makefile.core.def (newc): New module.
4681 (odc): Likewise.
4682 (cpio_be): Likewise.
4683 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4684 (MAGIC): Likewise.
4685 (MAGIC2): Likewise.
4686 (head) [MODE_ODC]: Adapt for the format.
4687 (head) [MODE_NEWC]: Likewise.
4688 (head) [!MODE_*]: Write fields of interest as arrays.
4689 (MAGIC_USTAR): Removed.
4690 (read_number) [MODE_NEWC]: Change to hex.
4691 (read_number) [!MODE_*]: Parse binary arrays.
4692 (grub_cpio_find_file): Factor out the code for better structure and
4693 always use read_number.
4694 (grub_cpio_mount): Use MAGIC and MAGIC2.
4695 (grub_cpio_dir): Exit on first hook non-0 return.
4696 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4697 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4698 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4699 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4700 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4701 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4702 * grub-core/fs/newc.c: New file.
4703 * grub-core/fs/odc.c: Likewise.
4704 * grub-core/fs/cpio_be.c: Likewise.
4705
58eba9ee
VS
47062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Fix handling of tar numbers occupying the whole field.
4709
4710 * grub-core/fs/cpio.c (read_number): New function.
4711 (grub_cpio_find_file): Use read_number instead of strtoull.
4712
a54a0e12
VS
47132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4716 occupying the whole field size.
4717
a6120aca
LA
47182011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4719
4720 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4721
a93964ce
VS
47222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4725
3ea1ca46
SG
47262011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4727
4728 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4729 TARGET_IMG_LDFLAGS.
4730
b87f7ef2
VS
47312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4734 (mountinfo_entry): Increase the field size to take escaping into
4735 account.
4736 (find_root_device_from_libzfs): Add one byte to size of strings for
4737 security.
4738
62092395
VS
47392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4742 an assert.
4743 * util/grub-setup.c (setup): Likewise.
4744
1f0b1a77
VS
47452011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4748 _LzmaDecodeA.
4749
8eba9997
VS
47502011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * docs/grub.texi (Internationalisation): New section.
4753
dd0c91e9
VS
47542011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * docs/grub.texi (Loopback booting): New section.
4757
47582011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4759
4760 * util/grub-mkstandalone.in: Fix minor typo errors.
4761
198e150a
VS
47622011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4765
4766 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4767 net/icmp.c and net/icmp6.c.
4768 (http): New module.
4769 (priority_queue): Likewise.
4770 * grub-core/io/bufio.c: Rewritten.
4771 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4772 TYPE_WITH_CONFIGFILE_OPTION.
4773 (legacy_commands): Add bootp and dhcp.
4774 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4775 (grub_legacy_parse): Likewise.
4776 * grub-core/lib/priority_queue.c: New file.
4777 * grub-core/net/arp.c: Add missing license header.
4778 (arp_find_entry): Removed.
4779 (arp_find_entry): Likewise.
4780 (grub_net_arp_resolve): Rename to ...
4781 (grub_net_arp_send_request): ...this.
4782 (grub_net_arp_receive): New card argument.
4783 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4784 Set router and DNS server.
4785 (grub_net_configure_by_dhcp_ack): Handle routing information.
4786 (grub_cmd_bootp): Set checksum.
4787 (grub_bootp_init): Remove net_dhcp.
4788 * grub-core/net/dns.c: New file.
4789 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4790 completion.
4791 (get_card_packet): Handle allocation.
4792 (grub_efinet_findcards): Set mtu.
4793 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4794 (get_card_packet): Handle allocation.
4795 (emucard): Set mtu.
4796 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4797 (GRUB_MOD_INIT): Set mtu.
4798 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4799 mtu.
4800 (get_card_packet): Handle allocation.
4801 (grub_ofnet_findcards): Set mtu.
4802 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4803 assert.
4804 (grub_net_recv_ethernet_packet): Handle IPv6.
4805 * grub-core/net/http.c: New file.
4806 * grub-core/net/icmp.c: Likewise.
4807 * grub-core/net/icmp6.c: Likewise.
4808 * grub-core/net/ip.c (ip6addr): New type.
4809 (ip6hdr): Likewise.
4810 (reassemble): Likewise.
4811 (cmp): New function.
4812 (reassembles): New variable.
4813 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4814 (id): New variable.
4815 (send_fragmented): New function.
4816 (grub_net_send_ip_packet): Rename to ...
4817 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4818 Handle non-UDP.
4819 (grub_net_recv_ip_packets): Rename to ...
4820 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4821 (free_rsm): New function.
4822 (free_old_fragments): Likewise.
4823 (grub_net_recv_ip4_packets): New function.
4824 (grub_net_send_ip6_packet): Likewise.
4825 (grub_net_send_ip_packet): Likewise.
4826 (grub_net_recv_ip6_packets): Likewise.
4827 (grub_net_recv_ip_packets): Likewise.
4828 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4829 (LINK_LAYER_CACHE_SIZE): New const.
4830 (link_layer_find_entry): New function.
4831 (grub_net_link_layer_add_address): Likewise.
4832 (grub_net_link_layer_resolve_check): Likewise.
4833 (grub_net_link_layer_resolve): Likewise.
4834 (grub_net_ipv6_get_slaac): Likewise.
4835 (grub_net_ipv6_get_link_local): Likewise.
4836 (grub_cmd_ipv6_autoconf): Likewise.
4837 (parse_ip): Handle one number representation.
4838 (parse_ip6): New functoion.
4839 (match_net): Handle IPv6.
4840 (grub_net_resolve_address): Handle IPv6 and DNS.
4841 (grub_net_resolve_net_address): Handle IPv6.
4842 (route_cmp): New function.
4843 (grub_net_route_address): Find best route.
4844 (grub_net_addr_to_str): Handle IPv6.
4845 (grub_net_addr_cmp): New function.
4846 (grub_net_add_addr): Register local route.
4847 (print_net_address): Handle net address.
4848 (grub_net_poll_cards): Retransmit TCP.
4849 (grub_net_poll_cards_idle_real): Likewise.
4850 (have_ahead): New function.
4851 (grub_net_seek_real): Use underlying seek.
4852 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4853 * grub-core/net/tcp.c: New file.
4854 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4855 (cmp): New function.
4856 (ack): Likewise.
4857 (tftp_receive): Handle unordered input.
4858 (destroy_pq): New function.
4859 (tftp_close): Close pq.
4860 * grub-core/net/udp.c: Put missing license header.
4861 (grub_net_udp_socket): New function.
4862 (udp_socket_register): Likewise.
4863 (grub_net_udp_close): Likewise.
4864 (grub_net_recv_udp_packet): Check checksum.
4865 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4866 * include/grub/misc.h (grub_memchr): New function.
4867 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4868 (grub_net_card_driver): Return buf in recv.
4869 (grub_net_slaac_mac_list): New struct.
4870 (grub_network_level_protocol_id): Add ipv6.
4871 (grub_net_network_level_addr): Likewise.
4872 (grub_net_network_level_net_addr): Likewise.
4873 (grub_net_app_protocol): Add seek.
4874 (grub_net_socket): Removed.
4875 (grub_net_sockets): Likewise.
4876 (grub_net_socket_register): Likewise.
4877 (grub_net_socket_unregister): Likewise.
4878 (FOR_NET_SOCKETS): Likewise.
4879 (grub_net_add_addr): Add const.
4880 (GRUB_NET_BOOTP_*): New enum.
4881 (grub_net_addr_cmp): New proto.
4882 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4883 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4884 (grub_net_hwaddr_to_str): NEw proto.
4885 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4886 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4887 (grub_dns_init): New proto.
4888 (grub_dns_fini): Likewise.
4889 (grub_net_tcp_retransmit): Likewise.
4890 (grub_net_link_layer_add_address): Likewise.
4891 (grub_net_link_layer_resolve_check): Likewise.
4892 (grub_net_link_layer_resolve): Likewise.
4893 (grub_net_dns_lookup): Likewise.
4894 (grub_net_add_dns_server): Likewise.
4895 (grub_net_remove_dns_server): Likewise.
4896 (GRUB_NET_TRIES): New const.
4897 (GRUB_NET_INTERVAL): Likewise.
4898 * include/grub/net/arp.h: Mostly rewritten.
4899 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4900 * include/grub/net/ip.h: Mostly rewritten.
4901 * include/grub/net/netbuff.h: Indent.
4902 * include/grub/net/tcp.h: New file.
4903 * include/grub/net/udp.h: Mostly rewritten.
4904 * include/grub/priority_queue.h: New file.
4905 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4906 (grub_swap_bytes64_compile_time): Likewise.
4907 (grub_cpu_to_be16_compile_time): Likewise.
4908 (grub_cpu_to_be32_compile_time): Likewise.
4909 (grub_cpu_to_be64_compile_time): Likewise.
4910 (grub_be_to_cpu64_compile_time): Likewise.
4911
215c1800
VS
49122011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4915 UINT_TO_PTR with cast.
4916
c17e546c
VS
49172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4920 don't use them.
4921
ff6b18b6
VS
49222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4925 already there.
4926
70ffcc93
VS
49272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4930 confusing ipxe.
4931
e5f4d260
VS
49322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4935 Add missing const attribute.
4936 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4937 Likewise.
4938 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4939 Likewise.
4940
8e54b4b7
VS
49412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4944 misaligned access.
4945 (serpent_setkey): Likewise.
4946 (serpent_encrypt_internal): Likewise.
4947 (serpent_decrypt_internal): Likewise.
4948 (serpent_encrypt): Don't put an alignment-increasing cast.
4949 (serpent_decrypt): Likewise.
4950 (serpent_test): Likewise.
4951
813c0a2b
VS
49522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4955
f2b60fbd
VS
49562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4959
4960 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4961 grub_addr_t casts.
4962 (PTR_TO_UINT64): Likewise.
4963 (PTR_TO_UINT32): Likewise.
4964
5ef5c511
VS
49652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4968 because of stack.
4969 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4970 limit.
4971
c476e6df
VS
49722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4975 text_width > available width a bit more gracefully.
4976
384ad7cc
VS
49772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4980 current address calculation.
4981
96f8caf8
VS
49822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4985 stack.
4986 (encode_block): Likewise.
4987
276b7a8b
VS
49882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4991 certainety.
4992
e3fd394a
VS
49932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4996 non-RS part to avoid RS messing with GDT.
4997 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4998 Increase to suit in realmode routines.
4999
50002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/kern/i386/realmode.S: Increase alignment.
5003 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5004
ee9c2e7a
VS
50052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5008 be deterministic.
5009 (syndroms): Compute 0 syndrom.
5010 (rs_recover): Use 0 syndrom.
5011
7a7f7cc9
VS
50122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5015
a14b16d1
VS
50162011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5019 brackets.
5020
9f59e9fc
VS
50212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5022
ca1b552c
VS
5023 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5024 account.
5025 (get_top_pad): Likewise.
5026 (get_right_pad): Likewise.
5027 (get_bottom_pad): Likewise.
5028
50292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5032
e739d698
VS
50332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5036 attribute as the structure isn't guaranteed to be properly aligned.
5037 (grub_efi_pci_device_path): Likewise.
5038 (grub_efi_pccard_device_path): Likewise.
5039 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5040 specify the size of `memory_type'.
5041 (grub_efi_vendor_device_path): Likewise.
5042 (grub_efi_controller_device_path): Likewise.
5043 (grub_efi_acpi_device_path): Likewise.
5044 (grub_efi_expanded_acpi_device_path): Likewise.
5045 (grub_efi_atapi_device_path): Likewise.
5046 (grub_efi_scsi_device_path): Likewise.
5047 (grub_efi_fibre_channel_device_path): Likewise.
5048 (grub_efi_1394_device_path): Likewise.
5049 (grub_efi_usb_device_path): Likewise.
5050 (grub_efi_usb_class_device_path): Likewise.
5051 (grub_efi_i2o_device_path): Likewise.
5052 (grub_efi_mac_address_device_path): Likewise.
5053 (grub_efi_ipv4_device_path): Likewise.
5054 (grub_efi_ipv6_device_path): Likewise.
5055 (grub_efi_infiniband_device_path): Likewise.
5056 (grub_efi_uart_device_path): Likewise.
5057 (grub_efi_vendor_messaging_device_path): Likewise.
5058 (grub_efi_hard_drive_device_path): Likewise.
5059 (grub_efi_cdrom_device_path): Likewise.
5060 (grub_efi_vendor_media_device_path): Likewise.
5061 (grub_efi_file_path_device_path): Likewise.
5062 (grub_efi_protocol_device_path): Likewise.
5063 (grub_efi_piwg_device_path): Likewise.
5064 (grub_efi_bios_device_path): Likewise.
5065
cb8f88ea
VS
50662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5069 (grub_ucs4_to_utf8_alloc): Likewise.
5070 (grub_ucs4_to_utf8): Likewise.
5071 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5072 (grub_ucs4_to_utf8_alloc): Likewise.
5073
309e5352
VS
50742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 AFFS never uses unicode.
5077
5078 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5079 (grub_latin1_to_utf8): New inline function.
5080 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5081
e7987e1b
VS
50822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5085 overflow.
5086
efc2616e
VS
50872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5090 (grub_squash_dirent_header): Likewise.
5091 (read_chunk): Don't double swap.
5092 (grub_squash_iterate_dir): Fix swap sizes.
5093
3c349f5a
VS
50942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5097
b453412d
VS
50982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5101 (grub_hfs_iterate_dir): Likewise.
5102
12e9d4d1
VS
51032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 Fix video on platforms where unaligned access is forbidden.
5106 Make several optimisations while on it.
5107
5108 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5109 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5110 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5111 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5112 Disable.
5113 (grub_video_fbblit_replace_16bit_1bit):
5114 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5115 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5116 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5117 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5118 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5119 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5120 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5121 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5122 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5123 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5124 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5125 (grub_video_fbblit_replace_index_RGB888): Likewise.
5126 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5127 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5128 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5129 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5130 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5131 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5132 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5133 Disable.
5134 (grub_video_fbblit_blend_XXX565_1bit):
5135 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5136 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5137 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5138 void *.
5139 * grub-core/video/fb/video_fb.c (common_blitter)
5140 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5141 (grub_video_fb_create_render_target_from_pointer)
5142 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5143 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5144 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5145 definition.
5146 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5147
ace96609
VS
51482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5151 HH22 and HM10 relocations.
5152
fd261d73
VS
51532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5156
e59b7857
VS
51572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5160 allocation succeeded.
5161
9b4baaa4
VS
51622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5165 argument a u8 pointer. All users updated.
5166 Handle unaligned buffers.
5167
dc713193
VS
51682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5171 add_part to workaround compiler bug.
5172
30dd48c2
VS
51732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5176
0c6087a8
VS
51772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5180 Reserve alignment invariants.
5181 (grub_multiboot_load): Likewise.
5182 (retrieve_video_parameters): Likewise.
5183 (grub_multiboot_make_mbi): Likewise.
5184
c2e77777
VS
51852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5188 incorrect pointer.
5189
b70b6d11
VS
51902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5193 (grub_pata_pio_write): Likewise.
5194
02a2bf83
VS
51952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Add noreturn attributes and remove unreachable code.
5198
5199 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5200 code.
5201 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5202 code. Mark as noreturn.
5203 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5204 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5205 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5206 unreachable code.
5207 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5208 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5209 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5210 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5211 * include/grub/kernel.h (grub_main): Mark as noreturn.
5212 * include/grub/reader.h (grub_rescue_run): Likewise.
5213
2019d09e
VS
52142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5217 redundant declaration.
5218
d1c501ee
VS
52192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5222 redundant declaration.
5223 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5224
61664420
VS
52252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5228 to ensure alignment.
5229 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5230 alignment. Ensure tmp alignment.
5231 (grub_cmd_hdparm): Ensure buf alignment.
5232 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5233 to ensure alignment.
5234 (grub_ata_dumpinfo): Ensure text alignment.
5235 (grub_atapi_identify): Preserve alignment invariant.
5236 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5237
0d51ee20
VS
52382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5241 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5242 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5243 * include/grub/misc.h (grub_reboot)
5244 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5245 (grub_halt) [__mips__]: Likewise.
5246
753ef8c1
VS
52472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5250 Remove redundant declaration.
5251 (grub_mmap_get_post64): Likewise.
5252 (grub_mmap_get_upper): Likewise.
5253 (grub_mmap_get_lower): Likewise.
5254
85c85365
VS
52552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5258 uint32_t * to ensure alignment.
5259 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5260
a23f2cc4
VS
52612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5262
93018f64
VS
5263 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5264 uint16_t * to ensure alignment.
5265 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5266 alignment.
5267
52682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5271 to ensure alignment.
5272 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5273
58acccd6
VS
52742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5277 Handle unaligned pointers.
5278 (u32at): Likewise.
5279 (u64at): Likewise.
5280 (fixup): Use byte access instead of v16at.
5281 (find_attr): Fix imporper usage of v32at.
5282 (read_data): Likewise.
5283 (list_file): Handle byte-swapping and unaligned strings.
5284 (grub_ntfs_label): Likewise.
5285
9b05cad7
VS
52862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5289 as it's not necessarily aligned.
5290
b3950b84
VS
52912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5294 redundant declaration.
5295 (grub_serial_init): Likewise.
5296 (grub_terminfo_init): Likewise.
5297
fcd232b7
VS
52982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5301 function.
5302 (ZAP_HASH_IDX): Likewise.
5303 (ZAP_LEAF_HASH_SHIFT): Likewise.
5304 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5305 (LEAF_HASH): Likewise.
5306 (ZAP_LEAF_NUMCHUNKS): Likewise.
5307 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5308 alignment invariants. Return pointer. All users updated.
5309 (ZAP_LEAF_ENTRY): Make into inline function.
5310 (NBBY): Removed.
5311 (xor): LIkewise.
5312 (xor_out): Use grub_crypto_xor.
5313 (dnode_get_path): Use grub_get_unaligned.
5314 (nvlist_find_value): Likewise.
5315 (grub_zfs_nvlist_lookup_uint64): Likewise.
5316 (grub_zfs_nvlist_lookup_string): Likewise.
5317 (get_nvlist_size): Likewise.
5318 (grub_zfs_open): Likewise.
5319 (fill_fs_info): Likewise.
5320 (grub_zfs_dir): Likewise.
5321 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5322 alignment invariants.
5323 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5324 necessarily aligned.
5325
f138623a
VS
53262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5329
564840dc
VS
53302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5333 arithmetic to conserve alignment invariants.
5334
9b40df20
VS
53352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5338 redundant declaration.
5339 (grub_efiemu_mm_obtain_request): Likewise.
5340 (grub_efiemu_prepare): Likewise.
5341
d1c930f9
VS
53422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5345 to match types.
5346
4c5f3056
VS
53472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5350 case of aunaligned recptr.
5351 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5352 alignment.
5353 (grub_hfsplus_btree_search): Handle unaligned index.
5354
728cba91
VS
53552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5358 to get freetag and skip.
5359
eb561f31
VS
53602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5363 array.
5364 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5365 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5366
20993fbb
VS
53672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5370 name for checksum and fix allocation algorithm.
5371
1f313b94
VS
53722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * include/grub/types.h (grub_properly_aligned_t): New type.
5375 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5376 (grub_get_unaligned16): Add explicit casts.
5377 (grub_get_unaligned32): Likewise.
5378 (grub_get_unaligned64): Likewise.
5379 (grub_set_unaligned16): New function.
5380 (grub_set_unaligned32): Likewise.
5381
47ae27ec
VS
53822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5385
78c2cd1c
VS
53862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5389 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5390 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5391
53072f9b
VS
53922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5395 conditionals.
5396
055dc239
VS
53972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5400 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5401
496bd074
VS
54022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Unify and improve RAID and crypto xor.
5405
5406 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5407 changed to grub_crypto_xor
5408 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5409 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5410 Use bigger types when possible.
5411
ef6e4335
VS
54122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/disk/raid.c (scan_devices): Fix condition.
5415
5d048bf2
VS
54162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5419 Make name a const ptr.
5420
ee533335
VS
54212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5424 first argument a const pointer.
5425 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5427 proto.
5428 (grub_children_iterate): Likewise.
5429 (grub_machine_mmap_iterate): Remove redundant declaration.
5430
cc8f3668
VS
54312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5434 (grub_cmd_acpi) [!x86]: Disable EBDA.
5435
c5fc563a
VS
54362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Enable UTF8 in gnulib regexp.
5439
5440 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5441 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5442 (isupper): Use grub_isupper.
5443 (isascii): New inline function.
5444 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5445 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5446 * grub-core/normal/charset.c (grub_utf8_process): New function.
5447 (grub_utf8_to_utf16): Use grub_utf8_process.
5448 (grub_encode_utf8_character): New function.
5449 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5450 * include/grub/charset.h (grub_utf8_process): New declaration.
5451 (grub_encode_utf8_character): Likewise.
5452 * include/grub/misc.h (grub_islower): New inline function.
5453 (grub_isupper): Likewise.
5454 (grub_strchrsub): Moved down to fix the definitions.
5455
0af2346f
VS
54562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5459 specification.
5460
74dbd244
VS
54612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * include/grub/loader.h (grub_loader_register_preboot_hook):
5464 Use struct preboot * and not void * for handle. All users updated.
5465 (grub_loader_unregister_preboot_hook): Likewise.
5466
1bc8f60d
VS
54672011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5470 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5471 UTF-16-BE. All users updated.
5472 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5473 (grub_hfsplus_iterate_dir): Likewise.
5474 (grub_hfsplus_label): Likewise.
5475
48d6e456
VS
54762011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5479
bf3a3857
VS
54802011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 Add missing const qualifiers.
5483
5484 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5485 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5486 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5487 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5488 (grub_lvm_check_flag): Likewise.
5489 * grub-core/efiemu/i386/coredetect.c
5490 (grub_efiemu_get_default_core_name): Likewise
5491 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5492 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5493 * grub-core/fs/ntfs.c (fixup): Likewise.
5494 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5495 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5496 (fzap_lookup): Likewise.
5497 (zap_lookup): Likewise.
5498 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5499 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5500 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5501 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5502 (grub_freebsd_add_meta_module): Likewise.
5503 (grub_cmd_freebsd_module): Likewise.
5504 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5505 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5506 (grub_xnu_writetree_get_size): Likewise.
5507 (grub_xnu_writetree_toheap_real): Likewise.
5508 (grub_xnu_find_key): Likewise.
5509 (grub_xnu_create_key): Likewise.
5510 (grub_xnu_create_value): Likewise.
5511 (grub_xnu_register_memory): Likewise.
5512 (grub_xnu_check_os_bundle_required): Likewise.
5513 (grub_xnu_scan_dir_for_kexts): Likewise.
5514 (grub_xnu_load_kext_from_dir): Likewise.
5515 * grub-core/normal/color.c (color_list): Likewise.
5516 * grub-core/normal/completion.c (current_word): Likewise.
5517 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5518 * grub-core/term/serial.c (grub_serial_find): Likewise.
5519 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5520 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5521 Likewise.
5522 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5523 (grub_freebsd_add_meta_module): Likewise.
5524 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5525 * include/grub/net.h (grub_net_card_driver): Likewise.
5526 (grub_net_card): Likewise.
5527 (grub_net_app_protocol): Likewise.
5528 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5529 * include/grub/serial.h (grub_serial_find): Likewise.
5530 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5531 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5532 (grub_xnu_create_value): Likewise.
5533 (grub_xnu_find_key): Likewise.
5534 (grub_xnu_scan_dir_for_kexts): Likewise.
5535 (grub_xnu_load_kext_from_dir): Likewise.
5536
5537 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5538 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5539 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5540 Moved from here ...
5541 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5542
112b4837
CW
55432011-11-28 Colin Watson <cjwatson@ubuntu.com>
5544
5545 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5546
49e891ac
VS
55472011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5550 (read_device): Fix size calculation.
5551
fd258e5c
RM
55522011-11-25 Robert Millan <rmh@gnu.org>
5553
5554 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5555 (find_root_device_from_libzfs): Add zpool output parser to be used
5556 as fallback when libzfs isn't available.
5557
78845dc2
SG
55582011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5559
5560 * po/Makefile.in.in: Add missing escape-continuation.
5561
adac5211
VS
55622011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5565
10b64f1c
VS
55662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5569
bb416954
VS
55702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5573
bdfe9eeb
VS
55742011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5577
581ffa8a
VS
55782011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/lib/adler32.c: Add missing license specification.
5581 * grub-core/lib/crc64.c: Likewise.
5582 * grub-core/loader/i386/pc/plan9.c: Likewise.
5583 * grub-core/partmap/plan.c: Likewise.
5584
2536cf64
LK
55852011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5586
5587 Add facility to debug GRUB with gdb under qemu.
5588
5589 * grub-core/gdb_grub.in: New file.
5590 * grub-core/gmodule.pl.in: Likewise.
5591 * grub-core/Makefile.core.def (gmodule.pl): New script.
5592 (gdb_grub): Likewise.
5593
bc108a4a
VS
55942011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * util/grub-mount.c (argp_parser): Accept relative pathes.
5597 * util/grub-fstest.c (argp_parser): Likewise.
5598
111c1778
VS
55992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Plan9 support.
5602
5603 * Makefile.util.def (libgrubmods): Add
5604 grub-core/partmap/plan.c.
5605 * docs/grub.texi: Notice Plan9 support.
5606 * grub-core/Makefile.core.def (plan9): New module.
5607 (part_plan): Likewise.
5608 * grub-core/loader/i386/pc/plan9.c: New file.
5609 * grub-core/partmap/plan.c: Likewise.
5610 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5611 define.
5612 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5613 * include/grub/mm.h (grub_extend_alloc): New inline function.
5614
c30be3b6
VS
56152011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 Make Reed-Solomon faster by using power of generator representation of
5618 GF(256)*.
5619
5620 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5621 (gf_double_t): Likewise.
5622 (gf_invert): Removed.
5623 (gf_powx): New array.
5624 (gf_powx_inv): Likewise.
5625 (scratch): Move higher.
5626 (gf_reduce): Removed.
5627 (gf_mul): Use powx.
5628 (gf_invert): Likewise.
5629 (init_inverts): Replaced with ...
5630 (init_powx): ...this. All users updated.
5631 (pol_evaluate): Replace multiplications with additions.
5632 (rs_encode): Likewise.
5633 (gauss_eliminate): Call gf_invert.
5634 (grub_reed_solomon_add_redundancy): Call init_powx.
5635 (grub_reed_solomon_recover): Call init_powx unconditionally.
5636
fa5aeffc
VS
56372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5640
a346b81c
VS
56412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5644 disk->partiton for safety.
5645
d89ee414
VS
56462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5649 Fix a memory leak.
5650 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5651
91ee7b6d
VS
56522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5655
91e5a33d
VS
56562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5659
9edd7be2
VS
56602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Fix spaces handling in proc/self/mountinfo.
5663
5664 * util/getroot.c (unescape): New function.
5665 (grub_find_root_device_from_mountinfo): Use unescape.
5666
ba102053
VS
56672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 Support ZFS embedding.
5670
5671 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5672 (grub_zfs_fs): Register grub_zfs_embed.
5673
aa94b870
VS
56742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 Fix MIPS compilation.
5677
5678 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5679 * include/grub/offsets.h: Rename decompressor fields from
5680 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5681 * util/grub-mkimage.c (image_targets): Use new names.
5682
5fbdac14
VS
56832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 Defer multiboot device parsing until we're in compressed part.
5686
5687 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5688 bsd_part. setdevice has fallen into disuse.
5689 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5690 (bsd_part): Likewise.
5691 (boot_dev): New variable.
5692 (multiboot_trampoline): Don't parse multiboot device.
5693 Pass multiboot device in %edx.
5694 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5695 grub_boot_device.
5696 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5697 Likewise.
5698 * grub-core/kern/i386/pc/startup.S: Save edx.
5699 (grub_boot_drive): Removed.
5700 (grub_install_dos_part): Likewise.
5701 (grub_install_bsd_part): Likewise.
5702 (grub_boot_device): New variable.
5703 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5704 (grub_install_bsd_part): Likewise.
5705 (grub_boot_drive): Likewise.
5706 (grub_boot_device): New variable.
5707 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5708 Removed.
5709 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5710 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5711 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5712 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5713 * util/grub-install.in: Remove redundant condition.
5714
691cbb58
VS
57152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Fix bug introduced by previous commit.
5718
5719 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5720
60240b8b
VS
57212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 Use decompressors framework on i386-pc. It increases core size
5724 by 46 bytes but improves compatibility and maintainability.
5725
5726 * grub-core/Makefile.core.def (lzma_decompress): New image.
5727 (kernel): Add i386_pc_ldflags.
5728 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5729 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5730 to real_to_prot, prot_to_real and device info.
5731 * include/grub/offsets.h: Renamed decompressor offsets.
5732 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5733 (image_target_desc): Remove raw_size and rename decompressor fields.
5734 (compress_kernel): Handle lzma.
5735 (generate_image): Handle decompressors on i386-pc.
5736
e9d3421c
VS
57372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * configure.ac: Add -fno-asynchronous-unwind-tables.
5740
2b23074a
VS
57412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 Move assembly code to C by using intwrap. It increases core size
5744 by 88 bytes but improves compatibility and maintainability.
5745
5746 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5747 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5748 ... here. Translated to C.
5749 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5750 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5751 ... here. Translated to C.
5752 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5753 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5754 ... here. Translated to C.
5755 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5756 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5757 ... here. Translated to C.
5758 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5759 * grub-core/term/i386/pc/console.c (grub_console_cls):
5760 ... here. Translated to C.
5761 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5762 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5763 ... here. Translated to C.
5764 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5765 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5766 Translated to C.
5767 * grub-core/term/i386/pc/console.c (int10_9): New function.
5768 (grub_console_putchar): Likewise.
5769 * include/grub/i386/pc/console.h: Removed the not anymore shared
5770 functions.
5771
678f4b67
VS
57722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Move grub_chainloader_real_boot out of the kernel.
5775
5776 * grub-core/Makefile.am: Remove machine/loader.h.
5777 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5778 Removed.
5779 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5780 variable.
5781 (grub_relocator16_keep_a20_enabled): Likewise.
5782 (grub_relocator16_boot): Fill new variables.
5783 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5784 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5785 relocator.
5786 (grub_chainloader_unload): Likewise.
5787 (grub_chainloader_cmd): Likewise.
5788 * include/grub/i386/pc/loader.h: Removed.
5789 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5790 and esi. All initialisers updated.
5791
4626edf6
VS
57922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
57932011-11-12 Colin Watson <cjwatson@ubuntu.com>
5794
5795 * Makefile.util.def (grub-mount): New util.
5796 * .bzrignore: Add grub-mount.
5797 * configure.ac: Check for fuse and enable grub-mount if available.
5798 * docs/man/grub-mount.h2m: New file.
5799 * util/grub-mount.c: Likewise.
5800
10f0117b
VS
58012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/commands/efi/fixvideo.c: Gettextize.
5804 * grub-core/commands/hashsum.c: Likewise.
5805 * grub-core/commands/i386/cmostest.c: Likewise.
5806 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5807 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5808 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5809 * grub-core/commands/lsmmap.c: Likewise.
5810 * grub-core/commands/menuentry.c: Likewise.
5811 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5812 * grub-core/commands/setpci.c: Likewise.
5813 * grub-core/loader/i386/bsd.c: Likewise.
5814 * grub-core/loader/i386/linux.c: Likewise.
5815 * util/getroot.c: Likewise.
5816 * util/grub-editenv.c: Likewise.
5817 * util/grub-fstest.c: Likewise.
5818 * util/grub-mkfont.c: Likewise.
5819 * util/grub-mkimage.c: Likewise.
5820 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5821 * util/grub-pe2elf.c: Likewise.
5822 * util/grub-probe.c: Likewise.
5823 * util/grub-setup.c: Likewise.
5824 * util/ieee1275/ofpath.c: Likewise.
5825 * util/misc.c: Likewise.
5826 * util/raid.c: Likewise.
5827
566f779b
RM
58282011-11-11 Robert Millan <rmh@gnu.org>
5829
5830 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5831 __attribute__((unused)) from `os_dev', which *is* being used.
5832
b50787de
VS
58332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5836 forgotten define.
5837 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5838 GRUB_IA64_DL_GOT_ALIGN.
5839 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5840 GRUB_IA64_DL_TRAMP_ALIGN.
5841
119d11c8
VS
58422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 Replace grub_fatal with normal errors in i386 linux loader.
5845
5846 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5847 (allocate_pages): Check find_efi_mmap_size return value.
5848 (grub_e820_add_region): Return error.
5849 (grub_linux_boot): Check mmap return value.
5850
6e0632e2
VS
58512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/commands/acpihalt.c: Gettextized.
5854 * grub-core/commands/cacheinfo.c: Likewise.
5855 * grub-core/commands/cmp.c: Likewise.
5856 * grub-core/commands/efi/loadbios.c: Likewise.
5857 * grub-core/commands/gptsync.c: Likewise.
5858 * grub-core/commands/ieee1275/suspend.c: Likewise.
5859 * grub-core/commands/legacycfg.c: Likewise.
5860 * grub-core/commands/memrw.c: Likewise.
5861 * grub-core/commands/minicmd.c: Likewise.
5862 * grub-core/commands/parttool.c: Likewise.
5863 * grub-core/commands/time.c: Likewise.
5864 * grub-core/commands/videoinfo.c: Likewise.
5865 * grub-core/disk/geli.c: Likewise.
5866 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5867 * grub-core/disk/luks.c: Likewise.
5868 * grub-core/disk/lvm.c: Likewise.
5869 * grub-core/font/font_cmd.c: Likewise.
5870 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5871 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5872 * grub-core/gfxmenu/view.c: Likewise.
5873 * grub-core/kern/emu/hostdisk.c: Likewise.
5874 * grub-core/kern/emu/main.c: Likewise.
5875 * grub-core/kern/emu/misc.c: Likewise.
5876 * grub-core/kern/emu/mm.c: Likewise.
5877 * grub-core/kern/mips/arc/init.c: Likewise.
5878 * grub-core/kern/mips/loongson/init.c: Likewise.
5879 * grub-core/kern/partition.c: Likewise.
5880 * grub-core/lib/i386/halt.c: Likewise.
5881 * grub-core/lib/mips/arc/reboot.c: Likewise.
5882 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5883 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5884 * grub-core/loader/i386/xnu.c: Likewise.
5885 * grub-core/loader/multiboot.c: Likewise.
5886 * grub-core/net/bootp.c: Likewise.
5887 * grub-core/net/net.c: Likewise.
5888 * grub-core/normal/term.c: Likewise.
5889 * grub-core/partmap/bsdlabel.c: Likewise.
5890 * grub-core/parttool/msdospart.c: Likewise.
5891 * grub-core/term/gfxterm.c: Likewise.
5892 * grub-core/term/terminfo.c: Likewise.
5893 * grub-core/video/i386/pc/vbe.c: Likewise.
5894 * util/grub-menulst2cfg.c: Likewise.
5895 * util/grub-mkdevicemap.c: Likewise.
5896 * util/grub-mklayout.c: Likewise.
5897 * util/grub-mkrelpath.c: Likewise.
5898 * util/grub-script-check.c: Likewise.
5899 * util/ieee1275/grub-ofpathname.c: Likewise.
5900 * util/resolve.c: Likewise.
5901
073aa7a9
VS
59022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Support %1$d syntax.
5905
5906 * tests/printf_unit_test.c: New file.
5907 * Makefile.util.def (printf_test): New test.
5908 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5909
c76b5417
VS
59102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5913 fix.
5914
df067ad1
VS
59152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5918 dprintf.
5919 * grub-core/font/font.c (grub_font_load): Likewise.
5920
5b289bc5
VS
59212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * util/grub-macho2img.c: Add comment concerning gettext.
5924 * grub-core/lib/legacy_parse.c: Likewise.
5925
c1860f87
VS
59262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5929 (grub_xvasprintf): Likewise.
5930
d35d0d37
VS
59312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 Add const keyword to grub_env_get and gettextize week days.
5934
5935 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5936 (grub_read_hook_datetime): Return const char *.
5937 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5938 updated.
5939 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5940 Mark for gettext.
5941 (grub_get_weekday_name): Return const char *. Call gettext.
5942 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5943 char * and len as the argument. All users updated.
5944 (grub_script_argv_split_append): Receive const char *.
5945 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5946 * include/grub/env.h (grub_env_get): Likewise.
5947 (grub_env_read_hook_t): Return const char *.
5948 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5949 (grub_script_argv_split_append): Likewise.
5950
9aed8a71
VS
59512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5954
067fdf00
VS
59552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5958 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5959
a8bd9d39
VS
59602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5963 Fix prototype.
5964
f7ce5baf
VS
59652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 Fix mips compilation.
5968
5969 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5970 normal decoder.
5971 (hashes): Use in embed decoder as well (for sizes).
5972 (dec_stream_header): Fix embed decompressor logic.
5973 (dec_stream_footer): Likewise.
5974
9bb182f3
VS
59752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5978 an error and not a fatal on unrecognised relocation types.
5979
63a9e6f6
VS
59802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5983 Issue error rather than printf on unknown arguments.
5984
4c458569
VS
59852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5988 Make buf a const.
5989
e2d22baf
VS
59902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5993 Fix module name.
5994
53dc8590
VS
59952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5998 leftover debug printf.
5999
6c189294
VS
60002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6003
f7688369
VS
60042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6005
6006 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6007 A stylistic fix.
6008
11a775a3
VS
60092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6012
33f784e8
SL
60132011-11-10 Shea Levy <slevy@tieronedesign.com>
6014
6015 Allow all modules to perform serial IO
6016
6017 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6018 * include/grub/serial.h (grub_serial_port_configure): New inline
6019 function.
6020 (grub_serial_port_fetch): Likewise.
6021 (grub_serial_port_put): Likewise.
6022 (grub_serial_port_fini): Likewise.
6023 (grub_serial_find): New proto.
6024
f6276525
VS
60252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Put symlink at the end of the node and fix a potential
6028 memory corruption.
6029
6030 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6031 Make symlink into an array.
6032 (set_rockridge): Set have_symlink and alloc_dirents.
6033 (grub_iso9660_read_symlink): Use new layout.
6034 (grub_iso9660_iterate_dir): Fix memory corruption.
6035 Use new layout.
6036 (grub_iso9660_dir): Set have_symlink.
6037 (grub_iso9660_open): Likewise.
6038
c3591189
VS
60392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 Remove local keyword.
6042
6043 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6044 (version_test_gt): Likewise.
6045 (version_find_latest): Likewise.
6046 (gettext_printf): Likewise.
6047 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6048
cb544caa
VS
60492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6052
45bd824d
VS
60532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 Fix ZFS memory and resource leaks.
6056
6057 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6058 All users updated.
6059 Free type on exit.
6060 (fill_vdev_info): New parameter inserted. All users updated.
6061 (check_pool_label): Likewise.
6062 (scan_disk): Likewise.
6063 (scan_devices): Close non-inserted disks.
6064 (fzap_iterate): Free l.
6065 (unmount_device): Free children descripto memory.
6066
ad9a2f44
VS
60672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6070 argument (access out of bounds).
6071
6b68db81
VS
60722011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6075 >= 6 drives.
6076
28840fda
VS
60772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6080 Fix declaration.
6081
8a5a3a5b
VS
60822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Fix several memory leaks.
6085
6086 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6087 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6088 (grub_cpio_dir): Likewise.
6089 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6090 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6091 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6092 (grub_romfs_label): Likewise.
6093 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6094 (squash_unmount): New function.
6095 (grub_squash_dir): Fix memory leak.
6096 (grub_squash_open): Likewise.
6097 (grub_squash_read): Likewise.
6098 (grub_squash_mtime): Likewise.
6099 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6100 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6101 * util/grub-fstest.c (fstest): Likewise.
6102
57b01250
VS
61032011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6106 avoid accessing beyond the array.
6107
19e81ba7
VS
61082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6111
52b656c0
VS
61122011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Several AFFS fixes.
6115
6116 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6117 (GRUB_AFFS_FLAG_FFS): Removed.
6118 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6119 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6120 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6121 (grub_fshelp_node): Make block 32-bit.
6122 Add block_cache and last_block_cache.
6123 (grub_affs_read_block): Fill and use block cache.
6124 (grub_affs_read_file): Removed.
6125 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6126 boot block.
6127 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6128 safety.
6129 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6130 space.
6131 (grub_affs_close): Free block cache.
6132 (grub_affs_read): Use grub_fshelp_read_file directly.
6133
438a746a
VS
61342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6137 with no error set.
6138
49a45021
VS
61392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6142 used variable.
6143 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6144 Likewise.
6145
3ae17eb8
VS
61462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6149
6150 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6151 byteswap when needed.
6152
27610c38
VS
61532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 Fix FreeBSD compilation.
6156
6157 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6158 to avoid circular dependency.
6159 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6160 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6161 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6162
4a19b601
VS
61632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 Fix ZFS crypto error types.
6166
6167 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6168 (grub_gcm_decrypt): Likewise.
6169 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6170 from PBKDF2.
6171
958ee221
VS
61722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Illumos support.
6175
6176 * Makefile.util.def (10_illumos): New script.
6177 * configure.ac: Set COND_HOST_ILLUMOS.
6178 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6179 Support Illumos calls.
6180 (find_partition_start) [__sun__]: Likewise.
6181 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6182 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6183 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6184 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6185 device.
6186 * util/grub-probe.c (probe) [__sun__]: Do character check.
6187 * util/grub.d/10_illumos.in: New file.
6188
cac14fb6
VS
61892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 Support escaped commas in hostdisk.
6192
6193 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6194 (find_grub_drive): Use unescape_cmp.
6195 (make_device_name): Escape commas.
6196
78e08dc3
VS
61972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6200
9f421dd1
VS
62012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6204 variable.
6205
ed64e9e2
VS
62062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Support trampoline jumps on powerpc.
6209
6210 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6211 __ia64__ path.
6212 (grub_dl_load_segments): Set mod->sz.
6213 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6214 segments.
6215 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6216 (jump): Likewise.
6217 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6218 function.
6219 (trampoline): New struct.
6220 (trampoline_template): New const.
6221 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6222 * include/grub/dl.h (grub_dl): Add sz element.
6223 [__powerpc__]: Follow __ia64__.
6224 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6225 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6226 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6227 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6228
3084ede4
VS
62292011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 ZFS crypto support.
6232
6233 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6234 * grub-core/Makefile.core.def (zfscrypt): New module.
6235 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6236 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6237 it. All users updated.
6238 (grub_zfs_decrypt): New var.
6239 (grub_zfs_load_key): Likewise.
6240 (zio_checksum_functions): Add SHA256+MAC.
6241 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6242 (zio_read): Handle encrypted blocks.
6243 (zap_verify): Remove incorrect check.
6244 (fzap_iterate): Handle non-standard fzap.
6245 (zap_iterate): Likewise.
6246 (zap_iterate_u64): New function.
6247 (dnode_get_fullpath): Load keys.
6248 * grub-core/fs/zfs/zfscrypt.c: New file.
6249 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6250 (grub_crypto_ecb_encrypt): Make input const.
6251 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6252 (grub_crypto_ecb_encrypt): Make input const.
6253 (GRUB_CIPHER_AES): New macro.
6254 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6255 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6256 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6257 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6258 prefix. All users updated.
6259 (grub_zfs_add_key): New proto.
6260 (grub_zfs_decrypt): Likewise.
6261 (grub_zfs_load_key): Likewise.
6262 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6263 * util/grub-fstest.c (options): Add -K option.
6264 (argp_parser): Likewise.
6265
b632b404
VS
62662011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 Support zle compression on ZFS.
6269
6270 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6271 (decomp_table): Add zle.
6272 * include/grub/zfs/zio.h (zio_compress): Add zle.
6273
c7ba4f69
VS
62742011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 Support BtrFS embedding.
6277
6278 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6279 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6280 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6281 * util/grub-setup.c (setup): Use fs embedding if available.
6282 Add additional sanity check.
6283
455377d9
VS
62842011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * util/grub-install.in: Fix condition for config_opt.
6287
c2fd16ca
VS
62882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 Support third redundancy strip on raidz3.
6291
6292 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6293 Return error on singularity. All users updated.
6294 (read_device): Don't stop on 3rd failure on raidz3.
6295
8622923b
VS
62962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 Support case-insensitive ZFS subvolumes.
6299
6300 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6301 All users updated.
6302 (zap_hash): Likewise.
6303 (name_cmp): New function.
6304 (zap_leaf_array_equal): New parameter case_insensitive.
6305 All users updated.
6306 (zap_leaf_lookup): Likewise.
6307 (fzap_lookup): Likewise.
6308 (zap_lookup): Likewise.
6309 (dnode_get_path): New parameter case_insensitive. Retrieve case
6310 sensitiviness of a volume. All users updated.
6311 (dnode_get_fullpath): New parameter case_insensitive.
6312 All users updated.
6313 (grub_zfs_dir): Set info.case_insensitiveness.
6314
95f2e860
VS
63152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 Support second redundancy strip on raidz(2,3).
6318
6319 * grub-core/fs/zfs/zfs.c (powx): New array.
6320 (powx_inv): Likewise.
6321 (poly): New const.
6322 (xor_out): New function.
6323 (gf_mul): Likewise.
6324 (recovery): Likewise.
6325 (read_device): Use second redundancy strip.
6326
11ee4389
VS
63272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Use a power of generator representation of GF(256) multiplication group
6330 to save space time and complexity.
6331
6332 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6333 (raid6_table2): Likewise.
6334 (powx): New array.
6335 (powx_inv): Likewise.
6336 (poly): New const.
6337 (grub_raid_block_mul): Replace with ...
6338 (grub_raid_block_mulx): ...this.
6339 (grub_raid6_init_table): Rewritten.
6340 (grub_raid6_recover): Use power of generator representation.
6341
09e2763f
VS
63422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6345 for the right device.
6346
8bec9a28
VS
63472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6350 expected by grub-mkimage and it's more clear since there is no implicit
6351 padding.
6352
dbd3a32e
VS
63532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6356 disk.
6357 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6358
182c872a
PMH
63592011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6360
6361 * util/grub-mkrescue.in: Fix handling xorriso option.
6362
1e51cabd
VS
63632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6366 NULL.
6367
9cc3581d 63682011-11-03 crocket <crockabiscuit@gmail.com>
6369
6370 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6371
158dc1ea
VS
63722011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 XZ CRC64 and SHA256 support.
6375
6376 * Makefile.util.def (libgrubmods): Add crc64.c.
6377 * grub-core/Makefile.core.def (crc64): New module.
6378 * grub-core/lib/crc64.c: New file.
6379 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6380 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6381 Fix the type.
6382 (MAX_HASH_SIZE): New define.
6383 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6384 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6385 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6386 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6387 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6388 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6389 Handle non-crc32 hashes.
6390 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6391 (dec_stream_header): Handle non-crc32 hashes.
6392 (dec_stream_footer): Likewise.
6393 (dec_block_header): Likewise.
6394 (dec_main): Likewise.
6395 (xz_dec_init): Likewise.
6396 (xz_dec_reset): Likewise.
6397 (xz_dec_end): Likewise.
6398 * util/import_gcry.py: Add CRC64 line.
6399
9d9b3d2f
VS
64002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6403 as well.
6404
7d0ac931
VS
64052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 Make reiserfs label retrieval similar to other *_label functions.
6408
6409 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6410 (REISERFS_MAX_LABEL_LENGTH): Removed.
6411 (REISERFS_LABEL_OFFSET): Likewise.
6412 (grub_reiserfs_label): Rewritten.
6413
64142011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6417 field.
6418
cf5ba824
VS
64192011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6422
17744004
VS
64232011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6426 drive failure on both raidz and raidz2.
6427
aca5aefc
VS
64282011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Fix RAIDZ(2) for >= 5 devices.
6431
6432 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6433 asize argument. All users updated.
6434
ce8ca56e
VS
64352011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 Fix RAIDZ(2).
6438
6439 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6440 (fill_vdev_info_real): Set ashift.
6441 (read_device): Rewrite RAIDZ part based on reverse engineering.
6442
7c01e783
VS
64432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6446 don't report potentially unavialiable fields in debug output.
6447 (find_path): Fix double-free and memory leak.
6448
ce109e84
VS
64492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Read label on UFS1.
6452
6453 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6454 (grub_ufs_fs): Always set .label.
6455
87661123
VS
64562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 Use shifts in UFS.
6459
6460 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6461 (grub_ufs_data): New field log2_blksz.
6462 (grub_ufs_read_file): Use shifts.
6463 (grub_ufs_mount): Check block size and logarithm it.
6464
46bc1dc2
VS
64652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6468 long symlinks.
6469
19ee2987
VS
64702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 Handle symlinks and long names on tar and cpio.
6473
6474 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6475 (ATTR_FILE): Likewise.
6476 (ATTR_DIR): Likewise.
6477 (ATTR_LNK): Likewise.
6478 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6479 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6480 L and K entries.
6481 (grub_cpio_mount): Zero-fill data.
6482 (handle_symlink): New function.
46bc1dc2
VS
6483 (grub_cpio_dir): Handle symlinks.
6484 (grub_cpio_open): Likewise.
6485 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6486
c83a08d8
VS
64872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Fix iso9660 filename limitations and fix memory leaks.
6490
6491 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6492 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6493
45cdd3ea
VS
64942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Fix JFS file name length limitations.
6497
6498 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6499 (grub_jfs_diropen): Fix maximum filename length.
6500 (grub_jfs_getent): Fix filename length.
6501 (grub_jfs_lookup_symlink): Fix size checks.
6502
94ef05c2
VS
65032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6506 string.
6507
785ab8c7
VS
65082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6509
eb0b6b45
VS
6510 Leverage BFS implementation to read AFS.
6511
6512 * Makefile.util.def (libgrubmods): Add afs.c.
6513 * grub-core/Makefile.core.def (afs): New module
6514 * grub-core/fs/afs.c: New file.
6515 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6516
65172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6520
c4a1628f
VS
65212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 * grub-core/fs/bfs.c: Run indent.
6524
5825b379
VS
65252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 BFS implementation based on the specification.
6528
6529 * grub-core/fs/bfs.c: New file.
6530 * Makefile.util.def (libgrubmods): Add bfs.c.
6531 * grub-core/Makefile.core.def (bfs): New module.
6532
42b2a706
VS
65332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * util/grub-fstest.c (cmd_cp): Clarify error message.
6536 (cmd_cmp): Likewise.
6537
61b99bfc
YB
65382011-10-30 Yves Blusseau <blusseau@zetam.org>
6539
6540 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6541 and befs_be.
6542
faba3d16
VS
65432011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Remove afs and befs because of copyright problem.
6546
6547 * grub-core/fs/afs.c: Removed.
6548 * grub-core/fs/afs_be.c: Removed.
6549 * grub-core/fs/befs.c: Removed.
6550 * grub-core/fs/befs_be.c: Removed.
6551 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6552 * grub-core/Makefile.core.def (afs): Removed.
6553 (afs_be): Likewise.
6554 (befs): Likewise.
6555 (befs_be): Likewise.
6556
c39224b0
VS
65572011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Prefer rockridge over Joliet.
6560
6561 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6562 to ...
6563 (set_rockridge): ... here.
6564 (grub_iso9660_mount): Check rockridge on the primary label when
6565 discovering. Ignore Joliet if Rockridge is present.
6566
e551115a
VS
65672011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 Use shifts in nilfs2.
6570
6571 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6572 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6573 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6574 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6575 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6576 (grub_nilfs2_entries_per_block): Replaced with ...
6577 (grub_nilfs2_log_entries_per_block_log): ... this.
6578 (grub_nilfs2_blocks_per_group): Replaced with ...
6579 (grub_nilfs2_blocks_per_group_log): ... this.
6580 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6581 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6582 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6583 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6584 (grub_nilfs2_palloc_entry_offset): Replaced ...
6585 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6586 (grub_nilfs2_dat_translate): Use shifts.
6587 (grub_nilfs2_read_inode): Likewise.
6588 (GRUB_MOD_INIT): Ensure that logs are correct.
6589
564dd58c
VS
65902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Use shifts in minix filesystem.
6593
6594 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6595 (GRUB_MINIX_ZONE2SECT): Likewise.
6596 (grub_minix_data): Replace block_size with log_block_size.
6597 (grub_minix_read_file): Use shifts.
6598 (grub_minix_mount): Check block size and take a logarithm.
6599
ed9ba06d
VS
66002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Use shifts in squash4.
6603
6604 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6605 (squash_mount): Check block size and take logarithm.
6606 (direct_read): Use shifts.
6607
ad03fe76
VS
66082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 Correct befs block counting logic.
6611
6612 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6613 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6614 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6615 (grub_afs_read_inode): Use block_shift.
6616 (RANGE_SHIFT): New definition.
6617 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6618 unexpected conditions, use shifts and appropriate types.
6619 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6620
6563f63d
VS
66212011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/disk/raid.c (scan_devices): Check partition.
6624 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6625
5b1ae25f
VS
66262011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 Support BFS (befs) UUID.
6629
6630 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6631 (grub_afs_small_data_element_header): New struct.
6632 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6633 (grub_afs_read_attribute) [MODE_BFS]: New function.
6634 (grub_afs_iterate_dir): Allocate for complete inode.
6635 (grub_afs_mount): Likewise.
6636 (grub_afs_uuid) [MODE_BFS]: New function.
6637 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6638
f8d82408
VS
66392011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6642 (zfs_unmount): Fix memory leak.
6643
5773fb64
VS
66442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Support NTFS reparse points.
6647
6648 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6649 (symlink_descriptor): New struct.
6650 (grub_ntfs_read_symlink): New function.
6651 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6652 (grub_ntfs_open): Likewise.
6653
91c3fdde
VS
66542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6657
3be82e10
VS
66582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 fstest xnu_uuid subcommand.
6661
6662 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6663 grub-core/commands/xnu_uuid.c.
6664 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6665 (fstest): Handle xnu_uuid.
6666 (options): Document xnu_uuid.
6667 (argp_parser): Parse xnu_uuid.
6668
8e32442e
VS
66692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6672 -l argument. Add newline at the end if printing.
6673 (GRUB_MOD_INIT): Document -l.
6674
52a05075
VS
66752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6678
1869edb5
VS
66792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 ZFS multi-device and version 33 support.
6682
6683 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6684 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6685 (grub_zfs_data): Add multidev-ice-related fields.
6686 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6687 (dva_get_offset): Make dva const.
6688 (zfs_fetch_nvlist): New function.
6689 (fill_vdev_info_real): Likewise.
6690 (fill_vdev_info): Likewise.
6691 (check_pool_label): Likewise.
6692 (scan_disk): Likewise.
6693 (scan_devices): Likewise.
6694 (read_device): Likewise.
6695 (read_dva): Likewise.
6696 (zio_read_gang): Use read_dva.
6697 (zio_read_data): Likewise.
6698 (zap_leaf_lookup): Add missing endian conversion.
6699 (zap_verify): Add missing endian conversion. All users updated.
6700 (fzap_lookup): Likewise.
6701 (fzap_iterate): Likewise.
6702 (dnode_get_path): Handle SA bonus.
6703 (nvlist_find_value): Make input const. All users updated.
6704 (unmount_device): New function.
6705 (zfs_unmount): Use unmount_device.
6706 (zfs_mount): Use scan_disk.
6707 (zfs_mtime): New function.
6708 (grub_zfs_open): Handle system attributes.
6709 (fill_fs_info): Likewise.
6710 (grub_zfs_dir): Likewise.
6711 (grub_zfs_fs): Add mtime.
6712 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6713 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6714 (SA_MTIME_OFFSET): Likewise.
6715 (SA_SYMLINK_OFFSET): Likewise.
6716 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6717 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6718 (fstest): Support zfsinfo.
6719 (argp_parser): Likewise.
6720
186b4028
VS
67212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6724 error.
6725
67262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6727
6728 ZFS fixes.
6729
6730 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6731 sharing the same block. Iterate over correct number of indices.
6732 (dnode_get_path): Handle symlinks correctly.
6733
c0584900
VS
67342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6737
67e2bd71
VS
67382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Read label on HFS+.
6741
6742 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6743 (grub_hfsplus_btree_search): Fix types.
6744 (grub_hfsplus_label): Implement.
6745
e9cc6b7b
VS
67462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6749
19832ddb
VS
67502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6753
66b40850
VS
67542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 Fix symlink handling on iso9660.
6757
6758 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6759 All users updated.
6760 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6761 (grub_iso9660_read_symlink): Moved most of code ...
6762 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6763
db821363
VS
67642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6767 Use union to avoid breaking strict-aliasing rules.
6768
e1211949
VS
67692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 Support multi-extent iso files.
6772
6773 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6774 Add node.
6775 (grub_fshelp_node): Revamp. All users updated.
6776 (FLAG_*): New enum.
6777 (read_node): New function.
6778 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6779 All users updated.
6780 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6781 (get_node_size): New function.
6782 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6783 entries.
6784 Fix memory leak on . and ..
6785 (grub_iso9660_read): Use read_node.
6786 (grub_iso9660_close): Free node.
6787
d4888031
VS
67882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 Fix tar 4G limit and handle paths containing dot.
6791
6792 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6793 (canonicalize): New function.
6794 (grub_cpio_find_file): Use canonicalize. Store offs in
6795 grub_disk_addr_t.
6796 (grub_cpio_dir): Use grub_disk_addr_t.
6797 (grub_cpio_open): Likewise.
6798
9f12e664
VS
67992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6802
6803 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6804 unused flags.
6805 (grub_squash_inode): Add long_file and block_size.
6806 (grub_squash_cache_inode): New struct.
6807 (grub_squash_dirent): Make types into enum.
6808 (SQUASH_TYPE_LONG_REGULAR): New type.
6809 (grub_squash_frag_desc): Add field size.
6810 (SQUASH_BLOCK_FLAGS): New enum.
6811 (grub_squash_data): Use grub_squash_cache_inode.
6812 (grub_fshelp_node): Make ino_chunk 64-bit.
6813 (read_chunk): Minor argument change. All users updated.
6814 (squash_mount): Use correct le_to_cpu.
6815 (grub_squash_open): Handle LONG_REGULAR.
6816 (direct_read): New function.
6817 (grub_squash_read_data): Handle blocks correctly.
6818
9f326fba
VS
68192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6822
f4d9b64b
VS
68232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6826
5bbd28b8
VS
68272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 Fix 2G limit on ZFS.
6830
6831 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6832 types.
6833 (uberblock_verify): Likewise.
6834 (dmu_read): Likewise.
6835 (grub_zfs_read): Likewise. Remove invalid cast.
6836
68c72069
VS
68372011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6840 (grub_jfs_blkno): Fix incorrect shift.
6841 (grub_jfs_read_file): Use more appropriate types.
6842
6e536dc8
VS
68432011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Support triple indirect on minix2 and minix3.
6846
6847 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6848 Declare triple_indir_zone.
6849 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6850 indirect.
6851
e0864e7a
VS
68522011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 Minix FS fixes.
6855
6856 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6857 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6858 Rename ctime to mtime. All users updated.
6859 (grub_minix_get_file_block): Fix types and double indirect computations.
6860
89481cab
VS
68612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6864 if no label is found.
6865 (grub_fat_iterate_dir): Fix file size type.
6866 (grub_fat_iterate_dir): Likewise.
6867
f646e143
VS
68682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6871 save some space.
6872 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6873 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6874
534d769e
VS
68752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6878
e084ba18
VS
68792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * util/import_gcry.py: Accept space between # and include.
6882
3471ecdf
VS
68832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6886
124df5f6
VS
68872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6890
6891 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6892 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6893 yylex_strncpy.
6894 * grub-core/script/yylex.l: Add fine-grained #pragma.
6895
4defb8d5
VS
68962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6899 New inline function.
6900 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6901 Likewise.
6902 (memset) [GRUB_UTIL]: Likewise.
6903 (memcmp) [GRUB_UTIL]: Likewise.
6904
4e94ae65
VS
69052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6908 inline function rather than a define.
6909
18c575e5
VS
69102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * util/grub-setup.c: Add missing include.
6913
f8bc22a8
VS
69142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * util/ieee1275/grub-ofpathname.c: Add missing include.
6917
3ce69fc9
VS
69182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6921 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6922 Likewise.
6923
d1e293bb
VS
69242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6927 grub_memcmp usage.
6928
7a5c54a4
VS
69292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * util/grub-install.in: Add datarootdir as per automake manual
6932 suggestion.
6933 * util/grub-mknetdir.in: Likewise.
6934
69352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6936
6937 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6938 suggestion.
6939 * util/grub.d/10_kfreebsd.in: Likewise.
6940 * util/grub.d/10_linux.in: Likewise.
6941 * util/grub.d/10_netbsd.in: Likewise.
6942 * util/grub.d/10_windows.in: Likewise.
6943 * util/grub.d/20_linux_xen.in: Likewise.
6944
766f7d08
VS
69452011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Remove redundant grub_kernel_image_size.
6948
6949 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6950 _edata and _start.
6951 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6952 the small code. It moves it only by few bytes but simplifies the code.
6953 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6954 _start.
6955 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6956 (grub_kernel_image_size): Removed.
6957 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6958 (grub_kernel_image_size): Removed.
6959 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6960 compiled with Apple toolchain.
6961 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6962 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6963 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6964 (grub_total_module_size): Likewise.
6965 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6966 Removed.
6967 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6968 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6969 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6970 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6971 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6972 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6973 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6974 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6975 Removed.
6976 (grub_total_module_size): Removed.
6977 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6978 (image_targets): Likewise.
6979 Set .compressed_size to no field on sparc.
6980 (generate_image): Remove kernel_image_size handling.
6981
fcf1d672
SJ
69822011-10-19 Szymon Janc <szymon@janc.net.pl>
6983
6984 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6985 NULL pointer dereference.
6986
de9c615e
VS
69872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6990 done with a dedicated section.
6991
6992 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6993 Ensure the correct position of boot_path.
6994 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6995 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6996 other fields.
6997 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6998 * include/grub/boot.h: Removed. All references removed.
6999 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7000 Removed.
7001 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7002
e55599dc
VS
70032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7006 name.
7007
36dd20ad
VS
70082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7011
f8f72eb8
VS
70122011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7015 Don't add the bogus brackets.
7016
a374751b
VS
70172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 ExFAT support.
7020
7021 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7022 * grub-core/Makefile.core.def (exfat): New module.
7023 * grub-core/fs/exfat.c: New file.
7024 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7025 (GRUB_FAT_ATTR_*): Make into an enum.
7026 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7027 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7028 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7029 (GRUB_FAT_MAXFILE): Removed.
7030 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7031 (grub_current_fat_bpb_t): New type.
7032 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7033 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7034 (grub_fat_dir_node_t): New type.
7035 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7036 (fat_log2) [MODE_EXFAT]: Removed.
7037 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7038 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7039 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7040 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7041 (grub_fat_label) [MODE_EXFAT]: New function.
7042 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7043 reserved_first_sector to 0.
7044
544c2487
VS
70452011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 Move grub_reboot out of the kernel.
7048
7049 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7050 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7051 * grub-core/lib/efi/reboot.c: ... here.
7052 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7053 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7054 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7055 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7056 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7057 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7058 * grub-core/lib/ieee1275/reboot.c: ... here.
7059 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7060 * grub-core/lib/mips/arc/reboot.c: ... here.
7061 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7062 * grub-core/lib/mips/loongson/reboot.c: ...here.
7063 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7064 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7065 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7066 * include/grub/i386/reboot.h: New file.
7067 * include/grub/mips/loongson/ec.h: Fix includes.
7068 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7069 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7070 * grub-core/lib/i386/reboot.c: New file.
7071
a97501d2
VS
70722011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Make grub_prefix into module to fix the arbitrary limit and save
7075 some space.
7076
7077 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7078 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7079 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7080 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7081 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7082 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7083 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7084 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7085 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7086 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7087 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7088 * include/grub/ia64/efi/kernel.h: Removed.
7089 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7090 (grub_prefix): Removed.
7091 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7092 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7093 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7094 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7095 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7096 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7097 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7098 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7099 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7100 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7101 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7102 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7103 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7104 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7105 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7106 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7107 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7108 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7109 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7110 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7111 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7112 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7113 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7114 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7115 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7116 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7117 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7118 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7119 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7120 from module.
7121 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7122 prefix_end.
7123 (image_targets): Likewise.
7124 (generate_image): Put prefix as a module.
7125
39705fad
VS
71262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 Replace grub_module_iterate with FOR_MODULES.
7129
7130 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7131 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7132 (grub_efi_modules_addr): ...this.
7133 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7134 (grub_efi_init): Set grub_modbase.
7135 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7136 (grub_modbase): New variable.
7137 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7138 (grub_modbase): New variable.
7139 (grub_machine_init): Set grub_modbase.
7140 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7141 (grub_modbase): New variable.
7142 (grub_machine_init): Set grub_modbase.
7143 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7144 (grub_modbase): New variable.
7145 (grub_machine_init): Set grub_modbase.
7146 * grub-core/kern/main.c (grub_module_iterate): Remove.
7147 (grub_modules_get_end): Use grub_modbase.
7148 (grub_load_modules): Use FOR_MODULES.
7149 (grub_load_config): Likewise.
7150 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7151 (grub_modbase): New variable.
7152 (grub_machine_init): Set grub_modbase.
7153 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7154 (grub_modbase): New variable.
7155 (grub_machine_init): Set grub_modbase.
7156 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7157 Removed.
7158 (grub_modbase): New variable.
7159 (grub_machine_init): Set grub_modbase.
7160 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7161 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7162 (grub_module_iterate): Likewise.
7163 (grub_modbase): New variable declaration.
7164 (FOR_MODULES): New macro.
7165
2afb7f6c
VS
71662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7169 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7170
366e34fa
VS
71712011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Fix few obvious type discrepancies.
7174
7175 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7176 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7177 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7178 variable.
7179 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7180 and connected types.
7181 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7182 offset.
7183 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7184 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7185 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7186 and connected types.
7187
177b960e
VS
71882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 Fix python 3.x incompatibilities.
7191
7192 * gentpl.py: Put brackets around print strings.
7193 * util/import_gcry.py: Open explicitly as utf-8.
7194 Use in instead of has_key.
7195
3b619ae1
VS
71962011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7199 (GRUB_XFS_INO_AGBITS): Make into inline function.
7200 (GRUB_XFS_INO_INOINAG): Likewise.
7201 (GRUB_XFS_INO_AG): Likewise.
7202 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7203 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7204 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7205 (GRUB_XFS_EXTENT_SIZE): Likewise.
7206 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7207 (GRUB_XFS_NEXT_DIRENT): Likewise.
7208 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7209 (grub_xfs_read_file): Fix offset type.
7210
8bcebcb8
RM
72112011-10-15 Robert Millan <rmh@gnu.org>
7212
7213 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7214
0017e5ef
RM
72152011-10-15 Robert Millan <rmh@gnu.org>
7216
7217 Fix build problem on FreeBSD and GNU/kFreeBSD.
7218
7219 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7220
d8919552
VS
72212011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7224
7225 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7226 types.
7227 (grub_hfsplus_btree_recoffset): Likewise.
7228 (grub_hfsplus_btree_recptr): Likewise.
7229 (grub_hfsplus_find_block): Likewise.
7230 (grub_hfsplus_btree_search): Likewise.
7231 (grub_hfsplus_read_block): Likewise.
7232 (grub_hfsplus_read_file): Likewise.
7233 (grub_hfsplus_mount): Likewise.
7234 (grub_hfsplus_btree_iterate_node): Likewise.
7235 (grub_hfsplus_btree_search): Likewise.
7236 (grub_hfsplus_iterate_dir): Likewise.
7237 (grub_hfsplus_read): A small code simplification.
7238
c81296b6
VS
72392011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/kern/emu/hostdisk.c
7242 (convert_system_partition_to_system_disk): Don't assume that children
7243 of mapper nodes are mapper nodes.
7244
0eb8ffb1
VS
72452011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7248 * include/grub/misc.h (grub_isxdigit): New function.
7249 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7250 switched to grub_isxdigit.
7251 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7252 number starting with a letter.
7253
a98f4a08
RM
72542011-10-09 Robert Millan <rmh@gnu.org>
7255
7256 LVM support for FreeBSD and GNU/kFreeBSD.
7257
7258 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7259 GNU/kFreeBSD.
7260 (LVM_DEV_MAPPER_STRING): Move from here ...
7261 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7262 * util/getroot.c: Include `<grub/util/lvm.h>'.
7263 (grub_util_get_dev_abstraction): Enable
7264 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7265 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7266 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7267 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7268 support it.
7269 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7270 GNU/kFreeBSD.
7271 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7272 when LVM abstraction is required for ${GRUB_DEVICE}.
7273
050e8e90
SJ
72742011-10-06 Szymon Janc <szymon@janc.net.pl>
7275
7276 Add support for LZO compression in GRUB:
7277 - import of minilzo library,
7278 - LZO decompression for btrfs,
7279 - lzop files decompression.
7280
7281 * grub-core/io/lzopio.c: New file.
7282 * grub-core/lib/adler32.c: Likewise.
7283 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7284 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7285 * grub-core/lib/minilzo/minilzo.c: Likewise.
7286 * grub-core/lib/minilzo/minilzo.h: Likewise.
7287 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7288 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7289 grub-core/lib/minilzo/minilzo.c to common.
7290 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7291 cflags in cppflags.
7292 * grub-core/Makefile.core.def (btrfs): Likewise.
7293 * grub-core/Makefile.core.def (lzopio): New module.
7294 (adler32): Likewise.
7295 * grub-core/fs/btrfs.c: Include minilzo.h.
7296 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7297 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7298 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7299 (grub_btrfs_lzo_decompress): New function.
7300 (grub_btrfs_extent_read): Add support for LZO compression type.
7301 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7302 (GRUB_USHRT_MAX): Likewise.
7303 (GRUB_UINT_MAX): Likewise.
7304 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7305 (UINT_MAX): Likewise.
7306 (CHAR_BIT): Likewise.
7307 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7308 grub-core/lib/posix_wrap/limits.h
7309 (UCHAR_MAX): Likewise.
7310 * include/grub/file.h (grub_file_filter_id): New compression filter
7311 GRUB_FILE_FILTER_LZOPIO.
7312 * include/grub/file.h (grub_file_filter_id): Set
7313 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7314 * include/grub/types.h (grub_get_unaligned16): New function.
7315 (grub_get_unaligned32): Likewise.
7316 (grub_get_unaligned64): Likewise.
7317 * util/import_gcry.py (cryptolist): Add adler32.
7318
0eb8ffb1
VS
73192011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7322 in perspective decreases the complexity of build system and fixes
7323 compilation right now.
7324
ce79cc99 73252011-10-01 Ales Nesrsta <starous@volny.cz>
7326
7327 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7328 (fixed problem related to using UHCI with coreboot).
7329
8667a314
BC
73302011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7331
7332 * gentpl.py: Use Autogen macros so that the output template file
7333 (Makefile.tpl) size is reduced.
7334
fc5efcc0
MK
73352011-09-29 Mads Kiilerich <mads@kiilerich.com>
7336
7337 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7338 extra_dist.
7339
d1ab689d
ML
73402011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7341
7342 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7343 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7344
c05de032
ML
73452011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7346
7347 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7348 _fullpath.
7349
cca7ccd8
ML
73502011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7351
7352 Remove extra declaration of sleep for mingw32.
7353
7354 * util/misc.c (sleep) [__MINGW32__]: Removed.
7355 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7356
e0b0dc83
GS
73572011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7358
7359 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7360 type and packname.
7361 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7362 Resurrected.
7363 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7364 (grub_netbsd_btinfo_bootwedge): New struct.
7365 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7366 New function.
7367 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7368
91a1a164
TH
73692011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7370
7371 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7372 loader.
7373
2ded951e
AB
73742011-09-28 Andreas Born <futur.andy@googlemail.com>
7375
7376 Fix incorrect identifiers in bash-completion.
7377
7378 * util/bash-completion.d/grub-completion.bash.in
7379 (_grub_mkpasswd-pbkdf2): Rename to ...
7380 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7381 (_grub_script-check): Rename to ...
7382 (_grub_script_check): ... this. All users updated.
7383
69915030
VS
73842011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7387 Return 0 if disk isn't biosdisk.
7388
20fd15f9
GS
73892011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7390
7391 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7392 on NetBSD.
7393 * Makefile.util.def (grub-fstest): Likewise.
7394
1a7d7db9
GS
73952011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7396
7397 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7398 Get sector size from disk label.
7399
2221ab6c
CW
74002011-09-05 Colin Watson <cjwatson@ubuntu.com>
7401
7402 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7403 */README* as well as README*.
7404 Reported by: Axel Beckert.
7405
ca51c4a0
VS
74062011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7409 case of less than 256 MiB of RAM.
7410
ab80f326
VS
74112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/commands/wildcard.c (make_regex): Handle @.
7414
4155e697
VS
74152011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7418
ab178c08
SJ
74192011-08-21 Szymon Janc <szymon@janc.net.pl>
7420
7421 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7422 AC_LANG_CONFTEST macros.
7423
7dc3c686
SJ
74242011-08-20 Szymon Janc <szymon@janc.net.pl>
7425
7426 Add grub-fstest option to uncompress data for commands.
7427
7428 * util/grub-fstest.c (uncompress): New var.
7429 (options): New option -u.
7430
fe8d4a7b
SJ
74312011-08-20 Szymon Janc <szymon@janc.net.pl>
7432
7433 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7434 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7435
a5219af1
SJ
74362011-08-20 Szymon Janc <szymon@janc.net.pl>
7437
7438 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7439 file type was not recognized correctly (not gzip or corrupted).
7440
f87abff5
VS
74412011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7444 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7445
d94497ea
VS
74462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7449 loongson.
7450 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7451 video_radeon_fuloong2e.
7452 * grub-core/video/radeon_fuloong2e.c: New file.
7453 * include/grub/video.h (grub_video_id_t): Add new ID
7454 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7455
0d1fd011
VS
74562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7459 define.
7460 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7461 that PRID matches the detected subplatform and reset the subplatform
7462 if it doesn't.
7463
84beb0ee
VS
74642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7467
1227c133
VS
74682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 Fix PCI iterating on functions >= 4.
7471
7472 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7473 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7474 Removed.
7475 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7476 (grub_pci_read): Fix bitmask.
7477 (grub_pci_read_word): Likewise.
7478 (grub_pci_read_byte): Likewise.
7479 (grub_pci_write): Likewise.
7480 (grub_pci_write_word): Likewise.
7481 (grub_pci_write_byte): Likewise.
7482
9594c689
VS
74832011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7486 can still be specified in TARGET_CFLAGS)
7487
14a2562c
VS
74882011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7491
7492 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7493 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7494 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7495 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7496 (FULOONG): Rename to ...
7497 (FULOONG2F): ... this. All users updated.
7498 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7499 (machtype_fuloong2f_str): ... this.
7500 (machtype_fuloong2e_str): New string.
7501 Check for machtype_fuloong2e_str.
7502 * grub-core/loader/mips/linux.c (loongson_machtypes)
7503 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7504 * grub-core/term/serial.c (loongson_defserial)
7505 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7506 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7507 loongson_defserial.
7508 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7509 Rename to ...
7510 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7511 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7512 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7513 to IMAGE_FULOONG2F_FLASH. All users updated.
7514 (image_targets): Rename images.
7515 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7516
b526cbb6
SJ
75172011-08-19 Szymon Janc <szymon@janc.net.pl>
7518
7519 Make enable of disk cache statistics code configurable.
7520
7521 * configure.ac: --enable-cache-stats added.
7522 * config.h.in (DISK_CACHE_STATS): New define.
7523 * grub-core/Makefile.core.def (cacheinfo): New command.
7524 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7525 * grub-core/commands/cacheinfo.c: New file.
7526 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7527 moved to cacheinfo.c.
7528 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7529 debug code.
7530 * include/grub/disk.h: Likewise.
7531
fb739ccd
SJ
75322011-08-19 Szymon Janc <szymon@janc.net.pl>
7533
7534 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7535 * grub-core/Makefile.am: Likewise.
7536
2bba8cfd
VS
75372011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7538
7539 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7540 non-zero pull.
7541
43526629
VS
75422011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7545 All users updated.
7546 (grub_jfs_lookup_symlink): Use correct starting inode.
7547
5c144cc8
VS
75482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * util/grub-setup.c (main): Add missing gcry initialisation.
7551
b1257f65
VS
75522011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 Don't accept text modes on EFI when booting Linux.
7555
7556 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7557 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7558
828bc390
ML
75592011-08-15 Mario Limonciello <mario_limonciello@dell.com>
75602011-08-15 Colin Watson <cjwatson@ubuntu.com>
7561
7562 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7563 use of "/path/.." as in grub-install for EFI as well as handling
7564 symlinks correctly.
7565 Fixes Debian bug #637768.
7566
5f60ccac
CW
75672011-08-15 Colin Watson <cjwatson@ubuntu.com>
7568
7569 * util/grub-probe.c: Remove duplicate #include.
7570
6dc212f9
RM
75712011-08-10 Robert Millan <rmh@gnu.org>
7572
7573 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7574
7575 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7576 function.
7577 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7578 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7579
66816d85
RM
75802011-08-03 Robert Millan <rmh@gnu.org>
7581
7582 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7583 la_array as packed.
7584 Reported by: Zachary Bedell
7585
20168fca
CW
75862011-07-26 Colin Watson <cjwatson@ubuntu.com>
7587
7588 * configure.ac: The Loongson port requires grub-mkfont due to its
7589 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7590 be built.
7591
303b6246
CW
75922011-07-26 Colin Watson <cjwatson@ubuntu.com>
7593
7594 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7595 processing arguments (otherwise help2man fails when GRUB has not yet
7596 been installed).
7597
6795300e
VS
75982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7599
41aa28ea
VS
7600 New script grub-mkstandalone.
7601
7602 * Makefile.util.def (grub-mkstandalone): New script.
7603 * docs/man/grub-mkstandalone.h2m: New file.
7604 * util/grub-mkstandalone.in: Likewise.
7605
76062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 Support ATA disks with 4K sectors.
6795300e
VS
7609
7610 * include/grub/ata.h (grub_ata): New member log_sector_size.
7611 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7612 (grub_ata_identify): Read sector size.
7613 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7614
92227597
VS
76152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * util/grub-install.in: Don't use uhci outside of x86.
7618
c77069f5
VS
76192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * util/grub-mkrescue.in: Add missing quotes.
7622
76232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7624
7625 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7626 dereference.
7627
583168a2
VS
76282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7631
6be1c01f
VS
76322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * include/grub/video.h: add missing EXPORT_FUND on
7635 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7636
a1167439
VS
76372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * include/grub/mips/kernel.h: Fix define conflict.
7640
bf66054f
VS
76412011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7644 all four ways.
7645
8fc4fa45
CW
76462011-07-21 Colin Watson <cjwatson@ubuntu.com>
7647
7648 Preferred resolution detection for VBE.
7649
7650 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7651 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7652 the Flat Panel extension, in line with the X.org VESA driver.
7653 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7654 New function.
7655 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7656 (grub_vbe_bios_read_edid): Likewise.
7657 (grub_vbe_get_preferred_mode): Likewise.
7658 (grub_video_vbe_setup): When the mode is "auto", try to get the
7659 preferred mode from VBE, and use the largest mode that is no larger
7660 than the preferred mode (some BIOSes expose a preferred mode that is
7661 not in their mode list!). If this fails, fall back to 640x480 as a
7662 safe conservative choice.
7663 (grub_video_vbe_get_edid): New function.
7664 (grub_video_vbe_adapter): Add get_edid.
7665 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7666 (struct grub_video_adapter): Add get_edid.
7667 (grub_video_edid_checksum): Add prototype.
7668 (grub_video_edid_preferred_mode): Likewise.
7669 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7670 structure.
7671
7672 * grub-core/commands/videoinfo.c (print_edid): New function.
7673 (grub_cmd_videoinfo): Print EDID if available.
7674
7675 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7676 is more appropriate on a wider range of platforms than 640x480.
7677 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7678 documentation.
7679
ca5572a9
VS
76802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7683
e4bcf625
VS
76842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * po/POTFILES.in: Regenerate.
7687
c4edd548
VS
76882011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7691 incorrect memory usage.
7692
16a2bab0
VS
76932011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * util/grub-install.in: Source grub-mkconfig_lib.
7696
2e418de6
VS
76972011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Remove getroot.c from core on emu platform.
7700
7701 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7702 kern/emu/raid.c.
7703 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7704 useless.
7705 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7706 * util/getroot.c (get_win32_path): ... here.
7707 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7708 * util/getroot.c (fini_libzfs): ... here.
7709 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7710 * util/getroot.c (grub_get_libzfs_handle): ... here.
7711 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7712 Moved from here...
7713 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7714 * grub-core/kern/emu/misc.c
7715 (grub_make_system_path_relative_to_its_root): Moved from here...
7716 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7717 * grub-core/kern/emu/getroot.c: Moved from here ...
7718 * util/getroot.c: ... here. All users updated.
7719 * grub-core/kern/emu/raid.c: Moved from here ...
7720 * util/raid.c: ... here. All users updated.
7721
def9832a
VS
77222011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * po/POTFILES.in: Regenerate.
7725
cd8fe79a
VS
77262011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 Fix compilation on GNU/Linux.
7729
7730 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7731 Disable geli.
7732 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7733 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7734 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7735
a251b719
VS
77362011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
77372011-07-07 Michael Gorven <michael@gorven.za.net>
77382011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7739
7740 LUKS and GELI support.
7741
7742 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7743 grub-core/disk/luks.c, grub-core/disk/geli.c,
7744 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7745 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7746 grub-core/lib/arg.c.
7747 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7748 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7749 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7750 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7751 (grub-bin2h): Add libgcry.a.
7752 (grub-mkimage): Likewise.
7753 (grub-mkrelpath): Likewise.
7754 (grub-script-check): Likewise.
7755 (grub-editenv): Likewise.
7756 (grub-mkpasswd-pbkdf2): Likewise.
7757 (grub-pe2elf): Likewise.
7758 (grub-fstest): Likewise.
7759 (grub-mkfont): Likewise.
7760 (grub-mkdevicemap): Likewise.
7761 (grub-probe): Likewise.
7762 (grub-ofpath): Likewise.
7763 (grub-mklayout): Likewise.
7764 (example_unit_test): Likewise.
7765 (grub-menulst2cfg): Likewise.
7766 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7767 * grub-core/Makefile.core.def (cryptodisk): New module.
7768 (luks): Likewise.
7769 (geli): Likewise.
7770 * grub-core/disk/AFSplitter.c: New file.
7771 * grub-core/disk/cryptodisk.c: Likewise.
7772 * grub-core/disk/geli.c: Likewise.
7773 * grub-core/disk/luks.c: Likewise.
7774 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7775 grub_util_is_lvm.
7776 (grub_util_get_dm_abstraction): New function.
7777 (grub_util_follow_gpart_up): Likewise.
7778 (grub_util_get_geom_abstraction): Likewise.
7779 (grub_util_get_dev_abstraction): Use new functions.
7780 (grub_util_pull_device): Pull GELI and LUKS.
7781 (grub_util_get_grub_dev): Handle LUKS and GELI.
7782 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7783 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7784 (follow_geom_up): Removed.
7785 (grub_util_fd_seek): New function.
7786 (open_device): Use grub_util_fd_seek.
7787 (nread): Rename to ..
7788 (grub_util_fd_read): ... this. All users updated.
7789 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7790 (grub_crypto_cbc_decrypt): Likewise.
7791 (grub_crypto_hmac_write): Likewise.
7792 (grub_crypto_hmac_buffer): Likewise.
7793 (grub_password_get): Extend to util.
7794 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7795 New member modname.
7796 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7797 * include/grub/cryptodisk.h: New file.
7798 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7799 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7800 LUKS and GELI.
7801 (grub_util_follow_gpart_up): New proto.
7802 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7803 (grub_util_fd_read): Likewise.
7804 (grub_cryptodisk_cheat_mount): Likewise.
7805 (grub_util_cryptodisk_print_uuid): Likewise.
7806 (grub_util_get_fd_sectors): Likewise.
7807 * util/grub-fstest.c (mount_crypt): New var.
7808 (fstest): Mount crypto if requested.
7809 (options): New option -C.
7810 (argp_parser): Parse -C.
7811 (main): Init and fini gcry.
7812 * util/grub-install.in: Support cryptodisk install.
7813 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7814 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7815 cryptodisk.
7816 (prepare_grub_to_access_device): Likewise.
7817 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7818 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7819 (probe_cryptodisk_uuid): New function.
7820 (probe_abstraction): Likewise.
7821 (probe): Use new functions.
7822 * util/import_gcry.py: Create Makefile.utilgcry.def.
7823 Add modname member.
7824
9bfdcbbc
VS
78252011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Lazy device scanning.
7828
7829 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7830 (grub-setup): Remove util/raid.c.
7831 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7832 * grub-core/disk/lvm.c (scan_depth): New variable.
7833 (grub_lvm_iterate): Rescan if necessary.
7834 (find_lv): New function based on grub_lvm_open.
7835 (grub_lvm_open): Use find_lv. Rescan on error.
7836 (is_node_readable): New function.
7837 (is_lv_readable): Likewise.
7838 (grub_lvm_scan_device): Skip already found disks.
7839 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7840 Stop if searched device is found and readable.
7841 * grub-core/disk/raid.c (inscnt): New variable.
7842 (scan_depth): Likewise.
7843 (scan_devices): New function based on grub_raid_register. Abort if
7844 looked for device is found.
7845 (grub_raid_iterate): Rescan if needed.
7846 (find_array): NEw function based on -grub_raid_open.
7847 (grub_raid_open): Use find_array and rescan.
7848 (insert_array): Set became_readable_at.
7849 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7850 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7851 New function.
7852 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7853 (grub_util_pull_device): New function.
7854 (grub_util_get_grub_dev): Call grub_util_pull_device.
7855 * util/raid.c: Moved to ..
7856 * grub-core/kern/emu/raid.c: ... here.
7857 (grub_util_raid_getmembers): New parameter "bootable".
7858 All users updated. Support 1.x.
7859 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7860 All users updated.
7861 * include/grub/disk.h (grub_disk_pull_t): New enum.
7862 (grub_disk_dev): Change iterate prototype.
7863 All users updated.
7864 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7865 New proto.
7866 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7867 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7868 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7869 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7870 All users updated.
7871 * include/grub/util/raid.h: Removed.
7872
1c358e59
VS
78732011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * po/POTFILES.in: Regenerate.
7876
abee94ed
VS
78772011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Unify sparc init with other ieee1275.
7880
7881 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7882 instead of kern/sparc64/ieee1275/init.c.
7883 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7884 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7885 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7886 grub/machine/kernel.h.
7887 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7888 (grub_claim_heap) [__sparc__]: Use sparc version.
7889 (grub_machine_init): Moved args parsing to
7890 (grub_parse_cmdline): ...this.
7891 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7892 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7893 New definition.
7894 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7895
7896 Move BOOTP to separate file.
7897
7898 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7899 * grub-core/net/net.c: Move all BOOTP functions to
7900 * grub-core/net/bootp.c: ... here.
7901
7902 Use frame interface on PXE.
7903
7904 * grub-core/Makefile.core.def (pxecmd): Removed.
7905 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7906 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7907 * grub-core/i386/pc/pxe.c: Moved from here ...
7908 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7909 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7910 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7911
7912 EFI network support.
7913
7914 * grub-core/Makefile.core.def (efinet): New module.
7915 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7916 here...
7917 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7918 All users updated.
7919 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7920 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7921 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7922 * grub-core/net/drivers/efi/efinet.c: New file.
7923 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7924 (grub_efi_net_config): New extern var.
7925
7926 Various cleanups and bugfixes.
7927
7928 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7929 error.
7930 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7931 disk declared as partition.
7932 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7933 leak on failure.
7934 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7935 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7936 (grub_debug_zalloc): Likewise.
7937 (grub_debug_realloc): Likewise.
7938 (grub_debug_memalign): Likewise.
7939 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7940 Check that target is IPv4.
7941 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7942 local-mac-address as fallback.
7943 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7944 memory leak.
7945 * grub-core/net/ip.c (ipchksum): Rename to ...
7946 (grub_net_ip_chksum): ... this. All users updated.
7947 (grub_net_recv_ip_packets): Special handling for DHCP.
7948 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7949
7950 Unify prefix handling
7951
7952 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7953 (grub_machine_get_bootlocation): ... this.
7954 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7955 (grub_machine_get_bootlocation): ... this.
7956 (grub_prefix): New variable.
7957 (prefix): Removed.
7958 (root_dev): New variable.
7959 (dir): Likewise.
7960 (main): Use new variables.
7961 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7962 Revamped into ...
7963 (grub_machine_get_bootlocation): ... this.
7964 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7965 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7966 (grub_machine_get_bootlocation): ... this.
7967 (grub_machine_set_prefix): Removed.
7968 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7969 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7970 Revamped into ...
7971 (grub_machine_get_bootlocation): ... this.
7972 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7973 (grub_set_prefix_and_root): ... this. All users updated.
7974 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7975 Revamped into ...
7976 (grub_machine_get_bootlocation): ... this.
7977 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7978 (grub_machine_get_bootlocation): New proto.
7979 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7980
7981 Less intrusive and more reliable seek on network implementation.
7982
7983 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7984 (grub_file_seek): Don't call grub_file_net_seek.
7985 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7986 (grub_net_fs_read_real): .. this.
7987 (grub_net_seek_real): Use net->offset.
7988 (grub_net_fs_read): Seek if necessary.
7989
7990 Unify IEEE1275 netwotk config with the other platforms.
7991
7992 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7993 New variable.
7994 (grub_machine_get_bootlocation): Support network.
7995 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7996 Support type and device parsing.
7997 (grub_ieee1275_get_device_type): New function.
7998 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7999 into ...
8000 (grub_ieee1275_net_config_real): ... this.
8001 (grub_ofnet_probecards): Removed.
8002 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8003 * include/grub/ieee1275/ofnet.h: Removed.
8004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8005 extern var.
8006 (grub_ieee1275_get_device_type): New function.
8007
8008 Unify network device closing across platforms and make more robust.
8009
8010 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8011 grub_grubnet_fini.
8012 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8013 already.
8014 * grub-core/net/net.c (grub_net_network_level_interface_register):
8015 Update num_ifaces.
8016 (grub_net_card_unregister): Close all interfaces.
8017 (receive_packets): Don't poll if no iterfaces are registered.
8018 Open if necessary.
8019 (grub_net_fini_hw): New function.
8020 (grub_net_restore_hw): Likewise.
8021 (fini_hnd): New variable.
8022 (GRUB_MOD_INIT): Register preboot hook.
8023 (GRUB_MOD_FINI): Run and unregister preboot hook.
8024
8025 Poll network cards when idle.
8026
8027 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8028 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8029 * grub-core/net/net.c (receive_packets): Save last poll time.
8030 (grub_net_poll_cards_idle_real): New function.
8031 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8032 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8033 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8034
8035 Rename ofnet interfaces.
8036
8037 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8038 (grub_ofnet_findcards): Use ofnet_%s names.
8039
8040 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8041
8042 Cleanup socket opening.
8043
8044 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8045 (grub_net_fs_close): Likewise.
8046 (grub_net_fs_read_real): Use eof member.
8047 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8048 (+grub_net_udp_close): New inline function.
8049
8050 * include/grub/net/tftp.h: Moved to the top of ...
8051 * grub-core/net/tftp.c: ... here.
8052 * include/grub/net/ip.h: Moved mostly to the top of ...
8053 * grub-core/net/ip.c: ... here.
8054 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8055 * grub-core/net/ethernet.c: ... here.
8056
8057 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8058
8059 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8060 FS name.
8061
8062 * include/grub/net/ip.h (ipv4_ini): Removed.
8063 (ipv4_fini): Likewise.
8064
8065 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8066 (grub_net_send_ip_packets): Likewise.
8067
cf1337aa
VS
80682011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8071 grub_read_cmos prototype.
8072
93c06ff9
VS
80732011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 VGA text support in qemu-mips
8076
8077 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8078 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8079 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8080 text.
8081 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8082 * grub-core/kern/vga_init.c: ... this.
8083 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8084 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8085 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8086 Adjust.
8087 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8088 GRUB_MACHINE_PCI_IO_BASE.
8089
748ccabe
VS
80902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 MIPS qemu flash support.
8093
8094 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8095 magic.
8096 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8097 (grub_machine_init): Probe memory if its size isn't known.
8098 * util/grub-mkimage.c (image_targets): Add flash targets.
8099 (generate_image): Handle flash targets.
8100
d7345994
VS
81012011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 MIPS qemu at_keyboard support.
8104
8105 * gentpl.py (videoinkernel): Add qemu-mips.
8106 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8107 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8108 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8109 modules.
8110 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8111 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8112 * grub-core/term/serial.c (grub_serial_register)
8113 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8114
a07a81b3
VS
81152011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 CMOS support on sparc.
8118
8119 * gentpl.py (cmos): Add powerpc and sparc.
8120 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8121 powerpc and sparc.
8122 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8123 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8124 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8125 grub_set_datetime_cmos.
8126 * grub-core/lib/ieee1275/cmos.c: New file.
8127 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8128 (find_rtc): Set no_ieee1275_rtc on error.
8129 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8130 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8131 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8132 fail. Move value to argument. All users updated
8133 (grub_cmos_write): Likewise.
8134 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8135 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8136 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8137 grub_get_datetime_cmos and grub_set_datetime_cmos.
8138
77546584
GS
81392011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8140
8141 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8142 sourcing grub-mkconfig_lib.
8143 * util/update-grub_lib.in: Likewise.
8144 * util/grub.d/00_header.in: Likewise.
8145 * util/grub.d/10_hurd.in: Likewise.
8146 * util/grub.d/10_kfreebsd.in: Likewise.
8147 * util/grub.d/10_linux.in: Likewise.
8148 * util/grub.d/10_netbsd.in: Likewise.
8149 * util/grub.d/10_windows.in: Likewise.
8150 * util/grub.d/20_linux_xen.in: Likewise.
8151 * util/grub.d/30_os-prober.in: Likewise.
8152
54894791
CW
81532011-06-28 Colin Watson <cjwatson@ubuntu.com>
8154
8155 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8156 default_bg_color rather than black.
8157 (grub_gfxterm_fullscreen): Likewise.
8158 (grub_gfxterm_background_color_cmd): Save new background color in
8159 default_bg_color.
8160
8d5d8444
VS
81612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8164
5afeb5bd
VS
81652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8168 mismerge.
8169
ba7df45e
VS
81702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 Chainloading on coreboot support.
8173
8174 * grub-core/Makefile.core.def (chain): Add coreboot.
8175 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8176
d0b526b2
VS
81772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8180 if it happens.
8181
5ff1d945
VS
81822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 Implement time command.
8185
8186 * grub-core/Makefile.core.def (time): New module.
8187 * grub-core/commands/time.c: New file.
8188 * grub-core/script/parser.y: Remove "time" keyword.
8189 * grub-core/script/yylex.l: Likewise.
8190
5ebaad7e
VS
81912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8194
bdea3798
VS
81952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8198 when handling leftovers.
8199
b28c5655
VS
82002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8203 so that help2man doesn't fail.
8204
b6f945dc
VS
82052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8208 type in pointers on sparc64.
8209 (get_card_packet): Likewise.
8210
f9b75e8a
CW
82112011-06-27 Colin Watson <cjwatson@ubuntu.com>
8212
8213 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8214 with `*'.
8215 (grub_cmd_videoinfo): Fetch current video mode.
8216
1e3d9b86
VS
82172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8220 because of underlying system restrictions.
8221
efff4b1c
VS
82222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8225 necessary.
8226
9fc9ce37
VS
82272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Coreboot video support.
8230
8231 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8232 (vbe): Likewise.
8233 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8234 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8235 here ...
8236 * grub-core/kern/i386/int.S: ... here.
8237 * grub-core/video/i386/pc/vbe.c: Updated includes.
8238 * grub-core/video/i386/pc/vga.c: Likewise.
8239 * include/grub/i386/coreboot/memory.h
8240 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8241 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8242 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8243 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8244 Disable interrupts.
8245 * include/grub/i386/pc/vga.h: Removed. All users updated.
8246
41bec7fe
VS
82472011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8250 definitions for dprintf.
8251 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8252
ca80309d
VS
82532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8256 prototype.
8257 (get_card_packet): Likewise.
8258
9e322ce8
YB
82592011-06-26 Yves Blusseau <blusseau@zetam.org>
8260
8261 Display the path of the file when file is not found
8262
8263 * grub-core/fs/fat.c: Display the filename when file is not found.
8264 * grub-core/fs/fshelp.c: Likewise.
8265 * grub-core/fs/hfs.c: Likewise.
8266 * grub-core/fs/jfs.c: Likewise.
8267 * grub-core/fs/minix.c: Likewise.
8268 * grub-core/fs/ufs.c: Likewise.
8269 * grub-core/fs/btrfs.c: Likewise.
8270 * grub-core/commands/i386/pc/play.c: Likewise.
8271
cbf597af
SJ
82722011-06-26 Szymon Janc <szymon@janc.net.pl>
8273
8274 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8275 pointer checks before calling grub_free().
8276 * grub-core/commands/wildcard.c (match_devices): Likewise.
8277 * grub-core/commands/wildcard.c (match_files): Likewise.
8278 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8279 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8280 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8281 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8282 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8283 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8284 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8285 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8286 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8287
6295b32f
P
82882011-06-25 Patrick <p55@mailinator.com>
8289
8290 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8291
77c0840b
VS
82922011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8295 (grub_pxe_send): Likewise.
8296 (GRUB_MOD_INIT): Fix types.
8297
40ea05de
SJ
82982011-06-24 Szymon Janc <szymon@janc.net.pl>
8299
8300 * grub-core/io/xzio.c: Fix code style issues
8301
90162423
MRA
83022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
83032011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8304
8305 Network infrastructure.
8306 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8307
8308 * include/grub/net/arp.h: New file.
90162423
MRA
8309 * include/grub/net/device.h: Likewise.
8310 * include/grub/net/ethernet.h: Likewise.
8311 * include/grub/net/ip.h: Likewise.
8312 * include/grub/net/netbuff.h: Likewise.
8313 * include/grub/net/tftp.h: Likewise.
8314 * include/grub/net/udp.h: Likewise.
8315 * include/grub/ieee1275/ofnet.h: Likewise.
8316 * include/grub/emu/export.h: Likewise.
8317 * include/grub/net.h: Likewise.
8318 * grub-core/net/arp.c: Likewise.
8319 * grub-core/net/ethernet.c: Likewise.
8320 * grub-core/net/ip.c: Likewise.
8321 * grub-core/net/udp.c: Likewise.
8322 * grub-core/net/tftp.c: Likewise.
8323 * grub-core/net/netbuff.c: Likewise.
8324 * grub-core/net/net.c: Likewise.
8325 * grub-core/net/drivers/emu/emunet.c: Likewise.
8326 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8327 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8328 export.h.
8329 * grub-core/Makefile.core.def (net): New module.
8330 (tftp): Likewise.
8331 (ofnet): Likewise.
8332 (emunet): Likewise.
8333 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8334 network protocols.
8335 * grub-core/kern/device.c (grub_net_open) : New variable.
8336 (grub_device_open): Handle network device.
8337 (grub_device_close): Likewise.
8338 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8339 (grub_grubnet_fini): Likewise.
8340 (grub_file_seek): Seek in network device.
8341 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8342 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8343 network root.
8344 (grub_machine_fini): Call grub_grubnet_fini.
8345 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8346 network.
8347 (grub_ieee1275_get_aliasdevname): New function.
8348 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8349 Add unofficial Solaris network info.
8350 (grub_multiboot_make_mbi): Likewise.
8351 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8352 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8353 * include/grub/device.h (grub_fs): Removed.
8354 * include/grub/err.h (grub_err_t): Add network-related values.
8355 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8356 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8357 (grub_ieee1275_get_aliasdevname): New proto.
8358 * include/grub/net.h: Rewritten.
423a1849 8359
031f22a0
VS
83602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8363 names.
8364
4388ca72
VS
83652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8368 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8369 it truncates the output.
8370 Reported by: Ximin Luo.
8371
98e2f506
VS
83722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8375
2a5e94d8
VS
83762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8379 partmap before abstraction.
8380
535c1910
AK
83812011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8382
8383 * util/grub-mkconfig_lib.in: Add missing quotes.
8384
bc09e1a2
VS
83852011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8388 old method if mountinfo would return /dev/root and /dev/root doesn't
8389 exist.
8390
290766fb
VS
83912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 ZFS zlib support
8394
8395 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8396 (decomp_table): Add zlib entries.
8397 (zio_read): USe 8 bits for compression function rather than 3.
8398 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8399
84002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/disk/ahci.c: Add missing license statements.
8403 * grub-core/fs/romfs.c: Likewise.
8404 * grub-core/lib/ia64/setjmp.S: Likewise.
8405 * grub-core/loader/i386/pc/freedos.c: Likewise.
8406 * grub-core/loader/ia64/efi/linux.c: Likewise.
8407 * grub-core/video/colors.c: Likewise.
8408 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8409
5ab3f48a
VS
84102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 AHCI support.
8413
8414 * grub-core/Makefile.core.def (ata_pthru): Removed.
8415 (ahci): New module.
8416 (pata): Likewise.
8417 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8418 on unload.
8419 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8420 readwrite.
8421 (grub_hdparm_do_check_powermode_cmd): Likewise.
8422 (grub_hdparm_do_smart_cmd): Likewise.
8423 (grub_hdparm_set_val_cmd): Likewise.
8424 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8425 * grub-core/disk/ahci.c: New file.
8426 * grub-core/disk/ata.c: Factor out the low-level part into ...
8427 * grub-core/disk/pata.c: ... here.
8428 * grub-core/disk/ata_pthru.c: Contents moved to ...
8429 * grub-core/disk/pata.c: ... here.
8430 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8431 (grub_scsi_iterate): Use grub_scsi_names.
8432 (grub_scsi_open): Likewise.
8433 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8434 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8435 (grub_ata_regs_t): New struct.
8436 (grub_disk_ata_pass_through_parms): Likewise.
8437 (grub_ata_device): Renamed to ...
8438 (grub_ata): ... this.
8439 (grub_ata_dev): New struct.
8440 Removed all low-level inline functions.
8441 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8442 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8443 iterate hooks and open. All users updated.
8444 * util/grub-install.in: Handle AHCI disk module.
8445
c31dc5f5
SJ
84462011-06-23 Szymon Janc <szymon@janc.net.pl>
8447
8448 Add support for DRI and RSTn markers in JPEG files.
8449
8450 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8451 (JPEG_MARKER_RST0): Likewise.
8452 (JPEG_MARKER_RST1): Likewise.
8453 (JPEG_MARKER_RST2): Likewise.
8454 (JPEG_MARKER_RST3): Likewise.
8455 (JPEG_MARKER_RST4): Likewise.
8456 (JPEG_MARKER_RST5): Likewise.
8457 (JPEG_MARKER_RST6): Likewise.
8458 (JPEG_MARKER_RST7): Likewise.
8459 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8460 (grub_jpeg_decode_dri): New function.
8461 (grub_jpeg_decode_sos): Move image data related part into
8462 grub_jpeg_decode_data function.
8463 (grub_jpeg_decode_data): New function.
8464 (grub_jpeg_reset): New function.
8465 (grub_jpeg_decode_jpeg): Handle new markers.
8466
fe12fd5b
VS
84672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * util/ieee1275/ofpath.c (check_sas): Close fd.
8470 (main): Free of_path.
8471 Reported by: David Volgyes <dvolgyes>.
8472
03147f46
VS
84732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8476 Reported by: David Volgyes <dvolgyes>.
8477
cad3237f
VS
84782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8481 file after stat.
8482 Reported by: David Volgyes <dvolgyes>.
8483
13548d26
VS
84842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8487
8488 Reported by: David Volgyes <dvolgyes>.
8489
e061a1b5
VS
84902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8493 Prevent memory leak.
8494
1abe47dc
VS
84952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8496
8497 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8498 (main): Close file.
e061a1b5 8499 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8500
fbc62666
VS
85012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8504 to continue if allocation is failed.
8505
8506 Reported by: David Volgyes <dvolgyes>.
8507
e98c83e9
DV
85082011-06-23 David Volgyes <dvolgyes>
8509
8510 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8511 dereference.
8512
a199a8cd
VS
85132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Fix spurious warning.
8516
8517 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8518 (acorn_partition_map_find): Use .bin member.
8519
e2d1dba0
VS
85202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8521
8522 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8523 /dev/root as a valid device.
8524
8a5d6919
JM
85252011-06-23 Jim Meyering <meyering@redhat.com>
8526
e2d1dba0
VS
8527 Avoid NULL deref in grub_device_open.
8528
8a5d6919
JM
8529 * grub-core/kern/device.c (grub_device_open): Don't dereference
8530 a NULL pointer upon failed grub_env_get.
8531
f7db6f4a
VS
85322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 Support non-512B sectors and agglomerate reads.
8535
8536 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8537 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8538 (disk_io_guid): Removed.
8539 (make_devices): Locate solely by BlockIO.
8540 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8541 (grub_efidisk_read): Use read_blocks.
8542 (grub_efidisk_write): Use write_blocks.
8543 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8544 log_sector_size.
8545 (get_safe_sectors): Handle non-512B sectors.
8546 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8547 sectors.
8548 (grub_biosdisk_write): Handle non-512B sectors.
8549 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8550 (grub_scsi_read): Remove special non-512B block handling (now handled
8551 one level up).
8552 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8553 and do sanity checks.
8554 (grub_disk_adjust_range): Handle non-512B sectors.
8555 (transform_sector): New function.
8556 (grub_disk_read_small): Likewise.
8557 (grub_disk_read): Rewritten.
8558 (grub_disk_write): Handle non-512B sectors.
8559 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8560 log_sector_size.
8561 (open_device): Use log_sector_size.
8562 (grub_util_biosdisk_read): Likewise.
8563 (grub_util_biosdisk_write): Likewise.
8564 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8565 non-512B sectors.
8566 (pc_partition_map_embed): Likewise.
8567 * include/grub/disk.h (grub_disk): New field log_sector_size.
8568 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8569 (GRUB_DISK_CACHE_BITS): Increased to 6.
8570 * util/grub-fstest.c (fstest): New command testload.
8571 (argp_parser): Likewise.
8572
881ac815
RM
85732011-06-16 Robert Millan <rmh@gnu.org>
8574
8575 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8576 `ata' driver on kernel of FreeBSD 9.
8577
8578 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8579 (get_ataraid_disk_name): New functions.
8580 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8581 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8582 get_ataraid_disk_name() and get_ada_disk_name().
8583
1e9aef7d
CW
85842011-06-13 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8587 input format.
8588
351c7c8a
CW
85892011-05-29 Colin Watson <cjwatson@ubuntu.com>
8590
8591 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8592 `ftp.gnu.org' for `alpha.gnu.org'.
8593
6b4e6430
CW
85942011-05-27 Colin Watson <cjwatson@ubuntu.com>
8595
8596 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8597 partitions under /dev/disk/by-id/.
8598
c64db050
CW
85992011-05-27 Colin Watson <cjwatson@ubuntu.com>
8600
8601 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8602 after ten consecutive open failures. Scanning all the way up to
8603 10000 is excessive and can cause serious performance problems in
8604 some configurations.
8605 Fixes Ubuntu bug #787461.
8606
245f4aba
VS
86072011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8610 opening new one.
8611
f767c929
VS
86122011-05-21 Colin Watson <cjwatson@ubuntu.com>
86132011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 Don't stat devices unless we have to.
8616
8617 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8618 dir == /dev/mapper.
8619 (grub_guess_root_device): Use already known os_dev if possible.
8620 * grub-core/kern/emu/hostdisk.c
8621 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8622 if device is known to be a dm one.
8623
f35fa3a6
CW
86242011-05-20 Colin Watson <cjwatson@ubuntu.com>
8625
8626 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8627 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8628 Reported by: Pawel Tecza.
8629
9a79fcf2
VS
86302011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8633 (lsefisystab): Likewise.
8634 (lssal): Likewise.
8635 (lsefimmap): Likewise.
8636 (hdparm): Enable on qemu-mips.
8637 (setjmp): Add ia64 nodist.
8638 (serial): Simplify tags.
8639
63e3eea9
CW
86402011-05-18 Colin Watson <cjwatson@ubuntu.com>
8641
8642 * Makefile.util.def (grub-ofpathname): Install manual page.
8643
09728256
CW
86442011-05-18 Colin Watson <cjwatson@ubuntu.com>
8645
8646 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8647
8b63a142
CW
86482011-05-18 Colin Watson <cjwatson@ubuntu.com>
8649
8650 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8651
e775d8ed
VS
86522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8655 into dprintf.
8656
bf947d36
VS
86572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 Use full 64-bit division.
8660
8661 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8662 (grub_divmod64): ... this.
8663 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8664 version.
8665
b84f26c5
CW
86662011-05-18 Colin Watson <cjwatson@ubuntu.com>
8667
8668 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8669 `source'.
8670
5626056f
CW
86712011-05-18 Colin Watson <cjwatson@ubuntu.com>
8672
8673 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8674 to avoid accidents when debugging with 'sh -x'.
8675 * grub-core/gensyminfo.sh.in: Likewise.
8676 * tests/example_scripted_test.in: Likewise.
8677 * tests/grub_cmd_regexp.in: Likewise.
8678 * tests/grub_script_blanklines.in: Likewise.
8679 * tests/grub_script_dollar.in: Likewise.
8680 * tests/grub_script_expansion.in: Likewise.
8681 * tests/grub_script_final_semicolon.in: Likewise.
8682 * tests/partmap_test.in: Likewise.
8683 * tests/util/grub-shell-tester.in: Likewise.
8684 * tests/util/grub-shell.in: Likewise.
8685
e2965f4a
CW
86862011-05-18 Colin Watson <cjwatson@ubuntu.com>
8687
8688 Move gfxmenu color handling to video, so that gfxterm can use it
8689 too.
8690
8691 * grub-core/gfxmenu/named_colors.c: Move to ...
8692 * grub-core/video/colors.c: ... here. Rename
8693 grub_gui_get_named_color to grub_video_get_named_color.
8694 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8695 * grub-core/video/colors.c (my_isxdigit): ... here.
8696 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8697 Move to ...
8698 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8699 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8700 to ...
8701 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8702
8703 * include/grub/gui.h (grub_gui_color_t): Move to ...
8704 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8705 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8706 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8707 * include/grub/gui.h (grub_gui_map_color): Move to ...
8708 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8709 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8710 to ...
8711 * include/grub/video.h (grub_video_get_named_color): ... here.
8712 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8713 * include/grub/video.h (grub_video_parse_color): ... here.
8714
8715 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8716 video/colors.c.
8717 (gfxmenu): Remove gfxmenu/named_colors.c.
8718 (video) [videomodules]: Add video/colors.c.
8719
8720 Add a background_color command.
8721
8722 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8723 function.
8724 (GRUB_MOD_INIT): Register background_color command.
8725 (GRUB_MOD_FINI): Unregister background_color command.
8726 (redraw_screen_rect): Allow blend/replace of text layer to be
8727 controlled independently from whether there is a background bitmap.
8728 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8729 changing bitmap.
8730
1e4b4390
VS
87312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8732
26618ff0
VS
8733 Patch BPB in ntldr and chainloader --bpb.
8734
1e4b4390
VS
8735 * grub-core/fs/fat.c: Include grub/fat.h.
8736 (grub_fat_bpb): Moved to ...
8737 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8738 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8739 grub/ntfs.h.
8740 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8741 Moved from here...
8742 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8743 here.
8744 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8745 New function.
8746 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8747 (GRUB_MOD_INIT): Show --bpb.
8748 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8749 * grub-core/normal/main.c (features): New variable.
8750 (GRUB_MOD_INIT): Set feature_* variables.
8751 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8752 proto.
8753 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8754
cf02731e
VS
87552011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8758 for cleanness.
8759
e3a1073f
VS
87602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8761
8762 FreeDOS direct loading support.
8763
8764 * docs/grub.texi (Supported OS): Add FreeDOS.
8765 * grub-core/Makefile.core.def (freedos): New module.
8766 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8767 variable.
8768 (grub_relocator16_boot): Handle %ebx.
8769 * grub-core/lib/i386/relocator16.S: Likewise.
8770 * grub-core/loader/i386/pc/freedos.c: New file.
8771
05caa461
VS
87722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Long Linux command line support.
8775
8776 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8777 (maximal_cmdline_size): New variable.
8778 (allocate_pages): Use maximal_cmdline_size.
8779 (grub_cmd_linux): Set and use maximal_cmdline_size.
8780 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8781 (allocate_pages): Use maximal_cmdline_size.
8782 (grub_cmd_linux): Set and use maximal_cmdline_size.
8783 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8784 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8785 and cmdline_size.
8786
a2491e23
VS
87872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
87882011-05-18 Colin Watson <cjwatson@ubuntu.com>
8789
8790 Improve devmapper support
8791
8792 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8793 (grub_util_is_lvm): New function.
8794 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8795 than lvm if not dmraid.
8796 Handle mapped md nodes.
8797 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8798 (grub_util_device_is_mapped): ... this. Make always available. All users
8799 updated.
8800 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8801 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8802 dmraid nodes.
8803 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8804
6ad6223e
VS
88052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8808
8809 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8810 * grub-core/modinfo.sh.in: New file.
8811 * grub-core/Makefile.core.def (modinfo.sh): New script.
8812 * util/grub-mknetdir.in: Use modinfo.sh.
8813 * util/grub-mkrescue.in: Likewise.
8814
543a8f6e
VS
88152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8818 Fix potential usage of Elf32 instead of Elf64 when compiling on
8819 32-bit architecture. Add endianness macros while on it.
8820
4959e111
VS
88212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Use mipsel- rather than mips- in directories involving mipsel ports to
8824 allow both endiannesses coexist.
8825
8826 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8827 mips. All conditions adjusted.
8828 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8829 variable.
8830 * util/grub-install.in: Adjust conditions to take renaming into account.
8831 * util/grub-mkimage.c (image_targets): Likewise. New target
8832 mips-qemu_mips-elf for bigendian mips.
8833
35341bbc
VS
88342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 Avoid unnecessary copying on MIPS.
8837
8838 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8839 early if src == dest.
8840 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8841 compression is none.
8842
b772baed
VS
88432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Reduce memory footprint on SGI by putting modules before the kernel
8846 as opposed to after.
8847
8848 * grub-core/Makefile.core.def (kernel): Increase linking address.
8849 (none_decompress): Likewise.
8850 (xz_decompress): Likewise.
8851 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8852 address.
8853 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8854 layout change.
8855 (grub_arch_modules_addr): New function.
8856 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8857 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8858 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8859 here.
8860 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8861 (grub_total_modules_size): ... this. Make global.
8862 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8863 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8864 New definition.
8865 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8866 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8867 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8868 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8869 * util/grub-mkimage.c (image_target_desc): New flag
8870 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8871 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8872 (generate_image): Handle images with modules before kernel.
8873
566a1917
VS
88742011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 Prevent potential loss of memory map by overwrite on qemu-mips.
8877
8878 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8879 Save ram size in $s4.
8880 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8881 All users changed to grub_arch_memsize.
8882 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8883 Loongson.
8884 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8885 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8886 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8887 external variable.
8888
5d420cd9
CW
88892011-05-17 Colin Watson <cjwatson@ubuntu.com>
8890
8891 * .bzrignore: Remove grub-dumpbios.
8892
d064b830
CW
88932011-05-17 Colin Watson <cjwatson@ubuntu.com>
8894
8895 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8896 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8897 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8898 existing options which append).
8899 * docs/grub.texi (Simple configuration): Document new options.
8900 Reported by: Ian Jackson. Fixes Debian bug #617538.
8901
3ca2b466
CW
89022011-05-17 Colin Watson <cjwatson@ubuntu.com>
8903
8904 * util/grub-fstest.c (cmd_cat): New function.
8905 (fstest): Handle CMD_CAT.
8906 (options): Add cat.
8907 (argp_parser): Handle cat.
8908
24c9143a
CW
89092011-05-17 Colin Watson <cjwatson@ubuntu.com>
8910
8911 * Makefile.util.def (grub-bin2h): Don't install.
8912 * docs/man/grub-bin2h.h2m: Remove.
8913
90f7ac19
VS
89142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8917 place.
8918
8d4a5178
VS
89192011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 Reenable qemu-mips port.
8922
8923 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8924 Fix small arc bug while on it.
8925 * gentpl.py: Handle qemu_mips.
8926 * grub-core/Makefile.am: Likewise.
8927 * grub-core/Makefile.core.def: Likewise.
8928 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8929 inappropriate includes.
8930 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8931 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8932 * grub-core/kern/main.c (grub_modules_get_end)
8933 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8934 * grub-core/kern/mips/qemu-mips: Moved to ..
8935 * grub-core/kern/mips/qemu_mips: ... this.
8936 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8937 (grub_machine_init): Call terminfo_init and serial_init.
8938 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8939 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8940 New variable.
8941 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8942 parameter passing.
8943 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8944 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8945 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8946 * include/grub/mips/qemu_mips/cmos.h: New file.
8947 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8948 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8949 Removed.
8950 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8951 Use correct mips-style address.
8952 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8953 (GRUB_TICKS_PER_SECOND): Removed.
8954 (grub_get_rtc): Likewise.
8955 (grub_cpu_idle): Likewise.
8956 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8957 New definition.
8958 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8959 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8960 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8961 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8962 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8963 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8964 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8965 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8966
400b9371
VS
89672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 SGI ARCS port.
8970
8971 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8972 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8973 platforms.
8974 * configure.ac: New target mips-arc.
8975 * gentpl.py: Likewise.
8976 * grub-core/Makefile.am: Likewise.
8977 * grub-core/Makefile.core.def: Likewise.
8978 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8979 (none_decompress): Likewise.
8980 (lsdev): New module.
8981 (datetime): Use lib/arc/datetime.c on ARC.
8982 (part_dvh): New module.
8983 * grub-core/commands/arc/lsdev.c: New file.
8984 * grub-core/disk/arc/arcdisk.c: Likewise.
8985 * grub-core/kern/mips/arc/init.c: Likewise.
8986 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8987 aligned addresses.
8988 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8989 support.
8990 (grub_arch_dl_relocate_symbols): Likewise.
8991 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8992 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8993 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8994 platforms.
8995 * grub-core/lib/arc/datetime.c: New file.
8996 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8997 pci.h on non-loongson.
8998 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8999 (grub_linux_boot): Set unused registers to 0.
9000 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9001 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9002 * grub-core/mmap/mips/uppermem.c: ...here.
9003 * grub-core/partmap/dvh.c: New file.
9004 * grub-core/term/arc/console.c: Likewise.
9005 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9006 (grub_terminfo_set_current): Add terminal "arc".
9007 (grub_terminfo_readkey): Support ARC sequences.
9008 * include/grub/arc/arc.h: New file.
9009 * include/grub/arc/console.h: Likewise.
9010 * include/grub/disk.h (grub_disk_dev_id): Add
9011 GRUB_DISK_DEVICE_ARCDISK_ID.
9012 * include/grub/mips/arc/kernel.h: New file.
9013 * include/grub/mips/arc/memory.h: Likewise.
9014 * include/grub/mips/arc/time.h: Likewise.
9015 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9016 * include/grub/mips/kernel.h (grub_halt): ... here.
9017 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9018 here...
9019 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9020 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9021 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9022 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9023 proto.
9024 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9025 from here ...
9026 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9027 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9028 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9029 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9030 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9031 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9032 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9033 (grub_phys_addr_t): Moved from here ...
9034 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9035 (grub_vtop): Moved from here ...
9036 * include/grub/mips/memory.h (grub_vtop): ... here.
9037 (grub_map_memory): Moved from here ...
9038 * include/grub/mips/memory.h (grub_map_memory): ... here.
9039 (grub_unmap_memory): Moved from here ...
9040 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9041 (grub_machine_mmap_iterate): Moved from here ...
9042 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9043 (grub_mmap_get_lower): Moved from here ...
9044 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9045 (grub_mmap_get_upper): Moved from here ...
9046 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9047 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9048 here ...
9049 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9050 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9051 here ...
9052 * include/grub/mips/time.h (grub_get_rtc): ... here.
9053 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9054 here ...
9055 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9056 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9057 here ...
9058 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9059 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9060 definition.
9061 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9062 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9063 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9064 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9065 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9066 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9067 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9068 (GRUB_MACHINE_LINK_ADDR): Likewise.
9069 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9070 to 6.
9071 * util/grub-install.in: Run dvhtool on ARC.
9072 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9073 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9074
c8ecc840
VS
90752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9078 blocks.
9079
153a4b55
VS
90802011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9083 after enabling port.
9084
ff44d107
VS
90852011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 Skip incorrect USB devices.
9088
9089 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9090 configcnt == 0.
9091 * include/grub/usb.h (grub_usb_err_t): New enum value
9092 GRUB_USB_ERR_BADDEVICE.
9093
638dbe4f
VS
90942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 Fuloong video init support.
9097
9098 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9099 well.
9100 (grub_vga_read_arx): New function.
9101 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9102 definition.
9103 (framebuffer): New members io, mmioptr and mmiobase.
9104 (read_sis_cmd): New function.
9105 (write_sis_cmd): Likewise.
9106 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9107 rather than 640x400.
9108 * grub-core/video/sis315_init.c: New file.
9109
c3fc520c
VS
91102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9113 non-loongson.
9114 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9115 to grub_dl_register_symbol.
9116
67b1e5c9
VS
91172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 Fix compilation errors.
9120
9121 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9122 potentially unused.
9123 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9124 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9125 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9126 to loongson machines.
9127
b756f75f
VS
91282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Several FS mtime support.
9131
9132 * grub-core/fs/affs.c (grub_affs_time): New struct.
9133 (grub_affs_file): New field mtime.
9134 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9135 type. Removed 'size'. New field 'di'. All users updated.
9136 (grub_affs_mount): Simplify checsum checking.
9137 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9138 (grub_affs_dir): Handle mtime.
9139 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9140 (grub_cpio_dir): Likewise.
9141 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9142 (grub_hfs_filerec): New field mtime.
9143 (grub_hfs_dir): Handle mtime.
9144 (grub_hfs_mtime): New function.
9145 (grub_hfs_fs): Register grub_hfs_mtime.
9146 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9147 (grub_iso9660_dir): New field mtime.
9148 (grub_fshelp_node): New field dirent.
9149 (iso9660_to_unixtime): New function.
9150 (iso9660_to_unixtime2): Likewise.
9151 (grub_iso9660_read_symlink): Use node->dirent.
9152 (grub_iso9660_iterate_dir): Likewise.
9153 (grub_iso9660_dir): Set mtime.
9154 (grub_iso9660_mtime): New function.
9155 (grub_iso9660_fs): Register grub_iso9660_mtime.
9156 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9157 (grub_jfs_inode): New fields atime, ctime and mtime.
9158 (grub_jfs_dir): Set mtime.
9159 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9160 * grub-core/fs/ntfs.c (list_file): Set mtime.
9161 (grub_ntfs_dir): Likewise.
9162 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9163 (grub_reiserfs_iterate_dir): Set mtime.
9164 (grub_reiserfs_dir): Likewise.
9165 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9166 (grub_fshelp_node): Likewise.
9167 (grub_sfs_iterate_dir): Set mtime.
9168 (grub_sfs_dir): Likewise.
9169 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9170 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9171 (grub_xfs_inode): New fields atime, mtime, ctime.
9172 (grub_xfs_dir): Set mtime.
9173 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9174 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9175 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9176
9177 Support UDF symlinks.
9178
9179 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9180 (grub_ufs_read_symlink): New function. All users updated.
9181
9182 Check amiga partmap checksum.
9183
9184 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9185 (grub_amiga_partition): Likewise.
9186 (amiga_partition_map_checksum): New function.
9187 (amiga_partition_map_iterate): Check checksum.
9188
5470225d
VS
91892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 ROMFS support.
9192
9193 * Makefile.util.def (libgrubmods.a): Add romfs.
9194 * grub-core/Makefile.core.def (romfs): New module.
9195 * grub-core/fs/romfs.c: New file.
9196
d4680a35
VS
91972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 Squashfs v4 support.
9200
9201 * Makefile.util.def (libgrubmods.a): Add squash4.
9202 * grub-core/Makefile.core.def (squash4): New module.
9203 * grub-core/fs/squash4.c: New file.
9204 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9205 disk_input_start, disk_input.
9206 (get_byte): Handle disk_input.
9207 (grub_zlib_disk_read): New function.
9208 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9209
bcb18e74
FZ
92102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
92112011-05-15 Feiran Zheng <famcool@gmail.com>
9212
9213 * Makefile.util.def (libgrubmods.a): Add minix3.
9214 * grub-core/Makefile.core.def (minix3): New module.
9215 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9216 (GRUB_MINIX_BSIZE): Removed.
9217 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9218 (grub_minix_ino_t): New type.
9219 (grub_minix_le_to_cpu_ino): New macro.
9220 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9221 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9222 (grub_minix_data): New field block_size.
9223 (grub_minix_read_file): Handle 64-bit correctly.
9224 * grub-core/fs/minix3.c: New file.
9225
32297d5f
TG
92262011-05-15 Tristan Gingold <gingold@free.fr>
92272011-05-15 Robert Millan <rmh.grub@aybabtu.com>
92282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 IA64 support.
9231
9232 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9233 * configure.ac: Add ia64-efi target.
9234 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9235 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9236 * gentpl.py: Add ia64_efi platform.
9237 Rename x86_efi to efi and Add ia64-efi. All users updated.
9238 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9239 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9240 Remove kern/generic/rtc_get_time_ms.c on EFI.
9241 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9242 kern/ia64/dl_helper.c on ia64-efi.
9243 Add kern/emu/cache.c on emu.
9244 (linux): Use on loader/ia64/efi/linux.c on ia64.
9245 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9246 whether symbol is a function.
9247 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9248 (grub_symbol): New field 'isfunc'.
9249 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9250 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9251 (grub_dl_load_segments): Place all sections into the same region.
9252 [__ia64__]: Create trampolines and got.
9253 [GRUB_MACHINE_EMU]: Call mprotect.
9254 (grub_dl_resolve_symbols): Resolve symbol type as well.
9255 [__ia64__]: Create function descriptors.
9256 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9257 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9258 (grub_get_rtc): New function.
9259 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9260 * grub-core/kern/emu/cache.S: Renamed to ...
9261 * grub-core/kern/emu/cache_s.S: ... this.
9262 [__ia64__]: Add a nop.
9263 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9264 [__ia64__]: New function.
9265 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9266 * grub-core/kern/ia64/dl.c: New file.
9267 * grub-core/kern/ia64/dl_helper.c: Likewise.
9268 * grub-core/kern/ia64/efi/init.c: New file.
9269 * grub-core/kern/ia64/efi/startup.S: Likewise.
9270 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9271 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9272 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9273 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9274 * grub-core/loader/ia64/efi/linux.c: New file.
9275 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9276 (GRUB_MOD_DEP): Likewise.
9277 (grub_dl) [__ia64__]: New fields got and tramp.
9278 (grub_dl): New field 'base'.
9279 (grub_dl_register_symbol): New argument isfunc. All users updated.
9280 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9281 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9282 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9283 (grub_ia64_dl_get_tramp_got_size): New proto.
9284 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9285 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9286 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9287 * include/grub/efi/api.h: Skip call wrappers on ia64.
9288 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9289 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9290 * include/grub/elf.h (ELF_ST_INFO): New definition.
9291 * include/grub/ia64/efi/kernel.h: New file.
9292 * include/grub/ia64/efi/memory.h: Likewise.
9293 * include/grub/ia64/efi/time.h: Likewise.
9294 * include/grub/ia64/kernel.h: Likewise.
9295 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9296 * include/grub/ia64/time.h: New file.
9297 * include/grub/ia64/types.h: Likewise.
9298 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9299 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9300 New protos.
9301 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9302 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9303 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9304 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9305 All users updated.
9306 (EFI64_HEADER_SIZE): New definition. All users updated.
9307 (image_targets): Add ia64-efi.
9308 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9309 jumpers_addr. All users updated.
9310 Create function descriptors.
9311 (count_funcs): New function.
9312 (unaligned_uint32): New struct.
9313 (MASK20): New definition.
9314 (MASK19): Likewise.
9315 (MASKF21): Likewise.
9316 (add_value_to_slot_20b): New function.
9317 (add_value_to_slot_21_real): Likewise.
9318 (add_value_to_slot_21): Likewise.
9319 (ia64_kernel_trampoline): New struct.
9320 (nopm): New variable.
9321 (jump): Likewise.
9322 (make_trampoline): New function.
9323 (relocate_addresses): Handle ia64.
9324 (make_reloc_section): Likewise.
9325 (load_image): Likewise.
9326
983b414d
VS
93272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9330 warning. Move variables before code while on it.
9331
5d063cdc
VS
93322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 Fuloong support.
9335
9336 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9337 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9338 * grub-core/boot/mips/loongson/fuloong.S: New file.
9339 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9340 Explicitly init CS5536.
9341 [FULOONG]: Don't use serial until CS5536 is available.
9342 Set GPIO based on dumps.
9343 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9344 [FULOONG]: Handle GPIO and memory controller differences.
9345 Parse machine type in $a2.
9346 * grub-core/boot/mips/startup_raw.S: Determine and save the
9347 architecture.
9348 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9349 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9350 init on architecture type.
9351 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9352 SIS315E. Don't init at_keyboard on fuloong.
9353 (grub_halt): Support Fuloong.
9354 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9355 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9356 (loongson_machtypes): New array.
9357 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9358 type.
9359 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9360 config. All users updated. Handle CS5536 serial.
9361 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9362 default port on machine type. Register serial as inactive.
9363 * grub-core/video/sis315pro.c: New file.
9364 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9365 definition.
9366 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9367 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9368 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9369 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9370 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9371 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9372 to ...
9373 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9374 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9375 definition.
9376 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9377 (grub_arch_machine): New extern var.
9378 * include/grub/mips/loongson/serial.h
9379 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9380 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9381 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9382 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9383 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9384 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9385 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9386 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9387 * include/grub/term.h (grub_term_register_input_inactive): New inline
9388 function.
9389 (grub_term_register_output_inactive): Likewise.
9390 * include/grub/video.h (grub_video_driver_id): New value
9391 GRUB_VIDEO_DRIVER_SIS315PRO.
9392 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9393 New field "names". All users updated.
9394 New field value IMAGE_FULOONG_FLASH.
9395 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9396
6ada82d1
JU
93972011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9398
9399 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9400 and add some clarification.
9401
90c571a4
VS
94022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9405 platforms if kernel is compressed.
9406
de04eecf
VS
94072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9410 unused modules since currently referrence counter isn't reliable and
9411 there isn't much memory to recover there anyway.
9412
57688121
VS
94132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9416 rather than resetting it to allow modules to reference themselves
9417 in init.
9418
3d2c7e35
VS
94192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9422 counter on dependencies since grub_dl_unref already handles this.
9423
b25db218
VS
94242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9427 on error if not already done.
9428
25a45338
VS
94292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 Fix few potential memory misusage.
9432
9433 * grub-core/font/font.c (load_font_index): Don't free char_index to
9434 avoid double free.
b25db218
VS
9435 (grub_font_load): Zero-fill font at alloc for safety.
9436 Close file on error.
9437 (free_font): Free bmp_idx.
25a45338 9438
0cac83df
VS
94392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * docs/grub.texi (Installation): Fix several outdated claims.
9442
2217a143
VS
94432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Handle module_license on windows.
9446
9447 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9448 sections shifted.
9449 (insert_string): Make argument const char * instead of char *.
9450 (write_section_data): Handle long section names.
9451 Handle module_license.
9452
d4de6b01
VS
94532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9456 handle class-free menuentries.
9457 (grub_normal_add_menu_entry): Add a check to be sure.
9458
4c2a3b43
VS
94592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9462 PgUp and PgDown.
9463
85c6210f
VS
94642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 * configure.ac: Bump version to 1.99.
9467
36084912
VS
94682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 Give ATA device a bit more time on first try in order to allow disks
9471 to spin up.
9472
9473 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9474 if dev->present is 1. Reset dev->present on failure.
9475 (grub_ata_device_initialize): Set dev->present to 1.
9476 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9477 (grub_ata_device): New member 'present'.
9478
bda0e219
VS
94792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * util/grub-mkimage.c (generate_image): Update hash.
9482
19e1c41b
VS
94832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 Flush caches on DMA memory.
9486
9487 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9488 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9489 (grub_dma_free): Likewise.
9490 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9491
91bbcc0c
VS
94922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9495 to avoid asm treating ld and sd as macros.
9496
60ddfad3
VS
94972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9500 decompressor.
9501
a298aa04
VS
95022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9505 grub_decompress_core since later would fail if grub_decompress_core
9506 is too far.
9507
9b44feca
VS
95082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9511 R_MIPS_JALR since it's used by newer compiler.
9512
56dbe7b4
VS
95132011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9516
52856af2
VS
95172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9520 file_path to 0 for surety.
9521 (grub_chainloader_boot): Set exit_data to NULL.
9522 Unset the loader once done.
9523 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9524
9c9bfc6d
VS
95252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9528 unknown key into a dprintf.
9529
dd94a3df
VS
95302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9533 on first non-existant partition.
9534
fa68d99c
VS
95352011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9538 openning fails.
9539 Reported by: Mark Korenberg.
9540
157effb7
VS
95412011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9544 overflow.
9545
ea75312f
VS
95462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9549 before closing to ensure that it will be readable by grub-setup.
9550
072b5d31
VS
95512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9554 (devpath_1): Use MAKE_PIWG_PATH.
9555 (devpath_2): Likewise.
9556 (devpath_3): Likewise.
9557 (devpath_4): Likewise.
9558 (devpath_5): Likewise.
9559 (devpath_6): Likewise.
9560
9561 The appleldr.mod was checked that to be binary identical to previous
9562 version.
9563
7fae0051
Z
95642011-05-05 Zach <mikezackles>
9565
9566 Support 2010 Macbooks.
9567
9568 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9569 (devs): Add devpath_6.
9570
7c515bee
VS
95712011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9572
9573 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9574 /dev/random. /dev/urandom is good enough for our purposes (salting).
9575
ed660bd8
VS
95762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9577
9578 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9579
ee5614b7
VS
95802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9583 hexadecimal.
9584
664889a6
VS
95852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9588 and not 0 on failure.
9589
bd405bbc
CW
95902011-05-03 Colin Watson <cjwatson@ubuntu.com>
9591
9592 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9593 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9594 disk; otherwise grub_fs_probe will not fall back to the next
9595 filesystem.
9596 (grub_pxefs_open): Likewise, for consistency.
9597 Reported and tested by: Ezekiel Grave.
9598
4ebff753
CW
95992011-05-03 Colin Watson <cjwatson@ubuntu.com>
9600
9601 * tests/partmap_test.in: Don't hardcode path to parted.
9602 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9603
8f942553
CW
96042011-05-01 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9607 of `ls' to find out which devices are available.
9608
3c62402d
VS
96092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9612 than source address for efi mmap buffer.
9613
723f63f2
VS
96142011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9617 wrong action on non-detecting the magic.
9618
68797f92
VS
96192011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9622 already supplied by another part of the module (fixes compilation on
9623 FreeBSD).
9624
6be8715d
VS
96252011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9628 match the one used by mdadm.
9629
e91dba5b
CW
96302011-04-21 Colin Watson <cjwatson@ubuntu.com>
9631
9632 * po/README: Add instructions for creating po/LINGUAS.
9633
c85140b3
CW
96342011-04-21 Colin Watson <cjwatson@ubuntu.com>
9635
9636 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9637 #551428.
9638
9639 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9640 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9641 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9642 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9643 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9644 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9645 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9646 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9647 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9648 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9649 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9650 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9651 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9652 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9653 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9654 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9655 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9656 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9657 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9658 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9659 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9660 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9661
92051871
CW
96622011-04-21 Colin Watson <cjwatson@ubuntu.com>
9663
9664 * grub-core/kern/emu/getroot.c
9665 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9666 test that was incorrectly reintroduced in r3214.
9667 Reported by: Ian Dall. Fixes Savannah bug #33133.
9668
b13f79a4
CW
96692011-04-21 Colin Watson <cjwatson@ubuntu.com>
9670
9671 Fix stack pointer handling in 16-bit relocator.
9672
9673 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9674 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9675 Fixes Ubuntu bug #683904.
9676
9b710a88
VS
96772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * configure.ac: Bump version to 1.99~rc2.
9680
d97e7b59
VS
96812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9684 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9685 * grub-core/lib/x86_64/setjmp.S: Likewise.
9686 * grub-core/lib/mips/setjmp.S: Likewise.
9687 * grub-core/lib/powerpc/setjmp.S: Likewise.
9688 * grub-core/lib/sparc64/setjmp.S: Likewise.
9689
0624551c
VS
96902011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9693 * grub-core/lib/efi/datetime.c: Likewise.
9694
e8f28d4c
VS
96952011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9698 New function.
9699 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9700 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9701 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9702
bba79a15
VS
97032011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9706 bitmap.
9707 (grub_gfxterm_term_init): Likewise.
9708
abc474ef
VS
97092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 Take into account the decorations the computing menu entry width.
9712
9713 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9714 (grub_gfxmenu_create_box): Register get_border_width.
9715 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9716 if available.
9717 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9718 get_border_width.
9719
e74b3947
EP
97202011-04-18 Endres Puschner <code@e7p.de>
9721
9722 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9723 Don't skip first class.
9724
34faa595
VS
97252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9728 chunks.
9729 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9730
93a777e3
VS
97312011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9732
9733 Complete 64-bit division support.
9734
9735 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9736 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9737 * include/grub/misc.h (grub_divmod64): Rename to ...
9738 (grub_divmod64_full): ... this.
9739 (grub_divmod64): New inline function.
9740
a5102d94
VS
97412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9744
f3fb7b36
VS
97452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9748 performing the necessary test.
9749
9ac718b0
VS
97502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9753 (kfreebsd.elf): Likewise.
9754 (pc-chainloader.elf): Likewise.
9755 (ntldr.elf): Likewise.
9756
50d2cc5a
VS
97572011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 Identify RAID by its UUID rather than (guessed) name.
9760
9761 * grub-core/disk/raid.c (ascii2hex): New function.
9762 (grub_raid_open): Accept mduuid/%s specification.
9763 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9764 (get_mdadm_uuid): ... this.
9765 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9766
e03f7bea
VS
97672011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9768
9769 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9770 to negative size.
9771
e74c3112
CW
97722011-04-13 Colin Watson <cjwatson@ubuntu.com>
9773
9774 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9775 btrfs subvolume.
9776 * util/grub.d/20_linux_xen.in: Likewise.
9777
78fa584f
CW
97782011-04-13 Colin Watson <cjwatson@ubuntu.com>
9779
9780 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9781 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9782
9783 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9784 Build a list of relevant visible mounts using the mnt_id and
9785 parent_mnt_id fields, and then scan that list at the end.
9786
9d5f8162
CW
97872011-04-12 Colin Watson <cjwatson@ubuntu.com>
9788
9789 * docs/grub.texi (normal): New section.
9790 (normal_exit): New section.
9791 (Embedded configuration): Add reference to normal.
9792 (GRUB only offers a rescue shell): Likewise.
9793 * docs/grub-dev.texi (Error Handling): Fix typo.
9794
09a9d66f
CW
97952011-04-12 Colin Watson <cjwatson@ubuntu.com>
9796
9797 * NEWS: Drop obsolete entry about probe-only btrfs support.
9798
0c676933
CW
97992011-04-12 Colin Watson <cjwatson@ubuntu.com>
9800
9801 * util/import_gcry.py: Fix typo.
9802
ec9f5e0d
VS
98032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * NEWS: Add btrfs support.
9806
fe6b2cba
VS
98072011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
98082011-04-11 Colin Watson <cjwatson@ubuntu.com>
9809
9810 BtrFS support. Written by me (Vladimir) with important bugfixes and
9811 even more important testing by Colin.
9812
9813 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9814 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9815 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9816 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9817 mem_input_off and mem_input. All users updated to accept in-RAM input.
9818 (gzio_seek): New function.
9819 (test_zlib_header): Likewise.
9820 (grub_gzio_read): Likewise.
9821 (grub_zlib_decompress): Likewise.
9822 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9823 Accept partial and non-virtual mounts.
9824 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9825 avoid receiving /dev/dm-X as device.
9826 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9827 Handle bind and partial mounts.
9828 * grub-core/lib/crc.c: New file.
9829 * include/grub/deflate.h: Likewise.
9830 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9831 proto.
9832 * include/grub/lib/crc.h: New file.
9833
e745cf0c
VS
98342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 Implement automatic module license checking according to new GNU
9837 guidelines.
9838
9839 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9840 (grub_dl_load_core): Use grub_dl_check_license.
9841 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9842 (GRUB_MOD_LICENSE): Likewise.
9843 (GRUB_MOD_DUAL_LICENSE): Likewise.
9844 All modules updated.
9845
2a9bc016
CW
98462011-04-11 Colin Watson <cjwatson@ubuntu.com>
9847
9848 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9849 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9850 loaders.
9851 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9852
8a3bc88e
VS
98532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9856
af869a4a
VS
98572011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9860 failed.
9861
9ee8d94f
VS
98622011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9865 parenthesis in the middle of the filename.
9866
b01abe3e
VS
98672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9870 rather than trying to put initrd way too high.
9871 Reported by: Ryan Lortie <desrt@desrt.ca>
9872
335bda1e
VS
98732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9876 improperly removed string.
9877
5ca1a64d
VS
98782011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9881 is_disk.
9882 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9883 (open_device) Likewise.
9884 (grub_util_biosdisk_close): Likewise.
d8ce9995 9885 Reported by: Mark Korenberg.
5ca1a64d 9886
cbac5b1e
AK
98872011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9888
9889 * util/grub-mkconfig_lib.in: Add missing quotes.
9890
088cdb65
CW
98912011-04-10 Colin Watson <cjwatson@ubuntu.com>
9892
9893 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9894 is NULL.
9895
8b8a81fa
VS
98962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 Dynamically count the number of lines for the lower banner.
9899
9900 * grub-core/normal/menu_entry.c (per_term_screen): New member
9901 num_entries.
9902 (print_down): Use num_entries.
9903 (update_screen): Likewise.
9904 (grub_menu_entry_run): Set num_entries.
9905 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9906 num_entries.
9907 (grub_print_message_indented): Move real part to ...
9908 (grub_print_message_indented_real): ... here. Additional argument
9909 dry_run.
9910 (draw_border): Additional argument num_entries.
9911 (print_message): Additional argument dry_run.
9912 (print_entries): Receive menu viewer data.
9913 (grub_menu_init_page): New argment num_entries.
9914 (menu_text_set_chosen_entry): Use num_entries.
9915 (grub_menu_try_text): Likewise.
9916 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9917 All users updated.
9918 (grub_ucs4_count_lines): New function.
9919 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9920 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9921 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9922 (grub_term_border_height): Likewise.
9923 (grub_term_num_entries): Likewise.
9924
277f955b
VS
99252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9928 Remove now unused string.
9929
536ce85a
CW
99302011-04-09 Colin Watson <cjwatson@ubuntu.com>
9931
9932 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9933 build system.
9934 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9935
9936 (Comment): Fix typo.
9937 (Getting started): General copy-editing.
9938 (Typical Development Experience): Likewise.
9939 (Error Handling): Likewise.
9940 (Video API): Likewise.
9941
2cf09e32
CW
99422011-04-09 Colin Watson <cjwatson@ubuntu.com>
9943
9944 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9945 throughout.
9946
1ec652f4
VS
99472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9950 directory.
9951
2c583728
CW
99522011-04-08 Colin Watson <cjwatson@ubuntu.com>
9953
9954 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9955 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9956 "development".
9957
d7a565e9
VS
99582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9961 grub_strcpy since the lines aren't necessarily 0-terminated.
9962
7c2e4909
VS
99632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9966 root on legacy.
9967
34c09785
VS
99682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9971 (GRUB_MOD_INIT): DEVICE isn't optional.
9972
6a6f8058
VS
99732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9976 word on new line if it's too long anyway. Fixes a hang.
9977
2e335e90
VS
99782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9981 const.
9982 * util/grub-setup.c (main): Reuse md device name if available.
9983 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9984 not GRUB name as argument.
9985 Based on patch by: Florian Wagner <fwagner>.
9986
10a7a867
VS
99872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9990 Place mbi on low memory for better compatibility.
9991
7a3d6cd9
VS
99922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9995
18dd6b47
VS
99962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
99972011-04-08 Colin Watson <cjwatson@ubuntu.com>
9998
9999 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10000 * conf/Makefile.common: Likewise.
18dd6b47 10001
3c0e3f14
VS
100022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10003
f7148863
VS
10004 * grub-core/normal/menu.c: Add missing include.
10005
100062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10009
6d1fa41f
MZ
100102011-04-08 Martin Zuther <mzuther@mzuther.de>
10011
10012 * util/grub-mkconfig.in: Ignore emacsen backup.
10013
478182a8
VS
100142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10017 on open.
10018 (grub_util_biosdisk_close): Likewise.
10019
72a89a54
VS
100202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10023 const attribute and use grub_isdigit.
10024
b5ebecfa
A
100252011-04-06 Andrey <dev_null@ukr.net>
10026
10027 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10028 gcc warning.
10029
7755f66e
VS
100302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10033 useful grub_dprintf's.
10034
461121ff
VS
100352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10038
2a961775
VS
100392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10042
adf594cc
VS
100432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 Output errors if theme loading failed.
10046
10047 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10048 grub_gfxterm_fullscreen on error paths to ...
10049 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10050 theme loading error.
10051
665900a3
VS
100522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10055 space for older compilers.
10056 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10057
a562b479
VS
100582011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10061 and report them as not RAID members since they are useless for GRUB.
10062 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10063
850e9373
VS
100642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 Increase LVM implementation robustness in order not to crash on
10067 configurations like pvmove. Previously code assumed that in some places
10068 only lvs or only pvs are used whereas it seems that they are used
10069 interchangeably.
10070
10071 * grub-core/disk/lvm.c (read_node): New function.
10072 (read_lv): Use read_node.
10073 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10074 Match volumes only at the end when all lvs are found. Take both
10075 pvs (first) and lvs (second) into account.
10076 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10077 mirror_* into node_*. All users updated.
10078 (grub_lvm_stripe): Merge this ...
10079 (grub_lvm_mirror): ... and this ...
10080 (grub_lvm_node): ... into this. All users updated.
10081
6f332153
VS
100822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10085 of function to allow further scanning for LVMs.
10086
829ea451
VS
100872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10090 on failed seek as it breaks open fd reusage.
10091
09ceb9a5
VS
100922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * util/grub-install.in: Add a recommendation to use --recheck before
10095 reporting bugs.
10096
67e11623
VS
100972011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10100 are obtained.
10101
caee5efd
VS
101022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 GRUB developper manual based on existing Internals section and
10105 contributions by the various authors with active copyright assignment.
10106
10107 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10108 * docs/font_char_metrics.png: New file.
10109 * docs/font_char_metrics.txt: Likewise.
10110 * docs/grub-dev.texi: Likewise.
10111 * docs/grub.texi (Internals): Move from here ...
10112 * docs/grub-dev.texi: ... here.
10113
2cccc747
CW
101142011-04-01 Colin Watson <cjwatson@ubuntu.com>
10115
10116 Store the loopback device as data on loopback grub_disk structures,
10117 rather than the file it points to. This fixes use of freed memory
10118 if an existing loopback device is replaced.
10119
10120 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10121 disk->data, not dev->file.
10122 (grub_loopback_read): Adjust file assignment to match.
10123 Fixes Ubuntu bug #742967.
10124
186ae367
CW
101252011-04-01 Colin Watson <cjwatson@ubuntu.com>
10126
10127 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10128 when replacing an existing device.
10129
cfed2ad0
VS
101302011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10133 memory corruptions.
10134
10135 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10136 unsigned.
10137 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10138 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10139 (grub_jfs_read_inode): Likewise.
10140 (grub_jfs_opendir): Likewise. Remove now useless casts.
10141 (grub_jfs_getent): Likewise.
10142 Make ino a grub_uint32_t rather than int.
10143 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10144 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10145 division and module with bit operations.
10146 (grub_jfs_find_file): Make ino a grub_uint32_t.
10147 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10148
05d2ed32
CW
101492011-04-01 Colin Watson <cjwatson@ubuntu.com>
10150
10151 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10152 warning. (This was in fact always initialised before use, but GCC
10153 wasn't smart enough to prove that.)
10154 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10155
91dc6073
VS
101562011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10159 stack alignment.
10160 (efi_wrap_1): Likewise.
10161 (efi_wrap_2): Likewise.
10162 (efi_wrap_3): Likewise.
10163 (efi_wrap_4): Likewise.
10164 (efi_wrap_5): Likewise.
10165 (efi_wrap_6): Likewise.
10166 (efi_wrap_10): Likewise.
10167 Based on information by: Red Hat/Peter Jones.
10168
a8afc1d1
CW
101692011-03-31 Colin Watson <cjwatson@ubuntu.com>
10170
10171 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10172 set-but-not-used variable.
10173
a826cc7d
CW
101742011-03-31 Colin Watson <cjwatson@ubuntu.com>
10175
10176 * docs/grub.texi (Simple configuration): Be more explicit about
10177 GRUB_DEFAULT, and add an example.
10178 Reported by: Leslie Rhorer.
10179
875b67ba
CW
101802011-03-30 Colin Watson <cjwatson@ubuntu.com>
10181
10182 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10183 shell".
10184
fd7cd914
AS
101852011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10186
10187 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10188 * util/grub.d/20_linux_xen.in: Likewise.
10189
090b1b6a
VS
101902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * util/grub.d/10_linux.in: Try alternative config filenames where
10193 we parse config file.
10194 * util/grub.d/20_linux_xen.in: Likewise.
10195
baad885c
AS
101962011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10197
10198 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10199 * util/grub.d/20_linux_xen.in: Likewise.
10200
241e41f5
VS
102012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/disk/raid.c (insert_array): Add few potentially
10204 useful grub_util_info.
10205 (grub_raid_register): Likewise.
10206
56445fb2
VS
102072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10210 Preserve partition number in mdadm code path.
10211
c871b1c6
VS
102122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10215 few potentially useful grub_util_info.
10216
5e631b4f
CW
102172011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10220
2d5d0333
CW
102212011-03-30 Colin Watson <cjwatson@ubuntu.com>
10222
10223 * docs/grub.texi (default): Use @example rather than nested
10224 itemized lists to avoid breaking gendocs.
10225
3d7ed04e
CW
102262011-03-30 Colin Watson <cjwatson@ubuntu.com>
10227
10228 * docs/grub.texi (Future): Update.
10229
abf04200 102302011-03-30 Colin Watson <cjwatson@ubuntu.com>
10231
10232 * docs/grub.texi (Environment): New chapter.
10233 (Changes from GRUB Legacy): Link to "Environment block" section for
10234 details of limitations.
10235 (Simple configuration): Likewise. Link to documentation of gfxmode
10236 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10237 respectively.
10238 (Shell-like scripting): Note that normal variables are stored in the
10239 environment.
10240 (gettext): Link to documentation of lang and locale_dir.
10241 (list_env): New section.
10242 (load_env): New section.
10243 (save_env): New section.
10244
10245 (Reporting bugs): Fix typo.
10246
e1ad0edd
VS
102472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10250 the example.
10251
5d803174
VS
102522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/term/at_keyboard.c (set_scancodes)
10255 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10256
2a2da1d0
CW
102572011-03-30 Colin Watson <cjwatson@ubuntu.com>
10258
10259 * docs/grub.texi (Menu-specific commands): Remove some semantics
10260 that were true in GRUB Legacy but not in GRUB 2.
10261 (submenu): New section.
10262 (false): New section.
10263 (read): New section.
10264 (true): New section.
10265
a7527639
CW
102662011-03-30 Colin Watson <cjwatson@ubuntu.com>
10267
10268 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10269
102702011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10271
10272 * docs/grub.texi (Simple configuration): Explain some of the
10273 current limitations of grub-mkconfig.
8a748df2 10274 Reported by: Leslie Rhorer.
e30af029 10275
fc858482
VS
102762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 Old macs search for boot.efi rather than for bootia32.efi.
10279
10280 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10281 * util/grub-mkrescue.in: Likewise.
10282 Suggested by: Peter Jones.
10283
e1eb511d
VS
102842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10287
70e75364
VS
102882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10291 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10292 (grub_lvm_mirror): New struct.
10293 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10294 (grub_lvm_iterate): Iterate only visible volumes.
10295 (grub_lvm_read): Factor out to ..
10296 (read_lv): ... this. Support mirrors.
10297 (grub_lvm_read): New wrapper function.
10298 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10299 stripped or mirrored.
10300
fc18f6a3
VS
103012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10304
5c650f4c
CW
103052011-03-29 Colin Watson <cjwatson@ubuntu.com>
10306
10307 * docs/grub.texi (loopback): New section.
10308
61d7156b
CW
103092011-03-29 Colin Watson <cjwatson@ubuntu.com>
10310
10311 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10312 removed -p option.
10313
994b8264
CW
103142011-03-29 Colin Watson <cjwatson@ubuntu.com>
10315
10316 * docs/grub.texi (BIOS installation): New section, partly based on
10317 previous text in other sections.
10318 (Installing GRUB using grub-install): Replace BIOS discussion with a
10319 cross-reference.
10320 (Images): Likewise.
10321
9e4d19e0
VS
103222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10325 [HAVE_DIOCGDINFO]: Add safety checks.
10326
a307c0b2
VS
103272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10330 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10331
b4db4f39
CW
103322011-03-29 Colin Watson <cjwatson@ubuntu.com>
10333
10334 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10335 real_sb->size is zero (e.g. RAID-0), get the disk size from
10336 real_sb->data_size instead.
10337 Fixes Ubuntu bug #743136.
10338
35e5f84c
VS
103392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10342 printf clauses for printing size and start.
10343
d2e29d81
VS
103442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10347 Reported and tested by: Timothy Nikkel.
10348
ed5587af
VS
103492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10352 (dirty_region_add_real): ... this.
10353 (dirty_region_add): Don't discard margin refresh when performing
10354 scheduled repaint.
10355
a1dc717c
VS
103562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/lib/relocator.c (allocate_regstart)
10359 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10360 terminals are capabple of malloc-free operation.
10361 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10362 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10363
9f3677d3
VS
103642011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10365
10366 * util/grub-setup.c: Copy the partition table zone if floppy support
10367 is disabled, even if no partition table is found.
10368
10369 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10370 during POST if an invalid partition table is contained in the PBR
10371 of the active partition when GRUB is installed to a partition.
10372
24148725
CW
103732011-03-28 Colin Watson <cjwatson@debian.org>
10374
10375 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10376 comment.
10377
f329eda7
CW
103782011-03-28 Colin Watson <cjwatson@debian.org>
10379
10380 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10381 to be specific about what kind of RAID device we're scanning for.
10382
c482ad98
SG
103832011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10384
10385 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10386 return freed string.
10387
5ee04984
VS
103882011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10391
f4727da9
VS
103922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Use libgeom on FreeBSD to detect partitions.
10395
10396 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10397 (grub-mkrelpath): Likewise.
10398 (grub-script-check): Likewise.
10399 (grub-editenv): Likewise.
10400 (grub-mkpasswd-pbkdf2): Likewise.
10401 (grub-fstest): Likewise.
10402 (grub-mkfont): Likewise.
10403 (grub-mkdevicemap): Likewise.
10404 (grub-probe): Likewise.
10405 (grub-setup): Likewise.
10406 (grub-ofpathname): Likewise.
10407 (grub-mklayout): Likewise.
10408 (example_unit_test): Likewise.
10409 (grub-menulst2cfg): Likewise.
10410 * grub-core/Makefile.core.def (grub-emu): Likewise.
10411 (grub-emu-lite): Likewise.
10412 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10413 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10414 define HAVE_DIOCGDINFO.
10415 (follow_geom_up) [FreeBSD]: New function.
10416 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10417 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10418 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10419 unconditionally of HAVE_DIOCGDINFO.
10420
82fe6c75
VS
104212011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 Fix FreeBSD compilation problem.
10424
10425 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10426 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10427
4c6c9431
CW
104282011-03-24 Colin Watson <cjwatson@ubuntu.com>
10429
10430 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10431 Switch back to page zero before loading a kernel, since some kernel
10432 drivers expect that.
10433 Thanks to: Felix Kuehling.
10434
c7064d94
VS
104352011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10438 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10439 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10440
3f71cded
VS
104412011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10444 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10445
ef6de21a
VS
104462011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10449 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10450 malloc is disabled.
10451
8bc66a2c
VS
104522011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10455 for modules headers when counting the needed allocation size.
10456
5657722c
VS
104572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10460 if no ASCII character is found to prevent crash.
10461
41a85f55
AK
104622011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10463
10464 * grub-core/video/bitmap.c (match_extension): Ignore case.
10465
59e1e5f1
VS
104662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10469
bd4d051a
VS
104702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/script/parser.y: Declare "time" as valid argument.
10473
bae7fcc1
PJ
104742011-03-23 Peter Jones <pjones@redhat.com>
10475
10476 Fix incorrect assert failure reporting.
10477
10478 * grub-core/tests/example_functional_test.c (example_test): Add
10479 a failure comment.
10480 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10481 (failure_start): ...this. Check that malloc succeeded.
10482 Don't call xvasprintf. Return failure struct.
10483 (failure_append_vtext): New function.
10484 (failure_append_text): Likewise.
10485 (add_failure): Likewise.
10486 (grub_test_assert_helper): Likewise.
10487 * include/grub/test.h (grub_test_assert_helper): New declaration.
10488 (grub_test_assert): Macro rewritten.
10489
537dc9be
VS
104902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10493
fa3e01bf
VS
104942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10497
b1d28404
VS
104982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10501 into GRUB-style one.
10502
2e3e2e09
VS
105032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10506 error and not grub_errno.
10507 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10508
ed57e557
VS
105092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10512 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10513
d1611f01
VS
105142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 * grub-core/efiemu/i386/pc/cfgtables.c
10517 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10518 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10519 (grub_xnu_unlock): Likewise.
10520 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10521
7d4e39d6
VS
105222011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10525 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10526 * grub-core/commands/hashsum.c (aliases): Likewise.
10527 * grub-core/commands/setpci.c (pci_registers): Likewise.
10528 * grub-core/disk/usbms.c (attach_hook): Likewise.
10529 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10530 (zio_checksum_table): Likewise.
10531 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10532 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10533 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10534 * grub-core/lib/relocator.c (leftovers): Likewise.
10535 (extra_blocks): Likewise.
10536 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10537 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10538 (modules_last): Likewise.
10539 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10540 (devices): Likewise.
10541 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10542 (modules_last): Likewise.
10543 * grub-core/normal/auth.c (users): Likewise.
10544 * grub-core/normal/context.c (initial_menu): Likewise.
10545 (current_menu): Likewise.
10546 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10547 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10548 (grub_serial_terminfo_input_template): Likewise.
10549 (grub_serial_terminfo_output_template): Likewise.
10550 (grub_serial_terminfo_input): Likewise.
10551 (grub_serial_terminfo_output): Likewise.
10552 (registered): Likewise.
10553 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10554
40fc4659
VS
105552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10558 grub_video_mode_type_t.
10559 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10560 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10561 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10562
2da48d28
VS
105632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * util/grub-install.in: Correct the x86-64 name as x86_64.
10566
9b43bf39
CW
105672011-03-11 Colin Watson <cjwatson@ubuntu.com>
10568
10569 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10570 initial chunk read from the kernel always includes GRUB's multiboot
10571 header, which is now outside the first sector.
10572
be1a7ce0
CW
105732011-03-09 Colin Watson <cjwatson@ubuntu.com>
10574
10575 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10576 cached mmap_size, so that this works correctly when called multiple
10577 times.
10578 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10579
83a3c48d
CW
105802011-03-09 Colin Watson <cjwatson@ubuntu.com>
10581
10582 * docs/grub.texi (Simple configuration): Tidy up formatting.
10583
57d75699
SJ
105842011-03-07 Szymon Janc <szymon@janc.net.pl>
10585
10586 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10587 Set-but-not-used variable removed.
10588
028501a0
VS
105892011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Workaround yet another IEEE1275 bug.
10592
10593 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10594 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10595 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10596 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10597 is set.
10598 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10599 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10600
d998657d
VS
106012011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10604 error.
10605
fee7cdd4
CW
106062011-02-11 Colin Watson <cjwatson@ubuntu.com>
10607
10608 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10609 empty, since in that case we can only generate either nothing or a
10610 syntactically invalid configuration file.
10611 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10612
97286eb5
CW
106132011-02-09 Colin Watson <cjwatson@ubuntu.com>
10614
10615 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10616 (Making a GRUB bootable CD-ROM): Likewise.
10617 (Invoking grub-mkrescue): New section.
10618 Reported by: Yann Dirson. Fixes Debian bug #612585.
10619
22b28eb3
CW
106202011-02-09 Colin Watson <cjwatson@ubuntu.com>
10621
10622 * util/grub-install.in: Remove unnecessary brackets from tr
10623 arguments.
10624 * util/grub.d/10_hurd.in: Likewise.
10625 * util/grub.d/10_kfreebsd.in: Likewise.
10626 * util/grub.d/10_linux.in: Likewise.
10627 * util/grub.d/20_linux_xen.in: Likewise.
10628 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10629
7e735e43
CW
106302011-02-08 Colin Watson <cjwatson@ubuntu.com>
10631
10632 * include/grub/file.h (not_easly_seekable): Rename to ...
10633 (not_easily_seekable): ... this. Update all users.
10634
800f1881
CW
106352011-01-28 Colin Watson <cjwatson@ubuntu.com>
10636
10637 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10638 grub-mkrescue.
10639
3281d3d6
VS
106402011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * util/grub-mkimage.c (generate_image): Refuse to create the images
10643 bigger than the actual flash (512K) in Loongson machines. 512K is also
10644 the biggest chip supported by them.
10645
3533413c
VS
106462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10649
73ae4f4f
VS
106502011-01-22 Anthony DeRobertis <anthony@derobert.net>
10651
10652 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10653 super_offset field.
10654
37f4f608
VS
106552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/grub-install.in: Ignore install device on platforms
10658 where it doesn't make sense. Always use UUIDs except on pc, efi and
10659 sparc64.
10660 Reported by: Daniel Kahn Gillmor.
10661
03a4ccb5
VS
106622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10665
ffc8f4d8
VS
106662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10669 (iterate_real): Don't rely on partition being non-NULL.
10670
80f23be7
VS
106712011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10674 supported platforms. Put a compile time assert for this rather than
10675 generate a warning with 32-bit shift.
10676
5d4f4dd5
VS
106772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10680 logical expression more readable.
10681
e489601a
VS
106822011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10685 even if some elements have a name.
10686 Reported by: Alexander GQ Gerasiov.
10687
96e0a6ea
CW
106882011-01-22 Colin Watson <cjwatson@ubuntu.com>
10689
10690 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10691 path unreadable if `grub-probe -t abstraction' fails, for example if
10692 memberlist fails on an LVM volume group.
10693 Reported by: Darius Jahandarie.
10694
81431e2b
CW
106952011-01-22 Colin Watson <cjwatson@ubuntu.com>
10696
10697 * docs/grub.texi (Simple configuration): Document
10698 GRUB_PRELOAD_MODULES.
10699
5e79d66a
CW
107002011-01-17 Colin Watson <cjwatson@ubuntu.com>
10701
10702 * .bzrignore: Remove nonexistent grub-pbkdf2.
10703
646ada34
VS
107042011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * configure.ac: Bump version to 1.99~rc1.
10707
04360337
VS
107082011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10711 for safety.
10712
46c9db88
VS
107132011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10716 module.
10717
107182011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10719
10720 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10721
4fbf1852
VS
107222011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10725 diskdevid.
10726
f1632d4d
VS
107272011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Fix compilation on cygwin.
10730
10731 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10732 -R .drectve on cygwin.
10733 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10734 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10735 (COND_CYGWIN): New condition.
10736 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10737 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10738 not @TARGET_OBJ2ELF@.
10739 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10740 type to determine whether aux is to be used.
10741
0b5e127b
VS
107422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10745 realpath'ed device string.
10746 Handle floppy (somewhat).
10747 Issue error in unknown case rather than garbage.
10748 Reported by: Axel Beckert.
10749
173b71e9
VS
107502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * util/grub.d/00_header.in (load_video): Handle the case when no video
10753 drivers available.
10754 Thanks to: Axel Beckert.
10755
f8f479db
VS
107562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10759 variable. Fixes problem on big endian platforms.
10760
8fc0a245
VS
107612011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10762
10763 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10764 It doesn't work well there.
10765
b8494fbe
VS
107662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10769 warning.
10770 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10771 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10772 counter.
10773
b44a558c
VS
107742011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 Use alias->path rather than buggy "canon".
10777
10778 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10779 (ofdisk_hash_add): New argument curcan. All users updated.
10780
51fa856c
CW
107812011-01-11 Colin Watson <cjwatson@ubuntu.com>
10782
10783 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10784
9da068a5
VS
107852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10788 loadmask before doing any calculations. Use correct type for offset.
10789 (grub_linux_load64): Likewise.
10790
86205c94
CW
107912011-01-11 Colin Watson <cjwatson@ubuntu.com>
10792
10793 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10794 with NULL.
10795 (console_grub_equivalences_unshift): Likewise.
10796 Reported by: Daniel Dehennin.
10797
4531a206
VS
107982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10801 (set_env_limn_ro): Likewise.
10802 (GRUB_MOD_INIT): Likewise.
10803 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10804 ARRAY_SIZE while on it.
10805 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10806 * grub-core/normal/context.c (grub_env_export): Move from here ...
10807 * grub-core/kern/env.c (grub_env_export): ... here.
10808 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10809 prefix.
10810 * grub-core/kern/main.c (grub_main): Export root and prefix.
10811 * include/grub/env.h (grub_env_export): Export.
10812 Reported by: Seth Goldberg.
10813
45146057
VS
108142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10817 Take into account space used by ELF sections and multiboot palette.
10818 Reported by: Grégoire Sutre.
10819
f093110b
VS
108202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * BUGS: New file.
10823
3395fe52
VS
108242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 Pass more appropriate video id to Linux.
10827
10828 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10829 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10830 fill have_vga.
10831 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10832 shift params->lfb_size.
10833 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10834
c2fa6cbb
VS
108352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10838
b3ff6ff0
VS
108392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10842 separator and pass bootpath/devid even if only one of them is available.
10843 Reported by: Seth Goldberg.
10844
ae67942e
VS
108452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10848 implementations bug on them.
10849
10850 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10851 memory.
10852 (filter_memory_map): Likewise.
10853
d570097a
VS
108542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10857 Reported by: nebuchadnezzar.
10858
a508e776
VS
108592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10862 Reported by: nebuchadnezzar.
10863
dcb883b1
VS
108642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 Submenu default support.
10867
10868 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10869 auto_boot. All users updated.
10870 Declared static.
10871 Handle chosen and default with submenus.
10872 (grub_menu_execute_with_fallback): Declared static.
10873 Don't notify failure if autobooted. Upper level does it.
10874 (menuentry_eq): New function.
10875 (get_entry_number): Use menuentry_eq.
10876 (show_menu): New parameter "autobooted". All users updated.
10877 (grub_show_menu): Likewise.
10878 * include/grub/normal.h (grub_show_menu): Likewise.
10879 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10880 (grub_menu_execute_with_fallback): Likewise.
10881
6fef99b4
VS
108822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * util/grub-mklayout.c (usage): Update help text.
10885
47a77af5
VS
108862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10887
10888 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10889
ce6bb3ee
VS
108902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * util/grub-menulst2cfg.c (main): Trim the line.
10893
db87be2a
VS
108942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10897 (grub_machine_init): Don't check amount of low memory as reportedly
10898 INT 12h can be broken and if low memory is too low we wouldn't have
10899 gotten into grub_machine_init anyway.
10900
c49849cc
VS
109012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10902
10903 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10904 (grub_machine_mmap_iterate): Take low memory into account
10905
b1969b30
VS
109062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10909 badfs.
10910 Reported by: TiCPU.
10911
cf0eaf13
VS
109122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10915 members errors.
10916
1f060f39
GS
109172011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10918
10919 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10920 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10921
a21e5672
GS
109222011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10923
10924 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10925 openbsd and netbsd types being in part_bsd module.
10926
c88172fa
VS
109272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10928
10929 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10930 (_FILE_OFFSET_BITS): Likewise.
10931 Reported by: Seth Goldberg.
10932
53798c4b
GS
109332011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10934
10935 * configure.ac: Check for libdevmapper header.
10936
e7121b69
VS
109372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10940 avoid aliasing.
10941 (fzap_lookup): Likewise.
10942 (dnode_get): Likewise.
10943 (make_mdn): Likewise.
10944 (zfs_mount): Likewise.
10945 (fzap_iterate): Use temporary pointer to avoid aliasing.
10946 (grub_zfs_read): Likewise.
10947 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10948 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10949 pointers to avoid aliasing.
10950 (grub_cmd_xnu_kernel64): Likewise.
10951 (grub_xnu_load_driver): Likewise.
10952
fc836af9
VS
109532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10956 aliasing warning.
10957 (grub_cmd_terminal_output): Likewise.
10958 Reported and tested by: Grégoire Sutre.
10959
f9f37648
VS
109602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10963 warning.
10964 Reported and tested by: Grégoire Sutre.
10965
ec1dfd63
VS
109662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 * configure.ac: Do CPU substitution even if it's specified explicitly.
10969 Reported and tested by: Alain Greppin.
10970
9462775a
VS
109712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10974 Reported and tested by: Alain Greppin.
10975
0fd48e35
VS
109762011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10977
10978 Satisfy some bison versions need for inttypes.h.
10979
10980 * grub-core/lib/posix_wrap/inttypes.h: New file.
10981 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10982 (int16_t): Likewise.
10983 (int32_t): Likewise.
10984 (int64_t): Likewise.
10985 Reported and tested by: Alain Greppin.
10986
43f1bc83
VS
109872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10990 Silence spurious warning.
10991 Reported and tested by: Alain Greppin.
10992
64d1f041
SJ
109932011-01-07 Szymon Janc <szymon@janc.net.pl>
10994
10995 * docs/grub.texi (Support automatic decompression): Update with xz
10996 decompression support.
10997
25953e10
SJ
109982011-01-07 Szymon Janc <szymon@janc.net.pl>
10999
11000 Improve loaders' kernel command line handling.
11001
11002 * grub-core/lib/cmdline.c: New file.
11003 * include/grub/lib/cmdline.h: Likewise.
11004 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11005 grub_create_loader_cmdline to create kernel command line.
11006 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11007 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11008 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11009 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11010 (linux): Add lib/cmdline.c on common.
11011
e72d259f
VS
110122011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11015 inopos might be unaligned.
11016
c0cf26da
VS
110172011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11020 endian transformations.
11021 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11022 Based on report by: Doug Nazar.
11023
0ca09e6c
DN
110242011-01-07 Doug Nazar <nazard.michi@gmail.com>
11025
11026 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11027 array->members[i].start_sector.
11028 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11029
014b6806
VS
110302011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11033 Reported and tested by: Grégoire Sutre.
11034
415502c2
CW
110352011-01-06 Colin Watson <cjwatson@ubuntu.com>
11036
11037 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11038 avoid causing test failures by clearing the screen.
11039
71b6a2b7
CW
110402011-01-06 Colin Watson <cjwatson@ubuntu.com>
11041
11042 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11043 Fix prefix check to handle the case where dir ends with a slash
11044 (most significantly, "/" itself).
11045 Reported by: Michael Vogt.
11046
b3f8d28a
VS
110472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 Run terminfo_cls on initing terminfo output to clear the screen and
11050 move the cursor to (0,0).
11051
11052 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11053 Call grub_terminfo_output_init.
11054 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11055 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11056 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11057
4c3e4f37
VS
110582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11061 only when needed.
11062
488f71f1
VS
110632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11066 CTRL.
11067
18a38098
VS
110682011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 The E820 type 5 is BADRAM, not EXEC_CODE.
11071
11072 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11073 (GRUB_E820_BADRAM): New define.
11074 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11075 into reserved. Propagate BADRAM.
11076 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11077 (GRUB_E820_BADRAM): New define.
11078
9eae2084
VS
110792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11082 Ignore the memory post-4G.
11083 (grub_relocator_firmware_alloc_region): Additional debug statement.
11084
ebc71d28
VS
110852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11088 names.
11089 Reported by: David Pravec.
11090
446fa400
VS
110912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11092
11093 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11094 BIOSes.
11095
a0159f37
VS
110962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11099 Prevent overflow.
11100 (grub_reed_solomon_recover): Likewise.
11101
e5146ca1
VS
111022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11105
111062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11107
11108 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11109 variable.
11110
5b1bdf12
CW
111112011-01-04 Colin Watson <cjwatson@ubuntu.com>
11112
11113 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11114 descriptions of extract_legacy_entries_source and
11115 extract_legacy_entries_configfile.
11116 Reported by: Seung Soo, Ha.
11117
99d925aa
CW
111182011-01-03 Colin Watson <cjwatson@ubuntu.com>
11119
11120 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11121 on devices that do not implement function 0.
11122
4af0504b
DV
111232011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11124
11125 * grub-core/fs/hfsplus.c: Make parent unsigned.
11126 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11127 overflows.
11128 (grub_hfsplus_cmp_extkey): Likewise
11129
469ee10a
VS
111302011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * util/grub-install.in: Correctly use bootloader_id and not
11133 GRUB_DISTRIBUTOR on efibootmgr line.
11134
323a8e9c
VS
111352011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11138
1b394975
IC
111392010-12-31 Ian Campbell <ijc@hellion.org.uk>
11140
11141 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11142 Xen and reorder menu item wording to make it clearer that this entry
11143 will launch Xen. Print separate messages when loading Xen and
11144 Linux.
11145
275bff5f
VS
111462010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11149 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11150 loop in case of incorrect amiga partmap.
11151
307806cb
VS
111522010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11155 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11156 Reported by:EHeM.
11157
b12b923e
VS
111582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11161 spurious warning.
11162 Reported by: crocket
11163
14b48a19
VS
111642010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11167 Preload EFIemu.
11168 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11169
693db2df
VS
111702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11173 is loaded
11174 (grub_cmd_xnu_kextdir): Likewise.
11175 (grub_cmd_xnu_splash): Likewise.
11176
c7638645
VS
111772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Avoid using Reed-Solomon with 0 redundancy.
11180
11181 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11182 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11183 or 0 redundancy.
11184 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11185 (grub_reed_solomon_recover): Likewise.
11186
25dd4780
VS
111872010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 Don't use disk subsystem in freebsd_boot.
11190
11191 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11192 (freebsd_biosdev): Likewise.
11193 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11194 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11195
0b2db943
VS
111962010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Handling of files of unknown size is currently limited. They can't be
11199 used e.g. for initrd or modules. Moreover gzip handling of not
11200 easily seekable files is buggy. Disable unknown file size for now. May
11201 be inefficient but works.
11202
11203 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11204 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11205
5c408d0f
MP
112062010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11207
11208 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11209 floppy probe.
11210
190a011a
JD
112112010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11212
11213 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11214
022d01b8
SL
112152010-12-25 Shea Levy <shlevy>
11216
11217 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11218
c4855fdc
VS
112192010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11222 Windows Server 2008.
11223 Reported by: Devin Giddings.
11224
0354b867
VS
112252010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11228 writing an error message because of async power management.
11229 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11230 (grub_reboot): Likewise.
11231
ab66c69f
JU
112322010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11233
11234 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11235 keep unit tests from failing when they shouldn't.
11236
1426ef35
CW
112372010-12-21 Colin Watson <cjwatson@ubuntu.com>
11238
11239 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11240 previous patch increased the size of the RS code by 20 bytes (at
11241 least with gcc-4.4), so increase this by 20 bytes to match.
11242 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11243
20641b6b
CW
112442010-12-21 Colin Watson <cjwatson@ubuntu.com>
11245
11246 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11247 scratch area. Make sure to initialise chosen in standalone mode as
11248 well as non-standalone.
11249 Reported by: Robert Hooker and Andy Whitcroft.
11250 Tested by: Andy Whitcroft.
11251
d060ad60
CW
112522010-12-21 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11255 constructing a new unescaped string and passing it to grub_xputs in
11256 one go, rather than passing characters to grub_printf one at a time.
11257
b889cfad
CW
112582010-12-21 Colin Watson <cjwatson@ubuntu.com>
11259
11260 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11261 initialising utf16.
11262
4e01b6c8
CW
112632010-12-21 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11266 comment. Add an extra layer of quotation, requiring the output of
11267 this function to be used in a printf format string.
11268 (gettext_printf): New function.
11269 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11270 Extract translatable strings from here-documents and use a temporary
11271 variable instead, so that xgettext can find them.
11272 * util/grub.d/10_kfreebsd.in: Likewise.
11273 * util/grub.d/10_linux.in: Likewise.
11274 * util/grub.d/20_linux_xen.in: Likewise.
11275
11276 * po/grub.d.sed: New file.
11277 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11278 arguments. Set c-format flags on all strings extracted from
11279 util/grub.d/ (xgettext refuses to include these itself for strings
11280 it extracted from a shell file, but these really are c-format).
11281
5318fe98
VS
112822010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11285 Avoid next pointing to nowhere.
11286
6c85b743
VS
112872010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11290 rather than assuming than rootblock is exactly in the middle.
11291 (grub_affs_label): Likewise.
11292
a2a08a35
VS
112932010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11296 reserved_first_sector to 0.
11297 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11298 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11299 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11300
7059d1ec
VS
113012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 Fix handling of UTF-16 UDF labels.
11304
11305 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11306 (read_string): .. here.
11307 (grub_udf_label): Use read_string.
11308
30aff4cb
BC
113092010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11310
11311 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11312 editor under argument scope.
11313 Reported by: Jordan Uggla
11314
5cf86f4b
VS
113152010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11318
32570200
CW
113192010-12-18 Colin Watson <cjwatson@ubuntu.com>
11320
11321 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11322 line, and other keys scroll an entire page (previous handling was
11323 for \r and \n to scroll a page and other keys to scroll two lines).
11324
e1dffcf2
VS
113252010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11328 Set ptrdest to correct get_physical_target_address rather than
11329 incorrect get_virtual_current_address.
11330
b04298cf 113312010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11332
11333 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11334 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11335
5367ecd3
CW
113362010-12-10 Colin Watson <cjwatson@ubuntu.com>
11337
11338 * .bzrignore: Ignore grub-core/rs_decoder.S.
11339
1fb430f8
CW
113402010-12-10 Colin Watson <cjwatson@ubuntu.com>
11341
11342 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11343 .mo/.mo.gz opening sequence to ...
11344 (grub_mofile_open_lang): ... here.
11345 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11346 * util/grub.d/00_header.in (grub_lang): Include country part of
11347 locale.
11348 Reported by: Mario Limonciello.
11349
a94a6671
RM
113502010-12-09 Robert Millan <rmh@gnu.org>
11351
11352 * NEWS: Document addition of ZFS support.
11353
24b7938b
CW
113542010-12-04 Colin Watson <cjwatson@ubuntu.com>
11355
11356 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11357 rather than `/ 2', as the latter requires -Wa,--divide which would
11358 require bumping our minimum binutils version.
11359
bddc3ef6
BC
113602010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11361
11362 * util/grub-script-check.c (main): Print script line number on
11363 error.
11364
bf78d5b2
RM
113652010-12-01 Robert Millan <rmh@gnu.org>
11366
11367 * grub-core/fs/zfs/zfs.c: New file.
11368 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11369 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11370 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11371 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11372
11373 * include/grub/zfs/dmu.h: Likewise.
11374 * include/grub/zfs/dmu_objset.h: Likewise.
11375 * include/grub/zfs/dnode.h: Likewise.
11376 * include/grub/zfs/dsl_dataset.h: Likewise.
11377 * include/grub/zfs/dsl_dir.h: Likewise.
11378 * include/grub/zfs/sa_impl.h: Likewise.
11379 * include/grub/zfs/spa.h: Likewise.
11380 * include/grub/zfs/uberblock_impl.h: Likewise.
11381 * include/grub/zfs/vdev_impl.h: Likewise.
11382 * include/grub/zfs/zap_impl.h: Likewise.
11383 * include/grub/zfs/zap_leaf.h: Likewise.
11384 * include/grub/zfs/zfs.h: Likewise.
11385 * include/grub/zfs/zfs_acl.h: Likewise.
11386 * include/grub/zfs/zfs_znode.h: Likewise.
11387 * include/grub/zfs/zil.h: Likewise.
11388 * include/grub/zfs/zio.h: Likewise.
11389 * include/grub/zfs/zio_checksum.h: Likewise.
11390
11391 * Makefile.util.def: Build ZFS into libgrubmods.
11392 * grub-core/Makefile.core.def: Build zfs.mod.
11393
3f0f3831
SJ
113942010-11-30 Szymon Janc <szymon@janc.net.pl>
11395
11396 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11397 variable.
11398 * grub-core/commands/wildcard.c (match_files): Likewise.
11399
3a4253b2
RM
114002010-11-30 Robert Millan <rmh@gnu.org>
11401
11402 * grub-core/loader/i386/bsd.c
11403 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11404 whether kernel is loaded using grub_loader_is_loaded(), rather
11405 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11406 certain error conditions.
11407
8c317b27
RM
114082010-11-30 Robert Millan <rmh@gnu.org>
11409
c5c9cd3e
RM
11410 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11411 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11412
49d3ab46
VS
114132010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 Avoid using tricks for initialising endian variables.
11416
11417 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11418 Make const.
11419 (GRUB_MOD_INIT): Don't byte-swap.
11420 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11421 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11422 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11423 (grub_swap_bytes32_compile_time): Likewise.
11424 (grub_cpu_to_le32_compile_time): Likewise.
11425 (grub_cpu_to_le16_compile_time): Likewise.
11426
f420a804
VS
114272010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * util/grub-setup.c (setup): Stop recommending --force. People who
11430 understand the dangers of blocklists are able to find this option
11431 anyway and the ones who don't shouldn't use it anyway.
11432
4e7db17b
RM
114332010-11-26 Robert Millan <rmh@gnu.org>
11434
11435 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11436 Update all users.
11437
9be57a0d
CW
114382010-11-26 Colin Watson <cjwatson@ubuntu.com>
11439
11440 Fix LVM-on-RAID probing.
11441
11442 * util/grub-probe.c (probe): Remember which disk was detected as
11443 RAID (perhaps an LVM physical volume). Use that disk's raidname
11444 rather than that of the top-level disk.
11445
2c7859b3 114462010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11447
d7647bb6
BC
11448 Fix cmdline argument quotes for setparams command of menuentry
11449 definitions.
7e623b0d
BC
11450
11451 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11452 quotes for arguments.
f866fe80 11453 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11454 grub_strchrsub function instead.
f866fe80 11455
7955bea0 11456 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11457
74f72a64
CW
114582010-11-24 Colin Watson <cjwatson@ubuntu.com>
11459
11460 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11461 effort by skipping "." and ".." entries up-front.
11462 Suggested by: Michael Lazarev.
11463
5a407278
CW
114642010-11-24 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11467 ldflags to ldadd, to fix link line ordering.
11468 (none_decompress): Likewise.
11469
3030d8ec
CW
114702010-11-24 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11473 platforms.
11474 (grub-emu-lite): Remove kern/emu/cache.S.
11475
b7fbac12
CW
114762010-11-23 Colin Watson <cjwatson@ubuntu.com>
11477
11478 * util/deviceiter.c (compare_devices): If the by-id link for a
11479 device couldn't be resolved, fall back to sorting by the by-id link
11480 rather than segfaulting.
11481 Reported and tested by: Daniel Mierswa.
11482
5225f328
CW
114832010-11-23 Colin Watson <cjwatson@ubuntu.com>
11484
11485 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11486 ldflags, to fix link line ordering.
11487
038b3ce8
CW
114882010-11-23 Colin Watson <cjwatson@ubuntu.com>
11489
11490 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11491 linkers are picky about this.
11492
bf16e98e
CW
114932010-11-23 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * grub-core/Makefile.am (command.lst): Adjust sed expression
11496 ordering so that extended and priority commands aren't treated as
11497 ordinary commands.
11498
7242bab6
CW
114992010-11-23 Colin Watson <cjwatson@ubuntu.com>
11500
11501 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11502 Remove byte-swapping function calls, which are not valid in
11503 structure initialisers.
11504 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11505 non-const.
11506 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11507 grub_gpt_partition_type_bios_boot.
11508
14e8b279
CW
115092010-11-22 Colin Watson <cjwatson@ubuntu.com>
11510
11511 Fix test program build on GNU/kFreeBSD.
11512
11513 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11514 $(LIBNVPAIR)' library dependencies.
11515
e6f63338 115162010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11517
11518 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11519
cf8ffc38
CW
115202010-11-22 Colin Watson <cjwatson@ubuntu.com>
11521
11522 * util/grub-install.in: Remove excessive quoting that broke
11523 installations to RAID devices.
11524
7f8b0fd7
VS
115252010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11528 bootloader version instead of 0.
11529
dfd240b1
VS
115302010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11533 warning.
11534
7b61e609
VS
115352010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11538 retrieve the metadat sector if size isn't known.
11539 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11540
9dfe92d0
RM
115412010-11-18 Robert Millan <rmh@gnu.org>
11542
11543 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11544 with grub_memcmp().
11545
41cc919e
VS
115462010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11549 arrow.
11550 Reported by: Jordan Uggla.
11551
1afcc914
VS
115522010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 Make better UTF compliant.
11555
11556 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11557 sequences as incorrect.
11558 (grub_is_valid_utf8): Likewise.
11559 (grub_utf8_to_ucs4): Likewise.
11560 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11561 (grub_ucs4_to_utf8_alloc): Likewise.
11562 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11563
f1808884
VS
115642010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 Make legacy_source behave like source.
11567
11568 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11569 grub_show_menu.
11570 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11571
24ec575b
CW
115722010-11-16 Colin Watson <cjwatson@debian.org>
11573
11574 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11575 (-Wunused implies -Wunused-parameter, but not vice versa).
11576
72b7c7aa
CW
115772010-11-16 Colin Watson <cjwatson@ubuntu.com>
11578
11579 * configure.ac: Make error messages less confusing by testing for
11580 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11581 accepted, but produces a diagnostic if something else is wrong).
11582
e98937aa
VS
115832010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11586 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11587 (now unused).
11588 (grub_keyboard_controller_init)
11589 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11590 read the initial state since controller isn't inited yet.
11591
f6bbabc3
VS
115922010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11595 allocate_regbeg may need to create new chunk header.
11596
22e7dbb2
VS
115972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 Fix quoting in legacy parser.
11600
11601 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11602 single quotes.
11603 (grub_legacy_parse): Likewise.
11604 Reported by: Jordan Uggla.
11605 Tested by: Jordan Uggla.
11606
03f80960
VS
116072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 Don't add -lgcc on i386 and x86_64.
11610
11611 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11612 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11613 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11614
779dc15b
VS
116152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 * configure.ac: Add -Wno-trampolines when supported.
11618
d20a3b37
MV
116192010-11-14 Modestas Vainius <modax@debian.org>
11620
11621 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11622 fakeraid.
11623
e5360933
GC
116242010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11625
11626 Add generic logical block size support for UDF.
11627
11628 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11629 (GRUB_UDF_BLKSZ): Removed.
11630 (struct grub_udf_data): New field "lbshift" to hold the logical block
11631 size of the file system in log2 format. All users updated.
11632 (sblocklist): Change type to unsigned.
11633 (grub_udf_mount): Change type of "sblklist" to unsigned.
11634 Move AVDP search before VRS recognition, because the latter requires
11635 knowledge of the logical block size, which is detected during the
11636 former.
11637 Detect and validate logical block size during AVDP search, adding
11638 support for block sizes 512, 1024 and 4096.
11639 Make VRS recognition independent of block size.
11640
cb0229c5
GC
116412010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11642
11643 Properly handle deleted files on UDF.
11644
11645 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11646 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11647 set.
11648
406858a8
GC
116492010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11650
11651 Support reading files larger than 2 GiB.
11652
11653 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11654 "offset" to grub_off_t.
11655 (grub_udf_read_file): Likewise for parameter "pos".
11656
130da6a7
VS
116572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11660 unavailable.
11661 (Simple configuration): Refer to Changes from GRUB Legacy about
11662 save_env availability.
11663
65e93f6b
VS
116642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * util/grub-install.in: Ignore empty partition table detection
11667 instead of trying to include part_ module.
11668
1fd08bf1
VS
116692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11672 LVM on RAID support.
11673
de1a024f
VS
116742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 Properly define WORDS_BIGENDIAN in wrapped environments.
11677
11678 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11679 definition.
11680 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11681
11682 Reported by: Manoel Rebelo Abranches.
11683 Tested by: Manoel Rebelo Abranches.
11684
bc5dd0b9
VS
116852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * util/grub-mkconfig.in: Fix quoting.
11688
58c184be
VS
116892010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 Support big ext2 files.
11692
11693 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11694 (grub_ext2_read_block): Support triple indirect blocks.
11695 (grub_ext2_read_file): Use 64-bit types and read size_high.
11696 (grub_ext2_open): Read size_high.
11697 Reported by: Ximin Luo.
11698 Tested by: Manoel Rebelo Abranches.
11699
5f0c02b3
VS
117002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * util/grub-install.in: Handle filenames containing spaces.
11703 Reported by: Jordan Uggla.
11704 Tested by: Jordan Uggla.
11705
4417aae6
VS
117062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * util/grub-mkconfig.in (grub_script_check): New variable.
11709 Use grub_script_check instead of grub-script-check.
11710 Reported by: Barry Jackson.
11711
7625a68e
VS
117122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * docs/grub.texi (menu): Correct the order.
11715 Reported by: D. Hugh Redelmeier.
11716
10001ac5
VS
117172010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11720 jump.
11721
9c4cf53b
MRA
117222010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11723
10001ac5
VS
11724 * include/grub/elfload.h (grub_elf32_size): New parameter.
11725 All users updated.
9c4cf53b
MRA
11726 Return maximum segments alignment.
11727 (grub_elf64_size): Likewise.
11728 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11729 Return maximum segments alignment.
11730 (grub_elf64_size): Likewise.
11731 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11732 (grub_linux_claimmap_iterate): New function. Uses the
11733 "available" property in the "memory" node for memory allocation
11734 for kernel in the PowerPC loader.
9c4cf53b
MRA
11735 (grub_linux_load32): Correctly find linux entry point offset.
11736 (grub_linux_load64): Likewise.
11737
d2bf06bf
RM
117382010-11-07 Robert Millan <rmh@gnu.org>
11739
11740 On mips-yeeloong, build with -march=loongson2f when this flag is
11741 available (GCC >= 4.4).
11742 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11743 `-march=mips3'.
11744 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11745 or otherwise add -march=mips3.
11746
898c99a2
BC
117472010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11748
87220a68
BC
11749 Suppress shell expansion on echo '*' and echo "*" like cases.
11750 Reported by: Jordan Uggla.
898c99a2
BC
11751
11752 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11753 string arguments before shell expansion.
11754 * tests/grub_cmd_echo.in: New testcases.
11755
4f9b406a
RM
117562010-11-07 Robert Millan <rmh@gnu.org>
11757
11758 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11759 transition.
11760
80c6d25e
VS
117612010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * grub-core/kern/emu/hostdisk.c
11764 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11765
4a1a0153
VS
117662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11769 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11770 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11771
34706ddc
VS
117722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11775
6972dea9
VS
117762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/grub-install.in: Replace useless recomendation to pass
11779 --modules with a recomendation to report a bug.
11780
9c693bd6
VS
117812010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 Properly register serial terminfo.
11784 Reported by: Jordan Uggla
11785
11786 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11787 const.
11788 (grub_serial_terminfo_output_template): Likewise.
11789 (grub_cmd_serial): Register "serial" with terminfo.
11790 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11791 grub_serial_terminfo_output.
11792
6c9e4c0c
RM
117932010-11-05 Robert Millan <rmh@gnu.org>
11794
11795 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11796 needed).
11797
b9b3839f
RM
117982010-11-05 Robert Millan <rmh@gnu.org>
11799
11800 On Yeeloong, pass machine type information to Linux.
11801
11802 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11803 (LOONGSON_MACHTYPE): New macro, set to
11804 "machtype=lemote-yeeloong-2f-8.9inches".
11805 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11806 additional argument to Linux.
11807
1a3aaff4
RM
118082010-11-04 Robert Millan <rmh@gnu.org>
11809
11810 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11811 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11812 (its SATA disks are detected as slaveless IDE master drives on
11813 kFreeBSD).
11814 Reported by Carsten Aulbert.
11815
a75f4f62
CW
118162010-11-02 Colin Watson <cjwatson@ubuntu.com>
11817
11818 * util/bin2h.c (main): Fix spelling error in generated output.
11819
33b4b0c6
GS
118202010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11821
11822 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11823
2b36fbf4
VS
118242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11827 vga= option is supplied.
11828
74aaf558
VS
118292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11832 * util/grub.d/10_kfreebsd.in: Likewise.
11833 * util/grub.d/10_linux.in: Likewise.
11834 * util/grub.d/20_linux_xen.in: Likewise.
11835
6428dec3
VS
118362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11839 argument as an argument to no-argument option.
11840
f8729d98
VS
118412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * util/grub.d/10_linux.in: Add missing load_video with explicit
11844 GRUB_GFXPAYLOAD_LINUX.
11845
89d68fa6
VS
118462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11849
3a1197cd
VS
118502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11853 elements with invlid index.
11854 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11855 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11856 members.
11857 * include/grub/raid.h (grub_raid_member): New struct.
11858 (grub_raid_array): Transform devices and start_sector into usage of
11859 grub_raid_member. All users updated
11860 (allocated_devs): New member.
11861
71574288
VS
118622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11865 is modified
11866
8d40ec65
BC
118672010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11868
11869 NetBSD build fix for getline function conflict from gnulib.
11870
11871 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11872 components that depend on gnulib headers.
11873 (libgrubmods.a): Renamed from earlier libgrub.a.
11874 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11875
95b9257e
VS
118762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11879 install rather than creating a broken install.
11880
26c53dc6
VS
118812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11882
11883 * util/grub-setup.c (argp): Remove misleading example of installing to
11884 a partition.
11885
4171b3c5
VS
118862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * util/grub-setup.c (setup): Clarify the error message.
11889
18568d18
VS
118902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11893
4f6a2e21
VS
118942010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 * grub-core/kern/emu/misc.c
11897 (grub_make_system_path_relative_to_its_root)
11898 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11899
119002010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11901
11902 * grub-core/kern/emu/misc.c
11903 (grub_make_system_path_relative_to_its_root): Revert r2882.
11904
e138c458
VS
119052010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11908 useless field head. All users updated.
11909 (free_subchunk): Correct handling of IN_REGION subchunk.
11910
0cbcdf0e
CW
119112010-10-22 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11914 (Supported kernels): Likewise.
11915
b65ea155
GS
119162010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11917
11918 Make mktemp invocations portable.
11919
11920 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11921 exit if mktemp fails.
11922 * tests/grub_script_blockarg.in: Likewise.
11923 * tests/partmap_test.in: Likewise.
11924 * tests/util/grub-shell-tester.in: Likewise.
11925 * tests/util/grub-shell.in: Likewise.
11926 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11927 * Makefile.am: Likewise, and chain shell commands with `&&'
11928 instead of ';'.
11929 * util/grub-mkrescue.in: Use the same explicit template as above, and
11930 exit if mktemp fails.
11931
05f43cdd
BC
119322010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11933
11934 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11935 Linux kernel, reported by Dennis Schridde.
11936
800e6a9b
SJ
119372010-10-17 Szymon Janc <szymon@janc.net.pl>
11938
11939 * grub-core/normal/auth.c (grub_auth_check_authentication):
11940 Set-but-not-used variable removed.
11941
d82df574
VS
119422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11945 32-bit linux protocol.
11946
7bced458
VS
119472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11950 cursor shape for sanity.
11951
5b027690
VS
119522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * docs/grub.texi (Installation): Document buggy BIOS install.
11955
ba5f65cf
VS
119562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11957
11958 * docs/grub.texi (Installation): Indent.
11959
fdf2ec9c
VS
119602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * util/grub-setup.c (setup): New parameter allow_floppy.
11963 (arguments): New member allow_floppy.
11964 (argp_parser): Handle --allow-floppy.
11965 (main): Pass allow_floppy.
11966 * util/grub-install.in: New option --allow-floppy passed though to
11967 grub-setup.
11968
861dfd4c
VS
119692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * util/grub-install.in: Handle partitionless disks.
11972
f77a8c24
VS
119732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 * util/grub-setup.c (setup): Don't clean blocklists before readability
11976 verfification.
11977
27d9ee32
VS
119782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 * docs/grub.texi (Installation): Document embedding zone. Remove
11981 obsolete grub-install example.
11982
6bdda8f8
SJ
119832010-10-16 Szymon Janc <szymon@janc.net.pl>
11984
11985 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11986 Set-but-not-used variable ifdef'ed.
11987 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11988 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11989 variable removed.
11990 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11991 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11992 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11993 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11994 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11995 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11996 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11997 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11998 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11999 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12000 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12001 Likewise.
12002
e19b016b
VS
120032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12006 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12007 enum value.
12008
6c8d3002
VS
120092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12012 synonym to _S5_. Needed for some DSDTs.
12013
c32b51c9
VS
120142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 Userspace ACPI parser debugging.
12017
12018 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12019 headers and add relevant defines. Don't include standard headers.
12020 (main) [GRUB_DSDT_TEST]: New function.
12021 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12022 Don't declare functions.
12023
fbfbeb39
VS
120242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 Remove dead grub_efi_mm_fini.
12027
12028 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12029 (ALLOCATED_PAGES_SIZE): Likewise.
12030 (MAX_ALLOCATED_PAGES): Likewise.
12031 (allocated_pages): Likewise.
12032 (grub_efi_allocate_pages): Don't record allocated pages.
12033 (grub_efi_free_pages): Likewise.
12034 (grub_efi_mm_init): Likewise.
12035 (grub_efi_mm_fini): Removed.
12036
65f7ed7c
VS
120372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12040 (grub_efi_mm_init): Take into account the memory map size increase.
12041
24977b44
VS
120422010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12045 (serial_hw_put): Wait based on real time rather than port reads. Don't
12046 roken ports.
12047 * include/grub/serial.h (grub_serial_port): New field broken.
12048
1eb01cd2
RM
120492010-10-16 Robert Millan <rmh@gnu.org>
12050
12051 * grub-core/kern/emu/misc.c
12052 (grub_make_system_path_relative_to_its_root): Fix premature return
12053 when processing non-root ZFS filesystems.
5f8b440b 12054 Reported by Sergio Talens-Oliag.
1eb01cd2 12055
2d5fed60
RM
120562010-10-15 Robert Millan <rmh@gnu.org>
12057
12058 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12059 guarantee compressed ones are processed first.
12060
d0f4c1ea
VS
120612010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12064 grub_efiemu_autocore.
12065
d87c681f
VS
120662010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12069 rather than 0x1b.
12070 (grub_console_getkey): Use correct jae opcode rather than ja.
12071
219b3564
RM
120722010-10-12 Robert Millan <rmh@gnu.org>
12073
12074 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12075 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12076 variable. All references updated.
12077
12078 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12079
20c6bb7e
VS
120802010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 Correctly distinguish mdraid flavours.
12083
12084 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12085 (insert_array): New argument raid.
12086 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12087 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12088 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12089
74baff84
VS
120902010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12093 handling of special keys.
12094
3ef068df 120952010-10-02 Aleš Nesrsta <starous@volny.cz>
12096
c7980ad9
VS
12097 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12098 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12099
a9455194 121002010-10-02 Aleš Nesrsta <starous@volny.cz>
12101
c7980ad9
VS
12102 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12103 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12104 users updated.
a9455194 12105 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12106 Use right endpoint when querying descriptor.
a9455194 12107
441cfe65
VS
121082010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 Clear out 0x80 color bit on EFI.
12111 Tested by: decoder
12112 Reported by: decoder and meta tech.
12113
12114 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12115 (grub_console_setcolorstate): Clear out 0x80 bit.
12116 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12117 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12118 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12119
bf26bcc4
VS
121202010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12123 Set to "auto".
12124
6e3c515d
VS
121252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12128 mo_file after freeing.
12129
e6d983ba
VS
121302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12133
74ccb5b5
VS
121342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12137 flags.
12138
17821956
VS
121392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12142 usage.
12143
ee74fa48
VS
121442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12147
12148 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12149 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12150 and terminfo.h when needed.
12151 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12152 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12153 (terminfo): Enable only on terminfokernel.
12154 (extcmd): Likewise.
12155 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12156 * include/grub/lib/arg.h: Likewise.
12157 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12158 incorrect usage of ->.
12159
aa438e68
VS
121602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12163 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12164
57994012
VS
121652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 Fix coreboot compilation.
12168
12169 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12170 Take VBE info into account even if only text is supported.
12171 (fill_vbe_info): Take into account the case when only VGA text
12172 is supported.
12173 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12174 on coreboot, multiboot and qemu.
12175
2a406611
VS
121762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12179 debug messages.
12180 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12181
d33613fc
VS
121822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12185 parameters.
12186
44a1b432
VS
121872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12190 if they were BSD-style.
12191
edde54e6
VS
121922010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/boot/i386/pc/lnxboot.S: Replace
12195 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12196 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12197
b65830fa
VS
121982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12199
12200 Write embedding zone using Reed-Solomon.
12201
12202 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12203 * grub-core/Makefile.am (rs_decoder.S): New target.
12204 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12205 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12206 (multiboot): Move to RS part.
12207 (post_reed_solomon): New label.
12208 (grub_boot_drive): Move to non-RS part since it's modified in memory
12209 on boot.
12210 Include rs_decoder.S.
12211 * grub-core/lib/reed_solomon.c: New file.
12212 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12213 New definition.
12214 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12215 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12216 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12217 * include/grub/partition.h (grub_partition_map): Change prototype of
12218 embed to allow returning additional sectors.
12219 * include/grub/reed_solomon.h: New file.
12220 * util/grub-setup.c (setup): Handle Reed-Solomon.
12221
0b4b227f
CW
122222010-09-28 Colin Watson <cjwatson@ubuntu.com>
12223
12224 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12225 i386 and x86-64 definedness tests.
12226
f772623b
YB
122272010-09-27 Yves Blusseau <blusseau@zetam.org>
12228
12229 Fix generation of kernel_syms.lst
12230
12231 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12232 ASM_PREFIX
12233
8e57a6ca
RM
122342010-09-26 Robert Millan <rmh@gnu.org>
12235
12236 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12237
12238 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12239 the pool is an array of devices, iterate through it and return the
12240 first device that passes a stat() test (instead of blindly returning
12241 the first one).
12242
f9130836
RM
122432010-09-26 Robert Millan <rmh@gnu.org>
12244
12245 Build fixes for GNU/kFreeBSD.
12246
12247 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12248 to programs that require ZFS conversion.
12249 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12250 kernels that don't have FLOPPY_MAJOR.
12251
96510faf
BC
122522010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12253
12254 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12255
449333eb
BC
122562010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12257
12258 Fix grub-emu build.
12259
12260 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12261 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12262 mdraid09 and mdraid1x.
12263
e1fd1939
CW
122642010-09-24 Colin Watson <cjwatson@ubuntu.com>
12265
12266 Re-enable grub-extras.
12267
12268 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12269 avoid confusing Automake. Run autogen only twice, once for the top
12270 level and once for grub-core. Add Makefile.util.def and
12271 Makefile.core.def from extra modules to the appropriate autogen
12272 invocations. If Makefile.common exists in an extra module, include
12273 it in both Makefile.util.am and grub-core/Makefile.core.am;
12274 similarly, include any Makefile.util.common file in Makefile.util.am
12275 and any Makefile.core.common file in grub-core/Makefile.core.am.
12276 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12277 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12278 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12279 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12280
12281 * gentpl.py (gvar_add): Turn GVARS into a set.
12282 (global_variable_initializers): Sort global variables on output.
12283 (vars_init): New function.
12284 (first_time): Likewise.
12285 (library): Ensure that non-global variable initialisations are
12286 emitted before the first time we emit code for a library block.
12287 Append to variables rather than setting them. Only emit
12288 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12289 each conditional path.
12290 (program): installdir() emits an Autogen macro, so must be passed to
12291 var_add rather than gvar_add.
12292 (data): Likewise.
12293 (script): Likewise.
12294 (rules): New function, centralising handling for different target
12295 types. Set up Guile association lists for first_time and vars_init,
12296 and send most output to a diversion so that variable initialisations
12297 can be emitted first.
12298 (module_rules): Use new rules function.
12299 (kernel_rules): Likewise.
12300 (image_rules): Likewise.
12301 (library_rules): Likewise.
12302 (program_rules): Likewise.
12303 (script_rules): Likewise.
12304 (data_rules): Likewise.
12305
12306 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12307
12308 * .bzrignore: Add contrib and grub-core/contrib. Remove
12309 grub-core/Makefile.gcry.am.
12310
1d12cf29
YB
123112010-09-24 Yves Blusseau <blusseau@zetam.org>
12312
12313 * grub-core/lib/LzFind.c: Add missing include.
12314 * grub-core/lib/LzmaEnc.c: Likewise.
12315 * grub-core/script/lexer.c: Likewise.
12316 * grub-core/script/yylex.l: Likewise.
12317 * util/grub-macho2img.c: Likewise.
12318 * util/grub-menulst2cfg.c: Likewise.
12319 * util/grub-mklayout.c: Likewise.
12320 * util/grub-mkpasswd-pbkdf2.c
12321 * util/grub-mkrelpath.c: Likewise.
12322 * util/resolve.c: Likewise.
12323
dd363028
BC
123242010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12325
12326 * Makefile.util.def (example_unit_test): Add
12327 grub-core/gnulib/libgnu.a.
12328
f5a109e2
GS
123292010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12330
12331 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12332
6d0fa83c
VS
123332010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Support xz compression on yeeloong.
12336
12337 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12338 * configure.ac: Check for LZMA.
12339 * grub-core/Makefile.core.def (xz_decompress): New target.
12340 (none_decompress): Likewise.
12341 * grub-core/boot/decompressor/minilib.c: New file.
12342 * grub-core/boot/decompressor/none.c: Likewise.
12343 * grub-core/boot/decompressor/xz.c: Likewise.
12344 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12345 * grub-core/kern/mips/cache_flush.S: Likewise.
12346 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12347 * grub-core/kern/mips/startup.S: Move first stage to ...
12348 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12349 nomacro.
12350 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12351 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12352 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12353 Allocate statically.
12354 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12355 Allocate statically or use scratch. Don't check CRC32.
12356 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12357 Allocate statically. Don't check CRC32.
12358 * include/grub/decompressor.h: New file.
12359 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12360 Removed.
12361 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12362 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12363 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12364 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12365 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12366 * util/grub-mkimage.c (grub_compression_t): New type.
12367 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12368 (image_target_desc): New field default_compression.
12369 (image_targets): Adjust yeeloong targets.
12370 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12371 (compress_kernel): New parameter comp.
12372 (generate_image): Likewise. Handle new compression case.
12373 (options): New option --compression
12374 (help): Likewise.
12375 (main): Handle new option.
12376
1b655af6
GS
123772010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12378
12379 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12380
8f03f0b5
CW
123812010-09-22 Colin Watson <cjwatson@ubuntu.com>
12382
12383 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12384 typo in __i386__ conditional.
12385
7835dfd3
VS
123862010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12389 include.
12390
e255597e
VS
123912010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12392
6d0fa83c 12393 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12394
12395 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12396 new tags as supported.
12397 (acpiv2_size): New function.
12398 (grub_multiboot_get_mbi_size): Take new tags into account.
12399 (grub_multiboot_make_mbi): Add new tags.
12400 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12401
6cc14051 124022010-09-21 Aleš Nesrsta <starous@volny.cz>
12403
12404 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12405 Added missing configuration of USB device.
12406
df7769d8
CW
124072010-09-21 Colin Watson <cjwatson@ubuntu.com>
12408
12409 * grub-core/normal/menu_entry.c (run): Make sure we always return
12410 a value.
12411
b031012d
CW
124122010-09-21 Colin Watson <cjwatson@ubuntu.com>
12413
12414 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12415 NumberOfPages is UINT64 according to the UEFI specification, not
12416 UINTN. Fix printf format.
12417
174de8f3
CW
124182010-09-21 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12421 `err' to grub_usb_err_t.
12422 Reported and tested by: KESHAV P.R.
12423
d7dbe923
CW
124242010-09-21 Colin Watson <cjwatson@ubuntu.com>
12425
12426 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12427 tpart non-const, so that we can assign to it. (Since this is a
12428 typedef, the constness refers to the pointer rather than what it
12429 points to.)
12430
8d5e2af3
CW
124312010-09-21 Colin Watson <cjwatson@ubuntu.com>
12432
12433 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12434 $(top_srcdir)/grub-core/gnulib as well as
12435 $(top_builddir)/grub-core/gnulib.
12436 Reported by: KESHAV P.R.
12437
5c527783
CW
124382010-09-21 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * util/grub-install.in: Fix the bootloader ID option to be
12441 consistently --bootloader-id, not --bootloader_id.
12442 Reported by: KESHAV P.R.
12443
d309a16e
CW
124442010-09-21 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12447 check hash checksum." consistently translatable.
12448
b830cd16
YB
124492010-09-21 Yves Blusseau <blusseau@zetam.org>
12450
12451 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12452 $(top_builddir).
12453
c4fe27a8
CW
124542010-09-21 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12457 (GRUB_MOD_INIT): Register sha1sum command.
12458 (GRUB_MOD_FINI): Unregister sha1sum command.
12459
a4c1d277
YB
124602010-09-21 Yves Blusseau <blusseau@zetam.org>
12461
12462 Keep boot and grub directory names in sync with utils scripts
12463
12464 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12465 * config.h.in: Add previous macros.
12466 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12467 * util/grub-install.in: Use $bootdir and $grubdir variables.
12468
4eff79d2
CW
124692010-09-21 Colin Watson <cjwatson@ubuntu.com>
12470
12471 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12472 convert partition names to disk names if the new `convert' parameter
12473 is set.
12474 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12475 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12476 disk in its own right. This can happen with Xen disk images.
12477
934d7e44
YB
124782010-09-21 Yves Blusseau <blusseau@zetam.org>
12479
12480 * util/grub-editenv.c: Update strings to avoid warnings when generating
12481 grub.pot file.
12482 * util/grub-setup.c: Likewise.
934d7e44 12483
df3367cc
VS
124842010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 * configure.ac: Change version to 1.99~beta0.
12487
77a94e98
VS
124882010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12491 Add BADRAM.
12492 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12493 Likewise.
12494 * include/multiboot.h: Resynced with specification.
12495 * include/multiboot2.h: Likewise.
12496
269004c1
CW
124972010-09-21 Colin Watson <cjwatson@ubuntu.com>
12498
12499 Fix po directory handling.
12500
12501 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12502 * grub-core/gnulib/Makefile.am: Import gettext module.
12503 * m4/gnulib-cache.m4: Likewise.
12504 * m4/gnulib-comp.m4: Likewise.
12505 * m4/gettext.m4: New file, from gnulib.
12506 * m4/glibc2.m4: Likewise.
12507 * m4/iconv.m4: Likewise.
12508 * m4/intdiv0.m4: Likewise.
12509 * m4/intl.m4: Likewise.
12510 * m4/intldir.m4: Likewise.
12511 * m4/intlmacosx.m4: Likewise.
12512 * m4/intmax.m4: Likewise.
12513 * m4/inttypes-pri.m4: Likewise.
12514 * m4/lcmessage.m4: Likewise.
12515 * m4/lib-ld.m4: Likewise.
12516 * m4/lib-link.m4: Likewise.
12517 * m4/lib-prefix.m4: Likewise.
12518 * m4/lock.m4: Likewise.
12519 * m4/nls.m4: Likewise.
12520 * m4/po.m4: Likewise.
12521 * m4/printf-posix.m4: Likewise.
12522 * m4/progtest.m4: Likewise.
12523 * m4/threadlib.m4: Likewise.
12524 * m4/uintmax_t.m4: Likewise.
12525 * m4/visibility.m4: Likewise.
12526 * po/Makefile.am: Remove.
12527 * po/Makefile.in.in: New file, from gettext.
12528 ($(DOMAIN).pot-update): Support POTFILES-shell.
12529 * po/Makevars: New file.
12530 * po/POTFILES-shell: Rename to ...
12531 * po/POTFILES-shell.in: ... this. Update.
12532 * po/POTFILES: Rename to ...
12533 * po/POTFILES.in: ... this. Update.
12534 * po/Rules-quot: New file, from gettext.
12535 * po/boldquot.sed: Likewise.
12536 * po/en@boldquot.header: Likewise.
12537 * po/en@quot.header: Likewise.
12538 * po/insert-header.sin: Likewise.
12539 * po/quot.sed: Likewise.
12540 * po/remove-potcdate.sin: Likewise.
12541
3e0fa5d0
VS
125422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12545
ade9bd66
VS
125462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * util/grub.d/20_linux_xen.in: Use submenus.
12549
fc55cc4c
VS
125502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 Support submenus.
12553
12554 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12555 parameter submenu. All users updated.
12556 * grub-core/normal/main.c (free_menu): Rename to ...
12557 (grub_normal_free_menu): ... this. Made global.
12558 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12559 if requested.
12560 * grub-core/normal/menu_entry.c (screen): New field submenu.
12561 (make_screen): Set submenu.
12562 (run): Open new context if requested.
12563 * include/grub/menu.h (grub_menu_entry): New field submenu.
12564 * include/grub/normal.h (grub_normal_free_menu): New proto.
12565
600cedf7
VS
125662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12567
12568 Menu entries extractor.
12569
12570 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12571 variants.
12572 (GRUB_MOD_INIT): Register new variants.
12573 (GRUB_MOD_FINI): Unregister new variants.
12574 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12575 into grub_cmd_legacy_source.
12576 (grub_cmd_legacy_source): Implement extractor variants.
12577 (GRUB_MOD_INIT): Register new variants.
12578 (GRUB_MOD_FINI): Unregister new variants.
12579 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12580 as an extractor.
12581 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12582 search as an extractor.
12583 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12584 test as an extractor.
12585 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12586 as an extractor.
12587 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12588 (grub_env_new_context): New function.
12589 (grub_env_context_open): Likewise.
12590 (grub_env_extractor_open): Likewise.
12591 (grub_env_extractor_close): Likewise.
12592 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12593 grub_extractor_level.
12594 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12595 * include/grub/env.h (grub_env_extractor_open): New proto.
12596 (grub_env_extractor_close): Likewise.
12597 * include/grub/normal.h (grub_extractor_level): New external variable.
12598
7bda3a87
VS
125992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Make cutmem accept a region specification.
12602 Suggested by: Samuel Thibault
12603
12604 * grub-core/mmap/mmap.c (parsemem): New function.
12605 (grub_cmd_cutmem): Handle new arguments.
12606
2ea57f88
VS
126072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 New command cutmem.
12610
12611 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12612 (GRUB_MOD_INIT): Register new command.
12613 (GRUB_MOD_FINI): Unregister new command.
12614
74342e31
VS
126152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 Support some annoying BSD and Minix subpartitions.
12618
12619 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12620 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12621 Properly handle concatenation.
12622 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12623 * grub-core/normal/completion.c (iterate_partition): Likewise.
12624 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12625 contain partition. All users updated.
12626 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12627 struct.
12628 (grub_openbsdlabel_partition_map): Likewise.
12629 (bsdlabel_partition_map_iterate): Rename to ..
12630 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12631 (bsdlabel_partition_map_iterate): New function.
12632 (netopenbsdlabel_partition_map_iterate): Likewise.
12633 (netbsdlabel_partition_map_iterate): Likewise.
12634 (openbsdlabel_partition_map_iterate): Likewise.
12635 (GRUB_MOD_INIT): Register new partmaps.
12636 (GRUB_MOD_FINI): Unregister new partmaps.
12637 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12638 (grub_partition_msdos_iterate): ... this. All users updated.
12639 Don't support embedding other than in a minix partition.
12640 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12641 proto.
12642 * include/grub/partition.h (grub_partition): New field msdostype.
12643 * util/grub-install.in: Handle openbsd and netbsd types being in
12644 part_bsd module.
12645
1e8d555b
VS
126462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12649
12650 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12651 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12652 (mdraid09): ... this.
12653 (mdraid1x): New module.
12654 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12655 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12656
899d8af4
VS
126572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12660 vsprintf.
12661
40901acd
CW
126622010-09-20 Colin Watson <cjwatson@ubuntu.com>
12663
12664 * grub-core/commands/efi/lsefimmap.c: Correct header.
12665 * NEWS: Update.
12666
dfe3b247
CW
126672010-09-20 Colin Watson <cjwatson@ubuntu.com>
12668
12669 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12670 as printf format strings; the translations might contain '%' which
12671 could cause a crash.
12672 (main): Likewise.
12673 * util/grub-fstest.c (argp_parser): Likewise.
12674 * util/grub-setup.c (argp_parser): Likewise.
12675 (main): Likewise.
12676
3286a4b4
VS
126772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Use argp in grub-fstest.
12680
12681 * util/grub-fstest.c: Don't include getopt.h.
12682 Include argp.h.
12683 (root): New variable.
12684 (args_count): Likewise.
12685 (nparm): Likewise.
12686 (num_disks): Likewise.
12687 (images): Likewise.
12688 (cmd): Likewise.
12689 (debug_str): Likewise.
12690 (args): Likewise.
12691 (options): Transformed to argp.
12692 (usage): Removed.
12693 (main): Split argument parsing into ...
12694 (argp_parser): ... this. Changed to argp format.
12695 (argp): New variable.
12696 (main): Use argp_parse.
12697
3dccbe4b
TG
126982010-09-20 Tristan Gingold <gingold@free.fr>
126992010-09-20 Robert Millan <rmh.grub@aybabtu.com>
127002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/commands/efi/lsefimmap.c: New file.
12703 * grub-core/Makefile.core.def (lsefimmap): New module.
12704 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12705
38c259a7
VS
127062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 Pause the execution (10s max) if any errors are displayed so the user
12709 has a chance to see them.
12710
12711 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12712 (grub_print_error): Increment grub_err_printed_errors.
12713 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12714 execution if any errors were displayed.
12715 (show_menu): Remove old code for pause.
12716 * grub-core/normal/menu_entry.c (run): Likewise.
12717 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12718 users updated.
12719 (grub_normal_get_char_counter): Likewise.
12720 * include/grub/err.h (grub_err_printed_errors): New external variable.
12721 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12722
f218b09c
VS
127232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 Support multiboot VBE info.
12726
12727 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12728 Take VBE info into account.
12729 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12730 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12731 Call fill_vbe_info when appropriate.
12732 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12733 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12734 as supported.
12735 (grub_multiboot_get_mbi_size): Take new tags into account.
12736 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12737 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12738 Call fill_vbe_tag when appropriate.
12739 (grub_multiboot_make_mbi): Properly align tags.
12740 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12741 function.
12742 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12743 proto.
12744 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12745
a9cc5438
VS
127462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 Suport manual terminal geometry specification.
12749
12750 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12751 Save state in grub_ofconsole_terminfo_output.
12752 (grub_ofconsole_term): Use grub_terminfo_getwh.
12753 (grub_ofconsole_getwh): Removed.
12754 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12755 (grub_serial_term): Use grub_terminfo_getwh.
12756 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12757 (options): New struct.
12758 (OPTION_*): New enum.
12759 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12760 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12761 width and height.
12762 (grub_terminfo_getwh): New proto.
12763 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12764
1a8fed20
VS
127652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 Handle legacy "terminal" command.
12768
12769 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12770 and FLAG_TERMINAL.
12771 (legacy_commands): Add terminal and title.
12772 (grub_legacy_parse): Handle terminal. Simplify title handling.
12773
41e9c57d
VS
127742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12777 parameters overflow.
12778
61c874c5
CW
127792010-09-20 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12782 widthspec.h.
12783
12784 * docs/grub.texi (Shell-like scripting): Document `!'.
12785 (Network): Simplify using new i386-pc-pxe format. Mention
12786 grub-mknetdir.
12787
12788 * NEWS: Update.
12789
943682b4
CW
127902010-09-20 Colin Watson <cjwatson@ubuntu.com>
12791
12792 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12793 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12794 when needed.
12795
6d3d698d
CW
127962010-09-20 Colin Watson <cjwatson@ubuntu.com>
12797
12798 * grub-core/commands/efi/lsefisystab.c: Correct header.
12799 * grub-core/commands/efi/lssal.c: Likewise.
12800 * grub-core/commands/testload.c: Likewise.
12801
c982589f
CW
128022010-09-20 Colin Watson <cjwatson@ubuntu.com>
12803
12804 * util/grub-mkrescue.in: Add explicit root argument to --set to
12805 prevent the UUID being interpreted as an argument to --set (matches
12806 previous change to prepare_grub_to_access_device).
12807
a63c31b6
CW
128082010-09-20 Colin Watson <cjwatson@ubuntu.com>
12809
12810 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12811 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12812 the verbosity of later #ifs.
12813 (find_partition_start): Define this function on FreeBSD too.
12814 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12815 function.
12816 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12817 on FreeBSD.
12818
6439b8ee
YB
128192010-09-20 Yves Blusseau <blusseau@zetam.org>
12820
12821 * util/grub-editenv.c: Use argp instead of getopt.
12822
c5930ec8
YB
128232010-09-20 Yves Blusseau <blusseau@zetam.org>
12824
12825 * util/grub-setup.c: Use argp instead of getopt.
12826
15c69261
YB
128272010-09-20 Yves Blusseau <blusseau@zetam.org>
12828
12829 Use gnulib-tool to create gnulib source files.
12830
12831 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12832 grub-core/gnulib directories
12833 * .bzignore: Add **/.deps and autogenerated gnulib files
12834 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12835 of gnulib macros, add grub-core/gnulib/Makefile
12836 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12837 include m4 directory to aclocal.
12838 * Makefile.util.def: Remove direct compilation of gnulib source files
12839 and use the new grub-core/gnulib/libgnu.a.
12840 * build-aux/config.rpath: move config.rpath from top directory to
12841 build-aux
12842 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12843 in gnulib headers
12844 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12845 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12846 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12847 header.
12848 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12849 string.
12850
e511c9f5
YB
128512010-09-20 Yves Blusseau <blusseau@zetam.org>
12852
12853 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12854 grub-core/genmod.sh and grub-core/gensyminfo.sh
12855
c2dede05
BC
128562010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12857
12858 Add a test for echo command options.
12859
12860 * tests/grub_cmd_echo.in: New test.
12861 * Makefile.util.def: Rules for new test.
12862
c55f5018
SJ
128632010-09-20 Szymon Janc <szymon@janc.net.pl>
12864
12865 Remove crc.mod and move crc command to hashsum.mod.
12866 Remove lib/crc.c - users updated to use gcrypt implementation.
12867
12868 * grub-core/commands/crc.c: Removed.
12869 * grub-core/Makefile.core.def (crc): Module removed.
12870 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12871 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12872 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12873 * grub-core/lib/crc.c: Removed.
12874 * include/grub/lib/crc.h: Removed.
12875 * Makefile.util.def (crc): Remove lib/crc.c
12876 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12877 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12878 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12879 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12880 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12881 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12882
e0337366
VS
128832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12886
742f9232
VS
128872010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 Split config.h for util and core.
12890
12891 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12892 (ADDR32): Likewise.
12893 (DATA32): Likewise.
12894 (BSS_START_SYMBOL): Likewise.
12895 (END_SYMBOL): Likewise.
12896 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12897 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12898 * config.h.in: New file.
12899 * configure.ac: Use config-util.h as config define file.
12900 Rename MACHINE into GRUB_MACHINE. All users updated.
12901 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12902 updated.
12903 (NESTED_FUNC_ATTR): Likewise.
12904 Substitue new variables.
12905 (COND_HAVE_ASM_USCORE): New conditional.
12906 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12907 (kernel_syms.lst): Use ASM_PREFIX.
12908 * grub-core/kern/emu/console.c: Include config-util.h.
12909 * grub-core/kern/emu/misc.c: Likewise.
12910 * grub-core/kern/emu/mm.c: Likewise.
12911 * include/grub/emu/misc.h: Likewise.
12912 * include/grub/libgcc.h: Likewise.
12913
39feb0e8
VS
129142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12917 constants usage.
12918 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12919 Fix GRUB_TERM_KEY_* constants usage.
12920 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12921
9af6dac3
VS
129222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12925 print pointer.
12926 * grub-core/bus/usb/uhci.c: Remove empty define.
12927 (grub_uhci_check_transfer): Add missing cast.
12928 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12929 print pointer.
12930 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12931 PRIuGRUB_SIZE.
12932 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12933
d6d94820
VS
129342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * grub-core/Makefile.core.def (legacycfg): Add
12937 lib/i386/pc/vesa_modes_table.c on emu.
12938
3572f2b6
BC
129392010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12940
12941 Reduce number of temporary files generated by build system.
12942
12943 * grub-core/gencmdlist.sh: Removed.
12944 * grub-core/genfslist.sh: Removed.
12945 * grub-core/genhandlerlist.sh: Removed.
12946 * grub-core/genmodsrc.sh: Removed.
12947 * grub-core/genpartmaplist.sh: Removed.
12948 * grub-core/genparttoollist.sh: Removed.
12949 * grub-core/gentermiinallist.sh: Removed.
12950 * grub-core/genvideolist.sh: Removed.
12951
12952 * grub-core/genmod.sh.in: New file.
12953 * grub-core/gensyminfo.sh.in: New file.
12954
12955 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12956 * conf/Makefile.extra-dist: Update with new files.
12957 * gentpl.py: Remove rules related to unnecessary temporary files.
12958 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12959 and und-* files.
12960 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12961 genmod.sh scripts.
12962 * grub-core/bus/usb/uhci.c: Remove empty #define.
12963 * grub-core/genmoddep.awk: Updated with new syminfo format.
12964 * util/bash-completion.d/Makefile.am: Add config.log to
12965 CLEANFILES.
12966
c836b030
YB
129672010-09-19 Yves Blusseau <blusseau@zetam.org>
12968
12969 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12970
2f4e8053
BC
129712010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12972
12973 * util/grub-mkconfig.in: Check the config script for syntax errors
12974 before saving.
12975
75831c34
CW
129762010-09-19 Colin Watson <cjwatson@ubuntu.com>
129772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12978
12979 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12980 platforms.
12981 * util/grub-install.in: Add EFI and IEEE1275 support.
12982 * util/i386/efi/grub-install.in: Removed.
12983 * util/ieee1275/grub-install.in: Likewise.
12984
eaf41b25
VS
129852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12988 (grub_cmd_cmosclean): Likewise.
12989 (GRUB_MOD_INIT): Register command cmosclean.
12990 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12991 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12992
1a9130dd
CPE
129932010-09-18 Carles Pina i Estany <carles@pina.cat>
129942010-09-18 Aleš Nesrsta <starous@volny.cz>
129952010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 Add keyboard layouts support.
12998
12999 * Makefile.util.def (grub-mklayout): New file.
13000 (grub-kbdcomp): New script.
13001 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13002 Add keyboard_layouts.h.
13003 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13004 commands/boot.c on yeeloong.
13005 (keylayouts): New module.
13006 * grub-core/bus/usb/ohci.c
13007 * grub-core/bus/usb/uhci.c
13008 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13009 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13010 (attach_root_port): Likewise.
13011 (poll_nonroot_hub): Likewise.
13012 (grub_usb_poll_devices): Likewise.
13013 (detach_device): Close transfer.
13014 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13015 function.
13016 (grub_usb_bulk_setup_readwrite): Likewise.
13017 (grub_usb_bulk_finish_readwrite): Likewise.
13018 * grub-core/commands/keylayouts.c: New file.
13019 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13020 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13021 aliases.
13022 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13023 support scancode 2.
13024 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13025 * include/grub/keyboard_layouts.h: New file.
13026 * util/grub-mklayout.c: New file.
13027 * util/grub-kbdcomp.in: Likewise.
13028
a1d84a5e
VS
130292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 Unify memory types.
13032
13033 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13034 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13035 types.
13036 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13037 (grub_upper_mem): Likewise.
13038 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13039 * include/grub/memory.h (grub_memory_type_t): New enum.
13040 All users updated.
13041
9696382e
VS
130422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * grub-core/Makefile.core.def (lsapm): New module.
13045 * grub-core/commands/i386/pc/lsapm.c: New file.
13046 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13047 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13048 Likewise.
13049 * include/grub/i386/pc/apm.h: New file.
13050 * include/multiboot.h (multiboot_apm_info): New struct.
13051
130522010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 GRUB-legacy configuration file support.
13055
13056 * Makefile.util.def (grub-menulst2cfg): New util.
13057 * docs/man/grub-menulst2cfg.h2m: New file.
13058 * grub-core/Makefile.core.def (legacycfg): New module.
13059 * grub-core/commands/legacycfg.c: New file.
13060 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13061 (grub_normal_add_menu_entry): ... this.
13062 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13063 (grub_normal_set_password): ...this.
13064 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13065 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13066 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13067 * grub-core/lib/legacy_parse.c: New file.
13068 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13069 * include/grub/i386/pc/vesa_modes_table.h: New file.
13070 * include/grub/legacy_parse.h: Likewise.
13071 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13072 * util/grub-menulst2cfg.c: New file.
13073
bf8d1338
CW
130742010-09-17 Colin Watson <cjwatson@ubuntu.com>
13075
13076 * grub-core/kern/emu/hostdisk.c
13077 (convert_system_partition_to_system_disk): Initialise node.
13078
9c0bad2e
CW
130792010-09-17 Colin Watson <cjwatson@ubuntu.com>
13080
13081 * grub-core/kern/emu/hostdisk.c
13082 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13083 leak.
13084 Reported and based on patch by: Modestas Vainius.
13085
a939d135
CW
130862010-09-17 Colin Watson <cjwatson@ubuntu.com>
13087
13088 Fix DM-RAID probing with recent versions of device-mapper udev
13089 rules.
13090
13091 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13092 canonicalise device paths under /dev/mapper/.
13093 (convert_system_partition_to_system_disk): Compare the
13094 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13095 path, since device nodes under /dev/mapper/ are often symlinks.
13096
0f7ee3c9
YB
130972010-09-17 Yves Blusseau <blusseau@zetam.org>
13098
13099 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13100
10854d0d
YB
131012010-09-16 Yves Blusseau <blusseau@zetam.org>
13102
13103 * configure.ac: Avoid some annoying error messages if freetype-config
13104 program is not found.
13105
108538d8
CW
131062010-09-16 Colin Watson <cjwatson@ubuntu.com>
13107
13108 Support RAID on virtio devices, and others.
13109
13110 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13111 Rename to ...
13112 [__MINGW32__] (grub_find_device): ... this.
13113 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13114 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13115 reasonable default if dir is NULL.
13116 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13117 ...
13118 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13119 (grub_guess_root_device): Update callers.
13120 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13121
13122 * util/raid.c (grub_util_getdiskname): Remove.
13123 (grub_util_raid_getmembers): Use grub_find_device rather than
13124 grub_util_getdiskname.
13125
e5bfc130
CW
131262010-09-16 Colin Watson <cjwatson@ubuntu.com>
13127
13128 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13129 needing to be compiled with serial support.
13130 (ls): Indicate that multiple files are accepted.
13131 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13132 indicate that multiple files are accepted.
13133
be458ae2
CW
131342010-09-16 Colin Watson <cjwatson@ubuntu.com>
13135
13136 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13137 libgrub_a_init.c, and util/bash-completion.d/grub.
13138
cb731b5e
VS
131392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * util/grub-setup.c (setup): Fix incorrect container semantics.
13142
35139e8a
VS
131432010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13146 misusage.
13147 Reported by: J. Nick Terry
13148
e50fca4a
VS
131492010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 Move embedding routines to partmap sources files.
13152
13153 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13154 [GRUB_UTIL]: New variable.
13155 (gpt_partition_map_iterate): Set part.parent.
13156 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13157 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13158 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13159 New function.
13160 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13161 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13162 (grub_partition_map) [GRUB_UTIL]: New field embed.
13163 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13164 (setup): Use ->embed.
13165
f00478b7
VS
131662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13169 function.
13170 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13171 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13172
2b94e3ff
YB
131732010-09-15 Yves Blusseau <blusseau@zetam.org>
13174
13175 Add function to get completions from usage.
13176
13177 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13178 completions from usage. Use LC_ALL=C to get options properly.
13179
2e04a006
VS
131802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/gnulib/basename-lgpl.c: Imported.
13183 * grub-core/gnulib/basename.c: Likewise.
13184 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13185 * grub-core/gnulib/dirname.c: Likewise.
13186 * grub-core/gnulib/dirname.h: Likewise.
13187 * grub-core/gnulib/stripslash.c: Likewise.
13188
5dcdf93a
VS
131892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * grub-core/gnulib/error.c: Resynced.
13192 * grub-core/gnulib/getopt.c: Likewise.
13193 * grub-core/gnulib/getopt_int.h: Likewise.
13194 * grub-core/gnulib/regex.h: Likewise.
13195 * grub-core/gnulib/regex_internal.c: Likewise.
13196 * grub-core/gnulib/regex_internal.h: Likewise.
13197
014f47b7
SJ
131982010-09-15 Szymon Janc <szymon@janc.net.pl>
13199
13200 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13201 CRC calculations and validity checks.
13202 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13203 calculations.
13204
dd521a4a
SJ
132052010-09-15 Szymon Janc <szymon@janc.net.pl>
13206
13207 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13208
79c4eeb9
VS
132092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13210
13211 Fix incorrect echo options handling.
13212 Reported by: Yves Blusseau.
13213
13214 * include/grub/command.h (grub_command_flags_t): New flags
13215 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13216 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13217 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13218
ed80f7d5
VS
132192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13220
13221 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13222 users updated.
13223 (GRUB_COMMAND_FLAG_MENU): Likewise.
13224 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13225 (GRUB_COMMAND_FLAG_TITLE): Removed.
13226 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13227 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13228 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13229 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13230 (grub_command_flags_t): New enum. All users updated.
13231
5fe7620a
SG
132322010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13233
13234 Fix solaris compilation.
13235
13236 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13237 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13238 (grub-emu-list): Likewise.
13239
545b752f
VS
132402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 Remove deprecated root command.
13243
13244 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13245 updated.
13246
6c1a338c
VS
132472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * util/i386/pc/grub-setup.c: Merge this ...
13250 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13251 * util/grub-setup.c: ... into this.
13252 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13253 New struct.
13254
132552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13258 possible.
13259
d2ea4551
VS
132602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13263 allocate p.
13264
3c3b5040
VS
132652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13268 explicit root argument to set to prevent UUID to be interpreted as
13269 argument to set.
13270
b71c3fae
VS
132712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13274
275433e6
VS
132752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 Don't export grub_gate_a20.
13278
13279 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13280 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13281 to ...
13282 (grub_gate_a20): ... this. All users updated.
13283 * include/grub/i386/pc/init.h: Removed. All users updated.
13284
a5dbb1f1
VS
132852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 Create euro.pf2 which supports most European languages.
13288
13289 * Makefile.am (grubdata_DATA): Add euro.pf2.
13290 (euro.pf2): New target.
13291 (CLEANFILES): Add euro.pf2.
13292
62a747cb
VS
132932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * configure.ac: Disable emu-usb by default to prevent inadvertent
13296 device takeover.
13297
608e43b1
VS
132982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Disable usbserial on grub-emu since our libusb code isn't good enough
13301 yet.
13302
13303 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13304 (usbserial_pl2303): Likewise.
13305 (usbserial_ftdi): Likewise.
13306
94564f81
VS
133072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * include/grub/disk.h (grub_disk): Remove has_partitions.
13310 All users updated.
13311 * disk/loopback.c (grub_loopback): Remove has_partitions.
13312 All users updated.
13313 (options): Remove partitions. All users updated.
13314 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13315 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13316 actual partition table is found.
13317
3352800b
VS
133182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 Remove readability checks (too many false negatives).
13321
13322 * util/grub-install.in: Remove readability checks.
13323 * util/grub-mkconfig.in: Likewise.
13324 * util/grub.d/10_hurd.in: Likewise.
13325 * util/grub.d/10_kfreebsd.in: Likewise.
13326 * util/grub.d/10_linux.in: Likewise.
13327 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13328 way.
13329
2419f17a
VS
133302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 Enable acpi shutdown on all ACPI platforms.
13333
13334 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13335 on coreboo, multiboot and EFI.
13336 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13337 (grub_acpi_halt): Likewise.
13338 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13339 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13340 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13341 * grub-core/lib/i386/halt.c (grub_halt)
13342 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13343
0575c7c3
VS
133442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13347 context.
13348
54ac3cd1
VS
133492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13352 * grub-core/video/efi_uga.c: Likewise.
13353
b2a30ac5
VS
133542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 Filter devaliases and never open same device twice.
13357
13358 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13359 (last_ihandle): Likewise.
13360 (ofdisk_hash_ent): New member shortest.
13361 (ofdisk_hash_add): Add canonical path too.
13362 (scan): New function.
13363 (grub_ofdisk_iterate): Iterate over hashed entries.
13364 (compute_dev_path): Don't add :0.
13365 (grub_ofdisk_open): Don't really open the disk.
13366 (grub_ofdisk_close): Avoid closing unrelated disk.
13367 (grub_ofdisk_read): Implement reopen logic.
13368 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13369 New function.
13370 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13371 New proto.
13372
fb53b340
VS
133732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 Fix sparc64.
13376
13377 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13378 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13379 right address. Add sparc64_ieee1275_ldflags.
13380 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13381 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13382 to grub_host_to_target_addr
13383 (load_image): Likewise.
13384
f452b040
VS
133852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * grub-core/normal/completion.c (complete_file): Handle device
13388 containing slash.
13389 Fix based on patch by Doug Nazar.
13390
9b5b2541
VS
133912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 grub-mknetdir script.
13394
13395 * Makefile.util.def (grub-mknetdir): New module.
13396 * tests/util/grub-shell.in: Support boot=net
13397 * util/grub-mknetdir.in: New file.
13398
9d2be652
VS
133992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 videoinfo on non-vbe.
13402
13403 * grub-core/Makefile.core.def (vbeinfo): Removed.
13404 (vbetest): Removed.
13405 (videoinfo): New module.
13406 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13407 * grub-core/commands/i386/pc/vbetest.c: Removed.
13408 * grub-core/commands/videoinfo.c: New file.
13409 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13410 specification.
13411 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13412 as vbetest.
13413 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13414 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13415 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13416 mode_number. New parameter mode. All users updated.
13417 (grub_video_gop_iterate): New function.
13418 (grub_video_efi_gop): New member iterate.
13419 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13420 (grub_vbe_set_video_mode): Remove setting useless fields.
13421 (vbe2videoinfo): New function.
13422 (grub_video_vbe_iterate): Likewise.
13423 (grub_video_vbe_setup): Use vbe2videoinfo.
13424 (grub_video_vbe_print_adapter_specific_info): New function.
13425 (grub_video_vbe_adapter): New fields iterate and
13426 print_adapter_specific_info.
13427 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13428 All users updated.
13429 (grub_video_mode_info): New field mode_number.
13430 (grub_video_adapter): New fields iterate and
13431 print_adapter_specific_info.
13432
179503f5
TG
134332010-09-13 Tristan Gingold <gingold@free.fr>
134342010-09-13 Robert Millan <rmh.grub@aybabtu.com>
134352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/commands/efi/lsefisystab.c: New file.
13438 * grub-core/commands/efi/lssal.c: Likewise.
13439 * grub-core/Makefile.core.def (lsacpi): New module.
13440 (lsefisystab): Likewise.
13441 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13442 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13443 (grub_efi_sal_system_table): New struct.
13444 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13445 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13446 (grub_efi_sal_system_table_platform_features): Likewise.
13447 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13448 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13449 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13450 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13451
cf9827de
VS
134522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 Support explicit user claim that a device is BIOS-visible.
13455
13456 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13457 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13458 * grub-core/kern/emu/hostdisk.c
13459 (convert_system_partition_to_system_disk): Support mdX.
13460 (find_system_device): New parameter add. All users updated.
13461 (grub_util_biosdisk_is_present): New function.
13462 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13463 proto.
13464
53f0eb1f
VS
134652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Search hints support.
13468
13469 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13470 All users updated.
13471
b23ffd70
YB
134722010-09-13 Yves Blusseau <blusseau@zetam.org>
13473
13474 Bash completion script for util commands
13475
13476 * Makefile.am: Add util/bash-completion.d directory
13477 * configure.ac: Likewise.
13478 * util/bash-completion.d/Makefile.am: New file.
13479 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13480
d547dc28
VS
134812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13484 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13485 Reported by: Yves Blusseau.
13486
2fc8ccb9
VS
134872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13490 partition size and offset.
13491
d8a84076
VS
134922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13495
84fb3b3d
VS
134962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13497
13498 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13499
768ec2e2
VS
135002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13503 (grub_xvasprintf): Likewise.
13504
4870900f
VS
135052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13508
faca6bec
VS
135092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13512 args ending with NULL.
13513
135142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13515
13516 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13517 pointer.
13518
3c70f225
SJ
135192010-09-11 Szymon Janc <szymon@janc.net.pl>
13520
13521 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13522
4df7996d
VS
135232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 Shutdown using ACPI.
13526
13527 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13528 * grub-core/commands/acpihalt.c: New file.
13529 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13530 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13531 (grub_acpi_halt): New proto.
13532 (GRUB_ACPI_SLP_EN): New const.
13533 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13534 (GRUB_ACPI_OPCODE_*): New enum.
13535 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13536
126b4c32
TG
135372010-09-11 Tristan Gingold <gingold@free.fr>
135382010-09-11 Robert Millan <rmh.grub@aybabtu.com>
135392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * commands/lsacpi.c: New file.
13542 * grub-core/Makefile.core.def (lsacpi): New module.
13543 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13544 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13545 (grub_acpi_madt_entry_header): New struct.
13546 (grub_acpi_madt): Likewise.
13547 (grub_acpi_madt_entry_interrupt_override): Likewise.
13548 (grub_acpi_madt_entry_sapic): Likewise.
13549 (grub_acpi_madt_entry_lsapic): Likewise.
13550 (grub_acpi_madt_entry_platform_int_source): Likewise.
13551 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13552 (PRIuGRUB_UINT32_T): Likewise.
13553 (PRIxGRUB_UINT64_T): Likewise.
13554
1aa4fe88
VS
135552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 Implement loading palette on ieee1275_fb.
13558
13559 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13560 (have_setcolors): Likewise.
13561 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13562 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13563 (grub_video_ieee1275_set_palette): Implement.
13564
25761e13
VS
135652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
135662010-09-11 Colin Watson <cjwatson@ubuntu.com>
13567
13568 * util/grub-install.in (grub_partition): New variable.
13569 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13570 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13571 Fixes a bug reported by Yves Blusseau.
13572
050abaea
VS
135732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 Fix emu on mipsel.
13576
13577 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13578 =grub_cpu_flush_cache on all mips and not only yeeloong.
13579 * configure.ac (COND_mips): New conditional.
13580 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13581 platforms.
13582 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13583 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13584 [GRUB_LINKER_HAVE_INIT]: New function.
13585 (grub_emu_post_init): Likewise.
13586 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13587 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13588 * include/grub/cache.h (_mips): Include mips/cache.h.
13589 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13590 LVM and RAID prototypes.
13591 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13592 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13593 function.
13594
5ed7d816
CW
135952010-09-10 Colin Watson <cjwatson@ubuntu.com>
13596
13597 * util/grub-install.in: Don't try to verify core.img until after
13598 running grub-mkimage to create it.
13599
90367e04
RM
136002010-09-10 Robert Millan <rmh@gnu.org>
13601
13602 * util/grub.d/10_hurd.in: Add misc readability checks.
13603 * util/grub.d/10_kfreebsd.in: Likewise.
13604 * util/grub.d/10_linux.in: Likewise.
13605
c452fa66
CW
136062010-09-10 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * util/grub-install.in: ${imgext} won't be defined here until the
13609 install branch is merged. For the meantime, only verify core.img on
13610 i386-pc and sparc64-ieee1275 platforms.
13611
c38fe9f4
RM
136122010-09-10 Robert Millan <rmh@gnu.org>
13613
13614 Solaris support in grub_find_zpool_from_dir(). Thanks
13615 Seth Goldberg for referring to getextmntent() facility.
13616
13617 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13618 `sys/mkdev.h'.
13619 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13620 `<sys/mnttab.h>'.
13621 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13622 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13623 method for finding zpool name.
13624
905f7773
CW
136252010-09-10 Colin Watson <cjwatson@ubuntu.com>
13626
13627 grub-fstest needs the host and hostfs modules while other utilities
13628 actively require those modules to be absent, so grub-fstest needs
13629 its own initialisation and finalisation code.
13630
13631 * Makefile.am (grub_fstest.pp): New target.
13632 (grub_fstest_init.lst): Likewise.
13633 (grub_fstest_init.c): Likewise.
13634 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13635
fb90b546
RM
136362010-09-10 Robert Millan <rmh@gnu.org>
13637
13638 * configure.ac: Check for `struct statfs.f_fstypename' and
13639 `struct statfs.f_mntfromname'.
13640
13641 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13642 kFreeBSD-specific code.
13643
66d4bea5
RM
136442010-09-10 Robert Millan <rmh@gnu.org>
13645
13646 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13647 on ZFS. Now non-main filesystems are supported as / too.
13648
b6a690ee
CW
136492010-09-09 Colin Watson <cjwatson@ubuntu.com>
13650
13651 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13652 and grub-core/disk/host.c to ...
13653 (grub-fstest): ... here. Having the host disk implementation
13654 present confuses grub-probe and other utility programs.
13655
13656 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13657 when writing to a file, not when writing to stdout.
13658
8901b00c 136592010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13660
13661 * tests/partmap_test.in: New test for partitions.
13662 * Makefile.util.def: Rules for new test.
13663
7bf45fdd
RM
136642010-09-09 Robert Millan <rmh@gnu.org>
13665
13666 * util/grub-probe.c (probe): Fix a pair of unhandled error
13667 conditions.
13668
4dfbc574
RM
136692010-09-09 Robert Millan <rmh@gnu.org>
13670
13671 Basic Btrfs support (detection and UUID).
13672
13673 * grub-core/fs/btrfs.c: New file.
13674 * Makefile.util.def (library): Register btrfs.c.
13675 * grub-core/Makefile.core.def: Likewise.
13676
6b8e78ae
RM
136772010-09-08 Robert Millan <rmh@gnu.org>
13678
13679 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13680 with (optional) parameters to specify device and relative path.
13681 * util/grub-install.in: Use is_path_readable_by_grub() to
13682 verify readability of a few critical files.
13683 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13684 verify readability of grub.cfg.new.
13685
27f21a8b
VS
136862010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 Split minix.mod into minix.mod and minix2.mod.
13689
13690 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13691 * grub-core/Makefile.core.def (minix2): New module.
13692 * grub-core/fs/minix.c: Use definitions instead of runtime version
13693 checking.
13694 * grub-core/fs/minix2.c: New file.
13695
c0e53ea5
YB
136962010-09-08 Yves Blusseau <blusseau@zetam.org>
13697
13698 Add new --boot-directory option to replace --root-directory
13699
13700 * util/grub-install.in: Add new --boot-directory option
13701 * util/grub-reboot.in: Likewise.
13702 * util/grub-set-default.in: Likewise.
13703
b9fe6ea2
YB
137042010-09-08 Yves Blusseau <blusseau@zetam.org>
13705
13706 * util/grub-mkconfig.in: Use new variable.
13707
d87aedff
YB
137082010-09-08 Yves Blusseau <blusseau@zetam.org>
13709
13710 * configure.ac: Define some useful variables.
13711
e55e8495
VS
137122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13715 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13716 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13717 Use terminfo and don't use cursor-on/cursor-off unless it's known
13718 to work.
13719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13720 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13721
6fa6d675
CW
137222010-09-08 Colin Watson <cjwatson@ubuntu.com>
13723
13724 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13725 starts with "(,", fill the drive containing the loaded image in
13726 between those two characters, but expect that a full partition
13727 specification including partition map names will follow.
13728
92f2aef0
RM
137292010-09-08 Robert Millan <rmh@gnu.org>
13730
13731 * configure.ac: Remove `--enable-grub-fstest' option.
13732 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13733
13734 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13735 `grub-fstest' instead of `grub-probe' for readability verification.
13736 * util/grub-probe.c (probe): Remove readability verification kludge.
13737
99fd620d
RM
137382010-09-08 Robert Millan <rmh@gnu.org>
13739
13740 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13741 initializing `GRUB_FS'.
13742
058e30ac 137432010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13744
13745 Not command (!) support to GRUB script.
13746
13747 * tests/grub_script_not.in: New test.
13748 * Makefile.util.def: Rules for new test.
13749
13750 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13751 ! command as a special case.
13752 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13753
b61d05ed 137542010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13755
058e30ac 13756 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13757 grub_free.
b61d05ed 13758
4d69c786 137592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13760
13761 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13762
aa3119c4 137632010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13764
13765 * docs/grub.texi (Shell-like scripting): Documentation for break,
13766 continue, shift and return commands.
13767
db0f7e3d
VS
137682010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 Rename CD-ROM to cd on BIOS.
13771
13772 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13773 "cd".
13774 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13775
88b87c93
VS
137762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13779 * util/grub-probe.c (main): Likewise.
13780 * util/i386/pc/grub-setup.c (main): Likewise.
13781 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13782 Reported and debugged by: alexxy
13783
294f324d
VS
137842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13787 diagnostic info.
13788
d7ee3441
JS
137892010-09-05 Jo Shields <directhex@apebox.org>
13790
13791 * util/grub.d/30_os-prober.in: Add missing classes.
13792
d7e06c1f
VS
137932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * docs/grub.texi (Theme file format): Document new position format.
13796
fc157e53
VS
137972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13800 a table. Use @code instead of @verbatim.
13801
506e9a1c
CB
138022010-09-05 Colin D Bennett <colin@gibibit.com>
13803
13804 Gfxmenu documentation.
13805
13806 * docs/grub.texi (Theme file format): New chapter.
13807
f0aff67c
SJ
138082010-09-05 Szymon Janc <szymon@janc.net.pl>
13809
13810 * grub-core/Makefile.core.def (xzio): New module.
13811 * grub-core/io/xzio.c: New file.
13812 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13813 * grub-core/lib/xzembed/xz_config.h: Likewise.
13814 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13815 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13816 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13817 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13818 * grub-core/lib/xzembed/xz_private.h: Likewise.
13819 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13820 * include/grub/file.h (grub_file_filter_id): New compression filter
13821 GRUB_FILE_FILTER_XZIO.
13822
82a85062
VS
138232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13826 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13827 size.
13828
3579415d
VS
138292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13832 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13833
5124ae6d
VS
138342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 Uncompressed checksum support.
13837
13838 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13839 (check_list): New parameter uncompress.
13840 (grub_cmd_hashsum): Handle --uncompress.
13841
9aadb3d1
VS
138422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 Reintroduce testload.
13845
13846 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13847 from here ...
13848 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13849 (GRUB_MOD_INIT): New function.
13850 (GRUB_MOD_FINI): Likewise.
13851 * grub-core/Makefile.core.def (testload): New module.
13852
a17792c3
SJ
138532010-09-05 Szymon Janc <szymon@janc.net.pl>
13854
13855 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13856 (uint8_t): New type.
13857 (uint16_t): Likewise.
13858 (uint32_t): Likewise.
13859 (uint64_t): Likewise.
13860
b81e40a3
SJ
138612010-09-05 Szymon Janc <szymon@janc.net.pl>
13862
13863 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13864
fc2ef117
VS
138652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13868 Made static.
13869 (grub_gzfile_open): Removed. All users updated.
13870 (GRUB_MOD_INIT): New function.
13871 (GRUB_MOD_FINI): Likewise.
13872 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13873 (grub_file_filters_enabled): Likewise.
13874 (grub_file_open): Handle filters.
13875 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13876 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13877 * include/grub/file.h (grub_file_filter_id_t): New type.
13878 (grub_file_filter_t): Likewise.
13879 (grub_file_filters_all): New extern variable.
13880 (grub_file_filters_enabled): Likewise.
13881 (grub_file_filter_register): New inline function.
13882 (grub_file_filter_unregister): Likewise.
13883 (grub_file_filter_disable): Likewise.
13884 (grub_file_filter_disable_compression): Likewise.
13885 * include/grub/gzio.h: Removed.
13886
35ee15e0
BC
138872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13888
13889 Filename expansion support for wildcards in GRUB script.
13890
13891 * tests/grub_script_expansion.in: New test.
13892 * Makefile.util.def: Rule for new test.
13893
13894 * grub-core/commands/wildcard.c: New file, implements filename
13895 expansion support for GRUB script.
13896 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13897 * grub-core/script/argv.c: Cosmetic changes.
13898 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13899 Refactored to perform wildcard expansion on arguments.
13900 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13901 struct.
13902
13903 * tests/util/grub-shell.in: Fix quoting for read input.
13904
5f0c4aca
BC
139052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13906
13907 Support for updating environment variables with matched substrings
13908 of regexp.
13909
13910 * tests/grub_cmd_regexp.in: New test.
13911 * Makefile.util.def: Rule for new test.
13912
13913 * grub-core/commands/regexp.c: New option -s to update environment
13914 variables with regexp matches.
13915
3759a35f
SJ
139162010-09-04 Szymon Janc <szymon@janc.net.pl>
13917
13918 * include/grub/file.h (grub_file): New member not_easly_seekable.
13919 (grub_file_seekable): New inline function.
13920 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13921 easily seekable.
13922 (grub_gzio_open): Set not_easly_seekable.
13923 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13924 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13925
ed8c6dec
BC
139262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13927
13928 Support for options to appear multiple times on cmdline.
13929
13930 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13931 * grub-core/commands/extcmd.c: Support for repeatable option.
13932 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13933 repeatable option support.
13934
13935 Refactor menuentry into a regular command.
13936
13937 * grub-core/commands/menuentry.c: New file, menuentry command
13938 implementation.
13939 * grub-core/Makefile.core.def: Rule update for normal.mod.
13940 * grub-core/normal/main.c: Moved menuentry creation to
13941 grub-core/commands/menuentry.c.
13942 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13943 (grub_menu_execute_entry_real): Removed.
13944 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13945 function.
13946 (grub_script_execute_menuentry): Removed.
13947 * grub-core/script/parser.y (menuentry): Removed.
13948 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13949 * grub-core/script/yylex.l (menuentry): Removed.
13950 * include/grub/menu.h (grub_menu_init): New prototype.
13951 (grub_menu_fini): New prototype.
13952 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13953 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13954 (grub_script_execute_sourcecode): New prototype.
13955
dacd0cf0
BC
139562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13957
13958 "return" command for GRUB script functions.
13959
13960 * tests/grub_script_return.in: New test.
13961 * Makefile.util.def: Rules for new test.
13962
13963 * grub-core/script/execute.c (grub_script_return): New function.
13964 * grub-core/script/main.c: Register/unregister return commaond.
13965 * include/grub/script_sh.h (grub_script_return): New prototype.
13966
52e72f9d
BC
139672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13968
13969 "setparams" command to update positional parameters.
13970
13971 * tests/grub_script_setparams.in: New test.
13972 * Makefile.util.def: Rules for new test.
13973
13974 * grub-core/script/argv.c (grub_script_argv_make): New function.
13975 * grub-core/script/execute.c (replace_scope): New function.
13976 (grub_script_setparams): New function.
13977 * grub-core/script/lexer.c: Remove unused variables.
13978 * grub-core/script/main.c: Register/unregister setparams command.
13979 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13980 (grub_script_setparams): New prototype.
13981
25b60c91
BC
139822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13983
13984 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13985 grub_free order.
13986
37e7bf68
BC
139872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13988
13989 Support for passing block of commands as an argument to extcmds.
13990
13991 * Makefile.util.def: Rules for new test.
13992 * tests/grub_script_blockarg.in: New test.
13993 * grub-core/tests/test_blockarg.c: New file, block argument
13994 command used in the test.
13995
13996 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13997 (grub_register_extcmd_prio): New function prototype.
13998 (grub_extcmd_dispatcher): New function prototype.
13999 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14000 type.
14001 * include/grub/script_sh.h (struct grub_script): New members
14002 `children', `next_siblings' and `refcnt' for block arguments and
14003 reference counting.
14004 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14005 (grub_script_arg): New member `script' for block argument.
14006 (grub_script_argv): New member `script' for block argument.
14007 (grub_parser_param): New member `scripts' for block argument.
14008 (grub_script_mem_free): New extern function prototype.
14009 (grub_script_ref): New function prototype.
14010 (grub_script_unref): New function prototype.
14011
14012 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14013 extcmd form to support block arguments.
14014 * grub-core/script/argv.c: Block arguments support.
14015 * grub-core/script/execute.c: Likewise.
14016 * grub-core/script/lexer.c: Likewise.
14017 * grub-core/script/main.c: Likewise.
14018 * grub-core/script/script.c: Likewise.
14019 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14020 non-terminals.
14021
14022 * grub-core/commands/acpi.c: Update extcmd implementations with
14023 grub_extcmd_context_t.
14024 * grub-core/commands/cat.c: Likewise.
14025 * grub-core/commands/echo.c: Likewise.
14026 * grub-core/commands/extcmd.c: Likewise.
14027 * grub-core/commands/hashsum.c: Likewise.
14028 * grub-core/commands/hdparm.c: Likewise.
14029 * grub-core/commands/help.c: Likewise.
14030 * grub-core/commands/hexdump.c: Likewise.
14031 * grub-core/commands/i386/cpuid.c: Likewise.
14032 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14033 * grub-core/commands/i386/pc/halt.c: Likewise.
14034 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14035 * grub-core/commands/iorw.c: Likewise.
14036 * grub-core/commands/keystatus.c: Likewise.
14037 * grub-core/commands/loadenv.c: Likewise.
14038 * grub-core/commands/ls.c: Likewise.
14039 * grub-core/commands/lspci.c: Likewise.
14040 * grub-core/commands/memrw.c: Likewise.
14041 * grub-core/commands/probe.c: Likewise.
14042 * grub-core/commands/search_wrap.c: Likewise.
14043 * grub-core/commands/setpci.c: Likewise.
14044 * grub-core/commands/sleep.c: Likewise.
14045 * grub-core/disk/loopback.c: Likewise.
14046 * grub-core/hello/hello.c: Likewise.
14047 * grub-core/loader/i386/bsd.c: Likewise.
14048 * grub-core/loader/xnu.c: Likewise.
14049 * grub-core/term/gfxterm.c: Likewise.
14050 * grub-core/term/serial.c: Likewise.
14051 * grub-core/tests/lib/functional_test.c: Likewise.
14052
888d1500
BC
140532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14054
14055 Multi-line quoted strings support.
14056
14057 * grub-core/script/lexer.c (append_newline): Removed.
14058 (grub_script_lexer_yywrap): Refactored.
14059 (grub_script_lexer_init): Refactored.
14060 * grub-core/script/yylex.l (yywrap): New function.
14061 (grub_lexer_resplit): New function.
14062 (grub_lexer_unput): New function.
14063 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14064 and resplit.
14065 * tests/grub_script_echo1.in: Added few more testcases.
14066
dda060dd
VS
140672010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * grub-core/kern/misc.c: Don't add abort alias in utils.
14070 Reported by: echoline.
14071
6556eba9
BC
140722010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14073
14074 Add missing files into "make dist" tarball for other platforms.
14075
14076 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14077 * conf/Makefile.common (dist_noinst_DATA): New variable.
14078 * conf/Makefile.extra-dist: Added missing make dist files.
14079 * grub-core/Makefile.core.def: Likewise.
14080
c8e7bf5f
VS
140812010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 Compress grub_prefix.
14084
14085 * grub-core/boot/i386/pc/lnxboot.S: Use
14086 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14087 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14088 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14089 GRUB_MACHINE_PREFIX_END. All users updated.
14090 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14091 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14092 + 0x40.
14093 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14094 * util/grub-mkimage.c (image_target_desc): Change data_end to
14095 prefix_end. All users updated.
14096
a7c00cdb
VS
140972010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14100 value.
14101 (grub_openbsd_boot): Likewise.
14102 (grub_netbsd_boot): Likewise.
14103 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14104 (grub_xnu_boot): Likewise.
14105
9f915872
VS
141062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * configure.ac: Clean LIBS variable after tests.
14109
efa1bee7
CW
141102010-09-02 Colin Watson <cjwatson@ubuntu.com>
14111
14112 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14113
61d720e5
VS
141142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14117 echo if libdevmapper will be used.
14118
ef8e0ec8
IT
141192010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14120
14121 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14122 constant for the same file.
14123
03e261d8
VS
141242010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14127
c2a4eba6
CW
141282010-09-02 Colin Watson <cjwatson@ubuntu.com>
14129
14130 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14131 grub-core/*.pp.
14132
9056cbf3
CW
141332010-09-02 Colin Watson <cjwatson@ubuntu.com>
14134
14135 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14136 required by the boot protocol.
14137
14138 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14139 ebp and edi members.
14140 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14141 state.ebp and state.edi.
14142 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14143 %ebp and %edi according to grub_relocator32_ebp and
14144 grub_relocator32_edi respectively.
14145 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14146 and state.edi.
14147
529cc99a
VS
141482010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 Add i386-pc-pxe image target.
14151
14152 * util/grub-mkimage.c (image_target_desc): New enum value
14153 IMAGE_I386_PC_PXE.
14154 (image_targets): New target i386-pc-pxe.
14155 (generate_image): Handle i386-pc-pxe image.
14156
9a093920
VS
141572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 Fix grub_pxe_scan.
14160
14161 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14162 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14163 All users updated.
14164 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14165 (grub_pxe_pxenv): Correct type.
14166
f9cefc4e
CW
141672010-09-01 Colin Watson <cjwatson@ubuntu.com>
14168
14169 * NEWS: Document most of the important changes since 1.98.
14170
4066f57f
CW
141712010-09-01 Colin Watson <cjwatson@ubuntu.com>
14172
14173 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14174 generated manual page) a little.
14175
da2891f9
CW
141762010-09-01 Colin Watson <cjwatson@ubuntu.com>
14177
14178 * docs/grub.texi: Add myself as an author.
14179
ad717fae
VS
141802010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * Makefile.util.def (libgrub.a): Add missing sunpc.
14183 Reported by: Seth Goldberg.
14184
eefe8abd
VS
141852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 Interrupt wrapping and code simplifications.
14188
9494ef9a
VS
14189 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14190 x86_noieee1275 which are functionaly equivalent in this case.
14191 (grub-install): Make source on each platform explicit. Enable on
14192 all noemu.
14193 * gentpl.py (x86_efi_pc): Removed group.
14194 (x86_noefi): Likewise.
14195 (i386_noefi): Likewise.
14196 (x86_noieee1275): Likewise.
14197 (i386_noieee1275): Likewise.
14198 (i386_noefi_noieee1275): Likewise.
14199 (i386_pc_qemu_coreboot): Likewise.
14200 (i386_coreboot_multiboot): Likewise.
14201 (i386_pc_coreboot_multiboot_qemu): Likewise.
14202 (x86_noefi_mips): Likewise.
14203 (noieee1275): Likewise.
14204 (ieee1275_mips): Likewise.
14205 (noemu_noieee1275): Likewise.
14206 (cmos): New group.
14207 (usb): Likewise.
14208 (videoinkernel): Likewise.
14209 (videomodules): Likewise.
eefe8abd 14210 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14211 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14212 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14213 include/grub/loader.h, include/grub/msdos_partition.h,
14214 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14215 include/grub/machine/console.h, include/grub/machine/vga.h,
14216 include/grub/machine/vbe.h, include/grub/machine/init.h,
14217 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14218 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14219 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14220 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14221 * grub-core/Makefile.core.def (kernel): Explicit the source for
14222 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14223 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14224 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14225 Use videoinkernel tag.
14226 (usb): Enable on all usb.
14227 (usbserial_common): Likewise.
14228 (usbserial_pl2303): Likewise.
14229 (usbserial_ftdi): Likewise.
14230 (uhci): Enable on all x86.
14231 (ohci): Enable on all pci.
14232 (cmostest): Enable on all CMOS.
14233 (acpi): Include commands/acpi.c on all platforms.
14234 (halt): Add relevant lib/*/halt.c.
14235 (hdparm): Enable on all pci.
14236 (lspci): Likewise.
14237 (usbtest): Enable on all usb.
14238 (ata): Enable on all pci.
14239 (ata_pthru): Likewise.
14240 (usbms): Enable on all usb.
14241 (usb_keyboard): Likewise.
14242 (font): Use tag videomodules.
14243 (bufio): Likewise.
14244 (datetime): Use tag cmos. Enable on all noemu.
14245 (mmap): Use tags common and x86.
14246 (gfxterm): Use tag videomodules.
14247 (bitmap): Likewise.
14248 (bitmap_scale): Likewise.
14249 (video_fb): Likewise.
14250 (video): Likewise.
14251 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14252 adjust padding accordingly. All users updated.
14253 (grub_ohci_transaction): Fix bad format specification.
14254 (GRUB_MOD_INIT): Add asserts for struct size.
14255 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14256 (grub_alloc_td): Likewise.
14257 (grub_free_queue): Likewise.
14258 (grub_uhci_transfer): Likewise.
14259 (grub_uhci_transaction): Fix bad format specification.
14260 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14261 (grub_usb_bulk_readwrite): Likewise.
14262 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14263 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14264 Made static.
14265 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14266 Made static.
14267 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14268 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14269 Transformed into C.
14270 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14271 Moved from here ...
14272 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14273 ... here. Transformed into C. Made static.
14274 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14275 Moved from here ...
14276 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14277 ... here. Transformed into C. Made static.
14278 * grub-core/kern/i386/pc/startup.S
14279 (grub_biosdisk_check_int13_extensions): Moved from here ...
14280 * grub-core/disk/i386/pc/biosdisk.c
14281 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14282 Made static.
14283 * grub-core/kern/i386/pc/startup.S
14284 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14285 * grub-core/disk/i386/pc/biosdisk.c
14286 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14287 Transformed into C. Made static.
14288 * grub-core/kern/i386/pc/startup.S
14289 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14290 * grub-core/disk/i386/pc/biosdisk.c
14291 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14292 Transformed into C. Made static.
14293 * grub-core/kern/i386/pc/startup.S
14294 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14295 * grub-core/disk/i386/pc/biosdisk.c
14296 (grub_biosdisk_get_diskinfo_standard): ... here.
14297 Transformed into C. Made static.
14298 * grub-core/kern/i386/pc/startup.S
14299 (grub_biosdisk_get_num_floppies): Moved from here ...
14300 * grub-core/disk/i386/pc/biosdisk.c
14301 (grub_biosdisk_get_num_floppies): ... here.
14302 Transformed into C. Made static.
14303 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14304 New function.
14305 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14306 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14307 Transformed into C. Made static.
14308 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14309 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14310 Transformed into C. Made static.
14311 * grub-core/kern/i386/ieee1275/init.c: Removed.
14312 * grub-core/kern/i386/misc.S: Likewise.
14313 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14314 Splitted from here ...
14315 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14316 Transformed into C. Made static. All users updated.
14317 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14318 Transformed into C. Made static. All users updated.
14319 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14320 Moved from here...
14321 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14322 Transformed into C. Made static. All users updated.
14323 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14324 Moved from here...
14325 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14326 Transformed into C. Made static. All users updated.
14327 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14328 Removed (replaced by C version).
14329 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14330 Moved from here...
14331 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14332 Transformed into C. Made static.
14333 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14334 Moved from here...
14335 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14336 ... here. Transformed into C.
14337 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14338 Moved from here...
14339 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14340 ... here. Transformed into C.
14341 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14342 Moved from here...
14343 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14344 ... here. Transformed into C. Made static.
14345 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14346 Moved from here...
14347 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14348 ... here. Transformed into C.
21ed554b
VS
14349 * grub-core/kern/i386/pc/startup.S
14350 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14351 * grub-core/video/i386/pc/vbe.c
14352 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14353 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14354 Moved from here...
14355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14356 ... here. Transformed into C.
14357 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14358 Moved from here...
14359 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14360 ... here. Transformed into C.
14361 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14362 Moved from here...
14363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14364 ... here. Transformed into C.
14365 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14366 Moved from here...
14367 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14368 ... here. Transformed into C.
14369 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14370 Moved from here...
14371 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14372 ... here. Transformed into C. Made static.
14373 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14374 Moved from here...
14375 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14376 ... here. Transformed into C. Made static.
14377 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14378 Moved from here...
14379 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14380 ... here. Transformed into C. Made static.
14381 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14382 pxe_rm_entry as third argument.
14383 (grub_bios_interrupt): New function.
14384 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14385 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14386 of calling grub_stop.
14387 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14388 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14389 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14390 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14391 * grub-core/lib/i386/halt.c: Moved from here ...
14392 * grub-core/lib/i386/halt.c: ... here.
14393 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14394 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14395 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14396 grub_stop_floppy.
14397 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14398 * include/grub/i386/coreboot/init.h: Removed.
14399 * include/grub/i386/multiboot/init.h: Likewise.
14400 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14401 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14402 * include/grub/i386/pc/int.h: New file.
14403 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14404 (grub_pxe_scan): Removed.
14405 (grub_pxe_call): Update prototype.
14406 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14407 prototypes.
14408 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14409 * include/grub/i386/qemu/init.h: Removed.
14410 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14411 noreturn.
14412 (grub_halt): Likewise.
14413 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14414 (grub_reboot): Likewise.
14415 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14416 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14417 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14418
215dd471
RM
144192010-08-30 Robert Millan <rmh@gnu.org>
14420
14421 * NEWS: Document addition of ZFS support in `grub-install' and
14422 `grub-mkconfig'.
14423
ebd65b82
BC
144242010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14425
14426 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14427 dprintf output.
14428
11721d19
VS
144292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 Remove leftover embedding of font objects.
14432
14433 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14434 * util/grub-install.in (font): Removed.
14435 * util/grub-mkimage.c (generate_image): Remove font support. All users
14436 updated.
14437
37837d4e
VS
144382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 Remove leftover embedding of font objects.
14441
14442 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14443 * util/grub-install.in (font): Removed.
14444 * util/grub-mkimage.c (generate_image): Remove font support. All users
14445 updated.
14446
b4c1aae0
VS
144472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14450 Reported by: Ian Turner
b4c1aae0 14451
8920a08d
VS
144522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14455 timeout to avoid indefinite boot stalling.
14456
f21db033
VS
144572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14460 (grub_env_write_color_highlight): Likewise.
14461
9a9de209
VS
144622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/normal/term.c (print_more): Return to normal and not
14465 to standard state after printing "---MORE---".
14466
3dca01d7
VS
144672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14470 Mask out the bit 0x80 since it has other meaning that specifiing color.
14471
0b986c40
VS
144722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 New relocator. Allows for more kernel support and more straightforward
14475 loader writing.
14476
14477 * Makefile.am (BOOTTARGET): New variable.
14478 (QEMU32): Likewise.
14479 (linux.init.x86_64): New target.
14480 (linux.init.i386): Likewise.
14481 (multiboot.elf): Likewise.
14482 (kfreebsd.elf): Likewise.
14483 (kfreebsd.aout): Likewise.
14484 (pc-chainloader.elf): Likewise.
14485 (pc-chainloader.bin): Likewise.
14486 (ntldr.elf): Likewise.
14487 (ntldr.bin): Likewise.
14488 (multiboot2.elf): Likewise.
14489 (kfreebsd.init.x86_64): Likewise.
14490 (kfreebsd.init.i386): Likewise.
14491 (knetbsd.init.i386): Likewise.
14492 (kopenbsd.init.i386): Likewise.
14493 (knetbsd.init.x86_64): Likewise.
14494 (kopenbsd.init.x86_64): Likewise.
14495 (linux-initramfs.i386): Likewise.
14496 (linux-initramfs.x86_64): Likewise.
14497 (kfreebsd-mfsroot.i386.img): Likewise.
14498 (knetbsd.image.i386): Likewise.
14499 (kopenbsd.image.i386): Likewise.
14500 (kopenbsd.image.x86_64): Likewise.
14501 (knetbsd.miniroot-image.i386.img): Likewise.
14502 (kfreebsd-mfsroot.x86_64.img): Likewise.
14503 (knetbsd.image.x86_64): Likewise.
14504 (knetbsd.miniroot-image.x86_64.img): Likewise.
14505 (kfreebsd-mfsroot.i386.gz): Likewise.
14506 (bootcheck-kfreebsd-i386): Likewise.
14507 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14508 (bootcheck-kfreebsd-x86_64): Likewise.
14509 (knetbsd.miniroot-image.i386.gz): Likewise.
14510 (bootcheck-knetbsd-i386): Likewise.
14511 (bootcheck-kopenbsd-i386): Likewise.
14512 (bootcheck-kopenbsd-x86_64): Likewise.
14513 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14514 (bootcheck-knetbsd-x86_64): Likewise.
14515 (bootcheck-linux-i386): Likewise.
14516 (bootcheck-linux-x86_64): Likewise.
14517 (bootcheck-linux16-i386): Likewise.
14518 (bootcheck-linux16-x86_64): Likewise.
14519 (bootcheck-multiboot): Likewise.
14520 (bootcheck-multiboot2): Likewise.
14521 (bootcheck-kfreebsd-aout): Likewise.
14522 (bootcheck-pc-chainloader): Likewise.
14523 (bootcheck-ntldr): Likewise.
14524 (CLEANFILES): Add new targets.
14525 (BOOTCHECKS): New variable.
14526 (.PHONY): Add bootchecks.
14527 (SUCCESSFUL_BOOT_STRING): New variable.
14528 (BOOTCHECK_TIMEOUT): Likewise.
14529 (bootcheck): New target
14530 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14531 * configure.ac: Correct efiemu excuse.
14532 * docs/grub.texi (Supported kernels): New chapter.
14533 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14534 include/grub/mm_private.h. Simplify inclusion of
14535 include/grub/boot.h, include/grub/loader.h
14536 and include/grub/msdos_partition.h
14537 (KERNEL_HEADER_FILES) [i386_coreboot]:
14538 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14539 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14540 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14541 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14542 include/grub/machine/loader.h.
14543 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14544 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14545 extra_dist.
14546 (pci.mod): Enable on i386-multiboot.
14547 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14548 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14549 i386-qemu.
14550 (relocator.mod): Rewritten.
14551 (aout.mod): Enable on all x86.
14552 (bsd.mod): Likewise.
14553 (ntldr.mod): New module.
14554 (linux.mod): Use loader/i386/linux.c on all x86.
14555 (xnu.mod): Enable on all x86.
14556 (vga_text.mod): disable on EFI and QEMU.
14557 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14558 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14559 * grub-core/efiemu/loadcore.c: Likewise.
14560 * grub-core/efiemu/main.c: Likewise.
14561 (grub_efiemu_exit_boot_services): Removed.
14562 (grub_efiemu_finish_boot_services): Likewise.
14563 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14564 function.
14565 * grub-core/efiemu/i386/nocfgtables.c: New file.
14566 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14567 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14568 (grub_efi_finish_boot_services): Moved from here ...
14569 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14570 Fille finish memory map and related data.
14571 (finish_mmap_buf): New variable.
14572 (grub_efi_uintn_t finish_mmap_size): Likewise.
14573 (grub_efi_uintn_t finish_key): Likewise.
14574 (grub_efi_uintn_t finish_desc_size): Likewise.
14575 (grub_efi_uint32_t finish_desc_version): Likewise.
14576 (grub_efi_is_finished): Likewise.
14577 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14578 finished.
14579 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14580 (grub_elf64_phdr_iterate): Likewise.
14581 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14582 (grub_os_area_size): Likewise.
14583 (grub_machine_init): Don't reserve os area.
14584 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14585 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14586 * grub-core/kern/i386/loader.S: Removed.
14587 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14588 (grub_os_area_size): Likewise.
14589 (grub_machine_init): Don't reserve os area.
14590 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14591 Don't call grub_dl_unload_all.
14592 Don't include loader.S.
14593 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14594 Declare the memory after _end as available.
14595 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14596 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14597 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14598 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14599 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14600 * include/grub/mm_private.h (grub_mm_header): ... here.
14601 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14602 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14603 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14604 (grub_mm_region): ..here. Removed addr. Added pre_size.
14605 All users updated.
14606 * grub-core/kern/mm.c (base): Renamed to ...
14607 (grub_mm_base): ... this. Made global.
14608 (grub_real_malloc): Alloc from end of region.
14609 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14610 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14611 * grub-core/kern/powerpc/cache_flush.S: ... here.
14612 * grub-core/lib/efi/relocator.c: New file.
14613 * grub-core/lib/i386/relocator.c: Rewritten.
14614 * grub-core/lib/i386/relocator16.S: New file.
14615 * grub-core/lib/i386/relocator32.S: Likewise.
14616 * grub-core/lib/i386/relocator64.S: Likewise.
14617 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14618 * grub-core/lib/i386/relocator_common.S: New file.
14619 * grub-core/lib/ieee1275/relocator.c: Likewise.
14620 * grub-core/lib/mips/relocator.c: Rewritten.
14621 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14622 stylistic adjustments.
14623 * grub-core/lib/powerpc/relocator.c: New file.
14624 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14625 * grub-core/lib/relocator.c: Rewritten.
14626 * grub-core/lib/x86_64/relocator_asm.S: New file.
14627 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14628 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14629 (bsd_tag): New struct.
14630 (tags): New variable.
14631 (tags_last): Likewise.
14632 (netbsd_module): New struct.
14633 (netbsd_mods): New variable.
14634 (netbsd_mods_last): Likewise.
14635 (openbsd_opts): New parameter "serial".
14636 (OPENBSD_SERIAL_ARG): New definition.
14637 (netbsd_opts): New parameter "serial".
14638 (NETBSD_SERIAL_ARG): New definition.
14639 (grub_freebsd_add_meta): Reorganised into ...
14640 (grub_bsd_add_meta): ...this. All users updated.
14641 (grub_freebsd_add_mmap): Reorganised into ...
14642 (generate_e820_mmap): ...this...
14643 (grub_bsd_add_mmap): ...and this. All users updated.
14644 (grub_freebsd_list_modules): Use tags.
14645 (grub_netbsd_add_meta_module): New function.
14646 (grub_netbsd_list_modules): Likewise.
14647 (grub_freebsd_boot): Use relocator and finish EFI.
14648 (grub_openbsd_boot): Likewise.
14649 (grub_netbsd_setup_video): New function.
14650 (grub_netbsd_add_modules): Likewise.
14651 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14652 and finish EFI.
14653 (grub_bsd_unload): Unload tags.
14654 (grub_bsd_load_aout): Use relocator.
14655 (grub_bsd_elf32_size_hook): New function.
14656 (grub_bsd_elf32_hook): Use relocator.
14657 (grub_bsd_elf64_size_hook): New function.
14658 (grub_bsd_elf64_hook): Use relocator.
14659 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14660 (grub_bsd_load): Zero-out openbsd_ramdisk.
14661 (grub_bsd_load): Use relocator.
14662 (grub_cmd_openbsd): Support serial.
14663 (grub_cmd_netbsd): Support modules.
14664 (grub_cmd_freebsd_module): Use relocator.
14665 (grub_netbsd_module_load): New function.
14666 (grub_cmd_netbsd_module): Likewise.
14667 (grub_cmd_openbsd_ramdisk): Likewise.
14668 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14669 kopenbsd_ramdisk.
14670 (GRUB_MOD_FINI): Unregister new commands.
14671 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14672 (grub_freebsd_load_elfmodule_obj): Use relocator.
14673 (grub_freebsd_load_elfmodule): Likewise.
14674 (grub_freebsd_load_elf_meta): Likewise.
14675 (grub_netbsd_load_elf_meta): New function.
14676 (grub_openbsd_find_ramdisk): Likewise.
14677 * grub-core/loader/i386/bsd_helper.S: Removed.
14678 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14679 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14680 * grub-core/loader/i386/efi/linux.c: Likewise.
14681 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14682 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14683 (DEFAULT_VIDEO_MODE): Likewise.
14684 (real_mode_target): New variable.
14685 (prot_mode_target): Likewise.
14686 (initrd_mem_target): Likewise.
14687 (relocator): Likewise.
14688 (efi_mmap_buf): Likewise.
14689 (efi_mmap_size): Likewise.
14690 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14691 (free_pages): Use relocator.
14692 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14693 (grub_linux_setup_video): Return error.
14694 (grub_linux_trampoline_start): Removed.
14695 (grub_linux_trampoline_end): Likewise.
14696 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14697 andd video parameters depending on firmware.
14698 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14699 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14700 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14701 (grub_cmd_initrd): Use relocator.
14702 * grub-core/loader/i386/linux_trampoline.S: Removed.
14703 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14704 (elf_sec_entsize): Likewise.
14705 (elf_sec_shstrndx): Likewise.
14706 (elf_sections): Likewise.
14707 (grub_multiboot_load): Use relocator.
14708 (grub_multiboot_get_mbi_size): Account for sections.
14709 (grub_multiboot_make_mbi): Use relocator and support sections.
14710 (grub_multiboot_add_elfsyms): New function.
14711 (grub_multiboot_free_mbi): Free sections.
14712 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14713 (grub_linux_real_target): Likewise.
14714 (grub_linux_real_chunk): Likewise.
14715 (grub_linux16_prot_size): Likewise.
14716 (grub_linux16_boot): Use relocator.
14717 (grub_linux_unload): Unload relocator.
14718 (grub_cmd_linux): Use relocator.
14719 (grub_cmd_initrd): Likewise.
14720 * grub-core/loader/i386/pc/ntldr.c: New file.
14721 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14722 Don't try to guess CPU frequency.
14723 (grub_xnu_set_video): Stretch bitmap.
14724 (grub_xnu_boot): Use relocator.
14725 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14726 (grub_linux_unload): Free relocator.
14727 (grub_linux_load32): Use relocator.
14728 (grub_linux_load64): Likewise.
14729 (grub_cmd_initrd): Likewise.
14730 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14731 (grub_multiboot_unload): Unload relocator.
14732 (grub_cmd_multiboot): Use relocator.
14733 (grub_cmd_module): Likewise.
14734 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14735 Use relocator and support sections.
14736 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14737 (elf_sec_entsize): Likewise.
14738 (elf_sec_shstrndx): Likewise.
14739 (elf_sections): Likewise.
14740 (grub_multiboot_load): Use relocator.
14741 (grub_multiboot_get_mbi_size): Account for sections.
14742 (grub_multiboot_make_mbi): Use relocator and support sections.
14743 (grub_multiboot_add_elfsyms): New function.
14744 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14745 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14746 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14747 Prototype changed. All users updated.
14748 (grub_xnu_align_heap): Simplified.
14749 (grub_xnu_writetree_toheap): Likewise.
14750 (grub_xnu_unload): Unload relocator.
14751 (grub_cmd_xnu_kernel): Use relocator.
14752 (grub_cmd_xnu_kernel64): Likewise.
14753 (grub_xnu_register_memory): Simplified.
14754 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14755 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14756 EFI is finished.
14757 (grub_console_checkkey): Likewise.
14758 (grub_console_getkey): Likewise.
14759 (grub_console_getwh): Likewise.
14760 (grub_console_getxy): Likewise.
14761 (grub_console_gotoxy): Likewise.
14762 (grub_console_cls): Likewise.
14763 (grub_console_setcolorstate): Likewise.
14764 (grub_console_setcursor): Likewise.
14765 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14766 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14767 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14768 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14769 * grub-core/tests/boot/kernel-8086.S: Likewise.
14770 * grub-core/tests/boot/kernel-i386.S: Likewise.
14771 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14772 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14773 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14774 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14775 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14776 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14777 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14778 * grub-core/tests/boot/linux.cfg: Likewise.
14779 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14780 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14781 * grub-core/tests/boot/linux16.cfg: Likewise.
14782 * grub-core/tests/boot/multiboot.cfg: Likewise.
14783 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14784 * grub-core/tests/boot/ntldr.cfg: Likewise.
14785 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14786 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14787 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14788 New definition.
14789 * include/grub/dl.h (grub_dl_unload_all): Removed.
14790 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14791 (grub_efi_finish_boot_services): Change prototype.
14792 (grub_efi_is_finished): New variable.
14793 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14794 Changed prototype.
14795 (grub_efiemu_finish_boot_services): Removed.
14796 (grub_machine_efiemu_init_tables): New prototype.
14797 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14798 (grub_elf64_phdr_iterate): Likewise.
14799 * include/grub/i386/bsd.h: Include relocator.h.
14800 (freebsd_tag_header): New struct.
14801 (grub_openbsd_bios_mmap): Removed.
14802 (grub_unix_real_boot): Removed.
14803 (grub_freebsd_load_elfmodule32): Changed prototype.
14804 (grub_freebsd_load_elfmodule_obj64): Likewise.
14805 (grub_freebsd_load_elf_meta32): Likewise.
14806 (grub_freebsd_load_elf_meta64): Likewise.
14807 (grub_freebsd_add_meta): Removed.
14808 (grub_netbsd_load_elf_meta32): New prototype.
14809 (grub_netbsd_load_elf_meta64): Likewise.
14810 (grub_bsd_add_meta): Likewise.
14811 (grub_openbsd_ramdisk_descriptor): New struct.
14812 (grub_openbsd_find_ramdisk32): New prototype.
14813 (grub_openbsd_find_ramdisk64): Likewise.
14814 * include/grub/i386/coreboot/loader.h: Removed.
14815 * include/grub/i386/efi/loader.h: Likewise.
14816 * include/grub/i386/ieee1275/loader.h: Likewise.
14817 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14818 to grub_uint32_t.
14819 * include/grub/i386/loader.h: Removed.
14820 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14821 value.
14822 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14823 (grub_phys_addr_t): New type.
14824 (grub_vtop): New inline function.
14825 (grub_map_memory): Likewise.
14826 (grub_unmap_memory): Likewise.
14827 * include/grub/i386/multiboot/loader.h: Removed.
14828 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14829 (NETBSD_BTINFO_CONSOLE): New definition.
14830 (NETBSD_BTINFO_SYMTAB): Likewise.
14831 (NETBSD_BTINFO_MODULES): Likewise.
14832 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14833 (grub_netbsd_bootinfo): New struct.
14834 (grub_netbsd_btinfo_common): Use explicit bitsize.
14835 (grub_netbsd_btinfo_mmap_entry): Removed.
14836 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14837 (grub_netbsd_btinfo_bootdisk): New struct.
14838 (grub_netbsd_btinfo_symtab): Likewise.
14839 (grub_netbsd_btinfo_serial): Likewise.
14840 (grub_netbsd_btinfo_modules): Likewise.
14841 (grub_netbsd_btinfo_framebuf): Likewise.
14842 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14843 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14844 Likewise.
14845 (grub_openbsd_bootargs): Use explicit bitsize.
14846 (grub_openbsd_bootarg_console): New struct.
14847 (GRUB_OPENBSD_COM_MAJOR): New definition.
14848 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14849 * include/grub/i386/pc/efiemu.h: Removed.
14850 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14851 * include/grub/i386/qemu/loader.h: Removed.
14852 * include/grub/i386/relocator.h: Rewritten.
14853 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14854 * include/grub/mips/memory.h: New file.
14855 * include/grub/mips/multiboot.h: Rewritten.
14856 * include/grub/mips/relocator.h: Rewritten.
14857 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14858 (grub_vtop): New function.
14859 (grub_map_memory): Likewise.
14860 (grub_unmap_memory): Likewise.
14861 * include/grub/misc.h (ALIGN_DOWN): New definition.
14862 * include/grub/mm.h (grub_mm_check_real): New proto.
14863 (GRUB_MM_CHECK): New definition.
14864 * include/grub/mm_private.h: New file.
14865 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14866 (grub_multiboot_get_mbi_size): Removed.
14867 (grub_multiboot_make_mbi): Change prottype.
14868 (grub_multiboot_set_accepts_video): New proto.
14869 (grub_multiboot_add_elfsyms): Likewise.
14870 (grub_multiboot_payload_eip): New variable.
14871 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14872 New prototype.
14873 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14874 New definition.
14875 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14876 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14877 * include/grub/powerpc/ieee1275/loader.h: Removed.
14878 * include/grub/powerpc/memory.h: New file.
14879 * include/grub/powerpc/relocator.h: Likewise.
14880 * include/grub/relocator.h: Likewise.
14881 * include/grub/relocator_private.h: Likewise.
14882 * include/grub/sparc64/ieee1275/loader.h: Removed.
14883 * include/grub/x86_64/memory.h: New file.
14884 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14885 (grub_xnu_heap_malloc): Likewise.
14886 (grub_xnu_heap_real_start): Removed.
14887 (grub_xnu_heap_start): Likewise.
14888 (grub_xnu_relocator): New variable.
14889 (grub_xnu_heap_target_start): Likewise.
14890 * tests/util/grub-shell.in: Support non-pc.
14891 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14892
5303b85d
VS
148932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14896 on malloc error.
14897 (grub_bidi_logical_to_visual): Check that malloc succeded.
14898 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14899 puts.
14900 (grub_xputs_normal): Likewise.
14901
d768d159
VS
149022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14905 extra_dist.
14906
149072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14910
5bf84df4
VS
149112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14914
3626810e
VS
149152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14918 dprintf.
14919
a7363f53
BC
149202010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14921
14922 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14923
902f75f6
VS
149242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/normal/term.c (print_more): Fix a memory leak.
14927 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14928 (grub_xputs_normal): Likewise.
14929
3c707967
VS
149302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14933 the begining of the string
14934
2053cc07
VS
149352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * grub-core/script/script.c (grub_script_parse): Free parsed on
14938 failure.
14939
46422ebf
VS
149402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14943 on failure.
14944
9e0fa3f6
VS
149452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14948 return.
14949
3393cf16
VS
149502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14953 (scroll_up): Fix a memory leak.
14954
b17540cb
VS
149552010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14958 errors.
14959
67140446
VS
149602010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 Handle USB pendrives exposed as floppies.
14963
14964 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14965 floppy.
14966 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14967 Check for partitions on all devices.
14968
e35e46fc
VS
149692010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14972 (readkey): Likewise.
14973
d24c6190
BC
149742010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14975
14976 Multiple variable names support to "export" command.
14977
14978 * normal/context.c (grub_cmd_export): "export" command supports
14979 multiple variable names.
14980
04ddcc6a
ST
149812010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14982
14983 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14984 --target=drive output to Mach device name.
14985
0c8b61d8
BC
149862010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14987
14988 New Automake based build system for GRUB.
14989
14990 * ABOUT-NLS: New file.
14991 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14992 in Makefile.util.def file.
14993 * Makefile.util.def: New file. Autogen build definitions file for
14994 GRUB host utils.
14995 * conf/Makefile.common: New file. Common variables for GRUB host
14996 utils and target modules.
14997 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14998 * docs/Makefile.am: New file. Automake file for docs.
14999 * gentpl.py: New file. Python script to generate Autogen
15000 template.
15001 * grub-core/Makefile.am: New file. GRUB target modules' rules
15002 that doesn't fit in Makefile.core.def file.
15003 * grub-core/Makefile.core.def: New file. Autogen build
15004 definitions file for GRUB target modules.
15005 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15006 specific setjmp.S file.
15007 * po/Makefile.am: New file.
15008
15009 * .bzrignore: New ignores.
15010 * INSTALL: New requirements, without Ruby.
15011 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15012 * autogen.sh: Updated to invoke autogen as necessary.
15013 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15014 and defines for Automake conditionals.
15015 * geninit.sh: Refactoring.
15016
15017 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15018 necessary.
15019 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15020 New prototype.
15021
15022 * include/grub/test.h: Fix functional test modules' naming.
15023 * grub-core/tests/example_functional_test.c: Fix test module name.
15024
15025 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15026 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15027 * util/grub-editenv.c: Likewise.
15028 * util/grub-fstest.c: Likewise.
15029 * util/grub-mkdevicemap.c: Likewise.
15030 * util/grub-mkfont.c: Likewise.
15031 * util/grub-mkimage.c: Likewise.
15032 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15033 * util/grub-probe.c: Likewise.
15034 * util/grub-script-check.c: Likewise.
15035 * util/i386/pc/grub-setup.c: Likewise.
15036 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15037
15038 * tests/util/grub-shell.in: Fix override directory path.
15039 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15040 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15041
15042 * util/lvm.c: Update #includes.
15043 * util/raid.c: Likewise.
15044 * util/resolve.c: Likewise.
15045 * grub-core/bus/emu/pci.c: Likewise.
15046 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15047 * grub-core/lib/posix_wrap/string.h: Likewise.
15048 * grub-core/kern/emu/main.c: Likewise.
15049
15050 * grub-core/gensymlist.sh: New file. Script for generating kernel
15051 symbols file.
15052 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15053
15054 * grub-core/gentrigtables.c: Fix unused variable warnings.
15055
15056 * Makefile.in: Removed.
15057 * conf/any-emu.rmk: Removed.
15058 * conf/common.rmk: Removed.
15059 * conf/i386-coreboot.rmk: Removed.
15060 * conf/i386-efi.rmk: Removed.
15061 * conf/i386-ieee1275.rmk: Removed.
15062 * conf/i386-multiboot.rmk: Removed.
15063 * conf/i386-pc.rmk: Removed.
15064 * conf/i386-qemu.rmk: Removed.
15065 * conf/i386.rmk: Removed.
15066 * conf/mips-yeeloong.rmk: Removed.
15067 * conf/mips.rmk: Removed.
15068 * conf/powerpc-ieee1275.rmk: Removed.
15069 * conf/sparc64-ieee1275.rmk: Removed.
15070 * conf/tests.rmk: Removed.
15071 * conf/x86-efi.rmk: Removed.
15072 * conf/x86_64-efi.rmk: Removed.
15073 * gendistlist.sh: Removed.
15074 * geninitheader.sh: Removed.
15075 * genkernsyms.sh.in: Removed.
15076 * genmk.rb: Removed.
15077 * gensymlist.sh.in: Removed.
15078 * mkinstalldirs: Removed.
15079 * boot: Moved ...
15080 * grub-core/boot: ... to here.
15081 * bus: Moved ...
15082 * grub-core/bus: ... to here.
15083 * commands: Moved ...
15084 * grub-core/commands: ... to here.
15085 * disk: Moved ...
15086 * grub-core/disk: ... to here.
15087 * efiemu: Moved ...
15088 * grub-core/efiemu: ... to here.
15089 * font: Moved ...
15090 * grub-core/font: ... to here.
15091 * fs: Moved ...
15092 * grub-core/fs: ... to here.
15093 * gencmdlist.sh: Moved ...
15094 * grub-core/gencmdlist.sh: ... to here.
15095 * genemuinit.sh: Moved ...
15096 * grub-core/genemuinit.sh: ... to here.
15097 * genemuinitheader.sh: Moved ...
15098 * grub-core/genemuinitheader.sh: ... to here.
15099 * genfslist.sh: Moved ...
15100 * grub-core/genfslist.sh: ... to here.
15101 * genhandlerlist.sh: Moved ...
15102 * grub-core/genhandlerlist.sh: ... to here.
15103 * genmoddep.awk: Moved ...
15104 * grub-core/genmoddep.awk: ... to here.
15105 * genmodsrc.sh: Moved ...
15106 * grub-core/genmodsrc.sh: ... to here.
15107 * genpartmaplist.sh: Moved ...
15108 * grub-core/genpartmaplist.sh: ... to here.
15109 * genparttoollist.sh: Moved ...
15110 * grub-core/genparttoollist.sh: ... to here.
15111 * genterminallist.sh: Moved ...
15112 * grub-core/genterminallist.sh: ... to here.
15113 * gentrigtables.c: Moved ...
15114 * grub-core/gentrigtables.c: ... to here.
15115 * genvideolist.sh: Moved ...
15116 * grub-core/genvideolist.sh: ... to here.
15117 * gettext: Moved ...
15118 * grub-core/gettext: ... to here.
15119 * gfxmenu: Moved ...
15120 * grub-core/gfxmenu: ... to here.
15121 * gnulib: Moved ...
15122 * grub-core/gnulib: ... to here.
15123 * hello: Moved ...
15124 * grub-core/hello: ... to here.
15125 * hook: Moved ...
15126 * grub-core/hook: ... to here.
15127 * io: Moved ...
15128 * grub-core/io: ... to here.
15129 * kern: Moved ...
15130 * grub-core/kern: ... to here.
15131 * lib: Moved ...
15132 * grub-core/lib: ... to here.
15133 * loader: Moved ...
15134 * grub-core/loader: ... to here.
15135 * mmap: Moved ...
15136 * grub-core/mmap: ... to here.
15137 * normal: Moved ...
15138 * grub-core/normal: ... to here.
15139 * partmap: Moved ...
15140 * grub-core/partmap: ... to here.
15141 * parttool: Moved ...
15142 * grub-core/parttool: ... to here.
15143 * script: Moved ...
15144 * grub-core/script: ... to here.
15145 * term: Moved ...
15146 * grub-core/term: ... to here
15147 * tests/example_functional_test.c: Moved ...
15148 * grub-core/tests/example_functional_test.c: ... to here.
15149 * tests/lib/functional_test.c: Moved ...
15150 * grub-core/tests/lib/functional_test.c: ... to here.
15151 * tests/lib/test.c: Moved ...
15152 * grub-core/tests/lib/test.c: ... to here.
15153 * video: Moved ...
15154 * grub-core/video: ... to here.
15155
645586e6
BC
151562010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15157
15158 Replace --enable-grub-emu-modules with grub-emu-lite.
15159
15160 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15161 cache.S.
15162
15163 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15164 * kern/emu/full.c: New file. For grub-emu specific initialization.
15165 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15166 * kern/emu/main.c: Call initialization function grub_emu_init.
15167
15168 * Makefile.in: Include grub-emu-lite in install.
15169 * commands/parttool.c: Use grub_no_autoload to differentiate
15170 between grub-emu and grub-emu-lite.
15171 * include/grub/misc.h: New variable grub_no_autoload.
15172
15173 * conf/any-emu.rmk: New rules for grub-emu-lite.
15174 * configure.ac: Remove --enable-grub-emu-modules.
15175 * genmk.rb: Cleanup unnecessary rules.
15176 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15177
15178 * normal/main.c: Don't load list files on grub-emu-lite.
15179 * util/misc.c (grub_arch_sync_caches): Removed.
15180
f86a4030
CW
151812010-08-23 Colin Watson <cjwatson@ubuntu.com>
15182
15183 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15184 grub-mkimage rather than grub-mkelfimage.
15185 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15186
06776944
VS
151872010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15190 a key after CapsLock or NumLock. It's just a qemu bug.
15191
df262419
VS
151922010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15195 needed by libusb wrapper.
15196
b40ea81b
ST
151972010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15198
15199 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15200
dee50575
VS
152012010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15204 --nounzip is passed.
15205
fb1d7b79
VS
152062010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 USB hotunplugging and USB serial support.
15209
15210 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15211 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15212 (grub_uhci_transfer): Respect timeout and set *actual.
15213 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15214 non-standard length.
15215 (grub_usb_device_attach): Autoload modules.
15216 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15217 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15218 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15219 users updated.
15220 (grub_usb_add_hub): Fill nports and children.
15221 (attach_root_port): Receive hub instead of controller.
15222 All users updated. Fill hub->devices.
15223 (grub_usb_root_hub): Allocate hub->devices.
15224 (detach_device): New function.
15225 (poll_nonroot_hub): Fill children and detach devices.
15226 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15227 actual arguments. All users updated.
15228 (grub_usb_bulk_read_extended): New function.
15229 * bus/usb/serial/common.c: New file.
15230 * bus/usb/serial/ftdi.c: Likewise.
15231 * bus/usb/serial/pl2303.c: Likewise.
15232 * commands/terminal.c (handle_command): Support wildcard.
15233 * commands/usbtest.c: Output "Unknown" instead of empty string.
15234 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15235 (usbserial_common_mod_SOURCES): New variable.
15236 (usbserial_common_mod_CFLAGS): Likewise.
15237 (usbserial_common_mod_LDFLAGS): Likewise.
15238 (pkglib_MODULES): Add usbserial_pl2303.mod.
15239 (usbserial_pl2303_mod_SOURCES): New variable.
15240 (usbserial_pl2303_mod_CFLAGS): Likewise.
15241 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15242 (pkglib_MODULES): Add usbserial_ftdi.mod.
15243 (usbserial_ftdi_mod_SOURCES): New variable.
15244 (usbserial_ftdi_mod_CFLAGS): Likewise.
15245 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15246 (pkglib_MODULES): Add serial.mod.
15247 (serial_mod_SOURCES): New variable.
15248 (serial_mod_CFLAGS): Likewise.
15249 (serial_mod_LDFLAGS): Likewise.
15250 * conf/i386-pc.rmk: Likewise.
15251 * conf/mips-yeeloong.rmk: Likewise.
15252 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15253 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15254 * disk/usbms.c (first_available_slot): New variable.
15255 (grub_usbms_attach): Don't reuse free slots due to potential cache
15256 problems.
15257 * include/grub/serial.h: Moved to ..
15258 * include/grub/ns8250.h: ...this.
15259 * include/grub/serial.h: New file.
15260 * include/grub/term.h (grub_term_poll_usb): New variable.
15261 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15262 readkey. All users updated.
15263 (grub_terminfo_output_state): Pass term to put.
15264 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15265 (grub_usb_controller_dev): Add timeout and actual arguments to
15266 transfer. All users updated.
15267 (grub_usb_interface): New field detach_data.
15268 (grub_usb_device): New fields children and nports.
15269 (grub_usb_ep_type_t): New type.
15270 (grub_usb_get_ep_type): New function.
15271 (grub_usb_bulk_read_extended): Likewise.
15272 * include/grub/usbdesc.h (grub_usb_desc): New type.
15273 * include/grub/usbserial.h: New file.
15274 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15275 * kern/term.c (grub_term_poll_usb): New variable.
15276 (grub_getkey): Call grub_term_poll_usb if set.
15277 (grub_checkkey): Likewise.
15278 (grub_getkeystatus): Likewise.
15279 * term/serial.c: Moved controller-specific parts to ...
15280 * term/ns8250.c: ... here.
15281 * term/serial.c: Mostly rewritten.
15282 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15283 according to spec.
15284
21a313de
RM
152852010-08-20 Robert Millan <rmh@gnu.org>
15286
15287 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15288 a separate module and maybe other interesting combinations.
15289
15290 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15291 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15292 (kfreebsd_entry): Add generic filesystem module load routine.
15293 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15294
63c734a6
CW
152952010-08-20 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15298 "numcenter" (I misunderstood the purpose of this entry).
15299 * docs/grub.texi (sendkey): Likewise.
15300
c4d16542
CW
153012010-08-20 Colin Watson <cjwatson@ubuntu.com>
15302
15303 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15304 status flag options; simply omitting the option is equivalent and
15305 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15306 (keysym_table): Rename "num5numlock" to "numlock".
15307 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15308 can uniformly say that only the last of multiple `sendkey'
15309 invocations has any effect.
15310 * docs/grub.texi (sendkey): New section.
15311
93541d66
CW
153122010-08-19 Colin Watson <cjwatson@ubuntu.com>
15313
15314 * commands/i386/pc/sendkey.c (options): Fix three typos.
15315
b4ece5e1
VS
153162010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15317
15318 Implement sendkey support.
15319
15320 * commands/i386/pc/sendkey.c: New file.
15321 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15322 (sendkey_mod_SOURCES): New variable.
15323 (sendkey_mod_CFLAGS): Likewise.
15324 (sendkey_mod_LDFLAGS): Likewise.
15325
51f1f5af
CW
153262010-08-18 Colin Watson <cjwatson@ubuntu.com>
15327
15328 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15329 fix warnings from Autoconf.
15330
9da94e05
CW
153312010-08-18 Colin Watson <cjwatson@ubuntu.com>
15332
15333 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15334 to avoid false positives with some assemblers that output things
15335 like "someprefix_func" as part of their output.
15336
729a0f2e
RM
153372010-08-15 Robert Millan <rmh@gnu.org>
15338
15339 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15340 errors.
15341 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15342 grub_get_libzfs_handle() errors.
15343
f3710e08
RM
153442010-08-14 Robert Millan <rmh@gnu.org>
15345
15346 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15347 filesystem is not ZFS.
15348
7a3c13de
BC
153492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15350
15351 Fix for misspelled color names defaulting to black/black (bug
15352 reported by Doug Nazar)
15353
15354 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15355 status to prototype.
15356 * normal/color.c (grub_parse_color_name_pair): Return failure
15357 status.
15358 (grub_env_write_color_normal): Ignore bad color names.
15359 (grub_env_write_color_highlight): Likewise.
15360 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15361
ab8ba50d
BC
153622010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15363
15364 "shift" command support to GRUB script.
15365
15366 * include/grub/script_sh.h (grub_script_shift): New prototype.
15367 * script/execute.c (grub_script_shift): New function.
15368 * script/main.c (grub_script_init): Register shift command.
15369 (grub_script_fini): Unregister shift command.
15370 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15371
15372 * tests/grub_script_shift.in: New testcase.
15373 * conf/tests.rmk: Rules for new testcase.
15374
4d61999e
BC
153752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15376
15377 "continue" command support to GRUB script.
15378
15379 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15380 (grub_script_break): Continue support.
15381 * script/main.c (grub_script_init): Register continue command.
15382 (grub_script_fini): Unregister continue command.
15383
15384 * tests/grub_script_continue.in: New testcase.
15385 * conf/tests.rmk: Rules for new testcase.
15386
4df51e00
BC
153872010-08-12 BVK Chaitanya <bvk@dbook>
15388
15389 "break" command support to GRUB script.
15390
15391 * conf/common.rmk: Rule updates to grub-script-check.
15392 * include/grub/misc.h (grub_min): New function.
15393 * include/grub/script_sh.h (grub_script_init): New prototype.
15394 (grub_script_fini): New prototype.
15395 (grub_script_break): New prototype.
15396 * script/main.c (grub_script_init): New function.
15397 (grub_script_fini): New function.
15398 * script/execute.c (grub_script_break): New function.
15399 * normal/main.c: Calls to grub_script_{init,fini}.
15400 * util/grub-script-check.c (grub_script_break): New function.
15401
15402 * tests/grub_script_break.in: New testcase.
15403 * conf/tests.rmk: Rules for new test case.
15404
f12c8420
BC
154052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15406
15407 Function parameters support to GRUB script.
15408
15409 * script/yylex.l (VARIABLE): Regular expression update.
15410 * script/function.c (grub_script_function_call): Moved ...
15411 * script/execute.c (grub_script_function_call): ... to here.
15412 (grub_script_execute_arglist_to_argv): Removed.
15413 (grub_script_arglist_to_argv): New function.
15414 * script/argv.c: New file.
15415 (grub_script_argv_free): New function.
15416 (grub_script_argv_next): Likewise.
15417 (grub_script_argv_append): Likewise.
15418 (grub_script_argv_split_append): Likewise.
15419 * include/grub/script_sh.h (grub_script_argv): New struct.
15420 (grub_script_argv_free): New function.
15421 (grub_script_argv_next): Likewise.
15422 (grub_script_argv_append): Likewise.
15423 (grub_script_argv_split_append): Likewise.
15424
15425 * conf/common.rmk (normal.mod): New source script/argv.c.
15426
15427 * tests/grub_script_echo1.in: More tests.
15428 * tests/grub_script_vars1.in: Likewise.
15429 * tests/grub_script_functions.in: New test case.
15430 * conf/tests.rmk: Rules for new testcase.
15431
8022b748
BC
154322010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15433
15434 Remove grub_script_cmdblock struct.
15435
15436 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15437 * script/parser.y: Likewise.
15438 * script/execute.c: Rename cmdblock suffix to cmdlist.
15439 * script/script.c: Likewise.
15440 * util/grub-script-check.c: Likewise.
15441
79a6ba61
YB
154422010-08-11 Yves Blusseau <blusseau@zetam.org>
15443
15444 * .bzrignore: add grub-macho2img
15445
d04b9414
VS
154462010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15447
15448 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15449
f947ab49
VS
154502010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15451
15452 Remove the dump of sm712 initialisation sequence.
15453
15454 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15455 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15456 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15457 (GRUB_VGA_CR_*): Added many registers.
15458 (GRUB_VGA_SR_*): Likewise.
15459 (GRUB_VGA_GR_*): Likewise.
15460 (grub_vga_write_arx): New function.
15461 (grub_video_hw_config): New struct.
15462 (grub_vga_set_geometry): New function.
15463 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15464 GRUB_PCI_CLASS_SUBCLASS_VGA.
15465 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15466 * video/sm712.c (grub_sm712_write_reg): New function
15467 (grub_sm712_read_reg): Likewise.
15468 (grub_sm712_sr_write): Likewise.
15469 (grub_sm712_gr_write): Likewise.
15470 (grub_sm712_cr_write): Likewise.
15471 (grub_sm712_write_arx): Likewise.
15472 (grub_sm712_cr_shadow_write): Likewise.
15473 (grub_sm712_write_dda_lookup): Likewise.
15474 (grub_video_sm712_setup): Initialise the video rather then
15475 blindly replay the dump.
15476 (main) [TEST]: Add a routine to be able to compile as standalone for
15477 tests.
15478 * video/sm712_init.c (sm712_init): Removed.
15479 (sm712_sr_seq1): New array.
15480 (sm712_sr_seq2): Likewise.
15481
f0206638
VS
154822010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * include/grub/vga.h: Add missing grub/pci.h include.
15485
2764da3b
YB
154862010-08-10 Yves Blusseau <blusseau@zetam.org>
15487
15488 * util/grub-macho2img.c (main): fix typo
15489
cf0c775e
VS
154902010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15493 (grub_vga_gr_read): Likewise.
15494 (grub_vga_cr_write): Likewise.
15495 (grub_vga_cr_read): Likewise.
15496 (grub_vga_sr_write): Likewise.
15497 (grub_vga_sr_read): Likewise.
15498 (grub_vga_palette_read): Likewise.
15499 (grub_vga_palette_write): Likewise.
15500 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15501 (grub_sm712_sr_read): New function.
15502 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15503 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15504
07f360e9
RM
155052010-08-09 Robert Millan <rmh@gnu.org>
15506
15507 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15508 out unused variables on non-ZFS build.
15509
346c2072
RM
155102010-08-08 Robert Millan <rmh@gnu.org>
15511
15512 Fix path generation for sub-filesystems in ZFS.
15513
15514 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15515 missing slash.
15516
71175420
RM
155172010-08-08 Robert Millan <rmh@gnu.org>
15518
15519 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15520
0d8286f3
RM
155212010-08-08 Robert Millan <rmh@gnu.org>
15522
15523 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15524 exist, issue a proper error message (rely on `ls' for translated
15525 strings).
15526
55dd2924
RM
155272010-08-08 Robert Millan <rmh@gnu.org>
15528
15529 Fix grub-probe invocation.
15530
15531 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15532
d3dd9e80
RM
155332010-08-04 Robert Millan <rmh@gnu.org>
15534
15535 * configure.ac: Remove checks for getfsstat() and getmntany().
15536 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15537 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15538 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15539 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15540 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15541 function.
15542 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15543 via find_mount_point_from_dir() and getfsstat() / getmntany().
15544
0de22aa9
RM
155452010-08-04 Robert Millan <rmh@gnu.org>
15546
15547 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15548 (grub_find_zpool_from_mount_point): Merge into ...
15549 (grub_find_zpool_from_dir): ... this.
15550 * kern/emu/misc.c: Likewise.
15551
15552 * kern/emu/misc.c
15553 (grub_make_system_path_relative_to_its_root): Replace
15554 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15555 with grub_find_zpool_from_dir().
15556 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15557
62858144
RM
155582010-08-04 Robert Millan <rmh@gnu.org>
15559
15560 Support OpenSolaris in ZFS device resolution.
15561
15562 * configure.ac: Check for getmntany().
15563 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15564 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15565 support.
15566
9dd6fd50
RM
155672010-08-03 Robert Millan <rmh@gnu.org>
15568
15569 Fix grub-emu build.
15570
15571 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15572 * include/grub/emu/misc.h: ... here.
15573
15574 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15575 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15576
15577 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15578 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15579 (grub_get_libzfs_handle): Move to ...
15580 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15581 (grub_get_libzfs_handle): ... here.
15582
c9f7ff97
BC
155832010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15584
15585 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15586 as command name case.
15587
a870a783
CW
155882010-08-02 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * disk/raid.c (insert_array): Select unique numbers for named arrays
15591 as well, for use as keys in the disk cache.
15592
c7db243b
RM
155932010-08-01 Robert Millan <rmh@gnu.org>
15594
15595 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15596 kFreeBSD device name, except on ZFS where the filesystem label is
15597 used.
15598 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15599 `/boot/zfs/zpool.cache'.
15600 Set mountfrom kernel variable using ${kfreebsd_device}.
15601
f7abdefb
RM
156022010-08-01 Robert Millan <rmh@gnu.org>
15603
15604 Make it even harder to use uninitialized `libzfs_handle' (and
15605 make the interface a bit simpler).
15606
15607 * include/grub/util/misc.h (grub_util_init_libzfs)
15608 (libzfs_handle): Remove.
15609 (grub_get_libzfs_handle): New prototype.
15610
15611 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15612 attribute.
15613 (grub_util_init_libzfs): Remove.
15614 (grub_get_libzfs_handle): New function.
15615
15616 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15617 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15618 accessing `libzfs_handle' directly.
15619
c882acc0
RM
156202010-08-01 Robert Millan <rmh@gnu.org>
15621
15622 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15623 (grub_find_zpool_from_mount_point): New function prototypes.
15624
15625 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15626 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15627
15628 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15629 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15630 `static' attribute.
15631
15632 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15633 finding zpool from mount point into ...
15634 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15635
15636 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15637 requested path is part of a ZFS pool, use
15638 grub_find_zpool_from_mount_point() to detect its filesystem name,
15639 and generate a path with `/fsname@path' syntax.
15640
8bfe31d8
CW
156412010-08-01 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15644 (void) rather than () so that this is a proper prototype.
15645
553df63d
VS
156462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15649
8687cf07
VS
156502010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15651
15652 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15653 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15654
ea9be8ea
CW
156552010-08-01 Colin Watson <cjwatson@ubuntu.com>
15656
15657 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15658
6eea041a
CW
156592010-08-01 Colin Watson <cjwatson@ubuntu.com>
15660
15661 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15662
2cfb45df
CW
156632010-08-01 Colin Watson <cjwatson@ubuntu.com>
15664
15665 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15666 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15667 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15668 disable gfxpayload.
15669 (Shell-like scripting): Add real content.
15670 (Serial terminal): Suggest `terminal_input serial; terminal_output
15671 serial' rather than putting the two commands on separate lines,
15672 since console input will be inoperative after the first command.
15673 (menuentry): Document --class, --users, and --hotkey options.
15674 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15675 Vladimir Serbinenko).
15676
7decd202
VS
156772010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
156782010-08-01 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15681
c882acc0
RM
156822010-08-01 Robert Millan <rmh@gnu.org>
15683
15684 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15685 (grub_find_zpool_from_mount_point): New function prototypes.
15686
15687 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15688 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15689
15690 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15691 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15692 `static' attribute.
15693
15694 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15695 finding zpool from mount point into ...
15696 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15697
15698 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15699 requested path is part of a ZFS pool, use
15700 grub_find_zpool_from_mount_point() to detect its filesystem name,
15701 and generate a path with `/fsname@path' syntax.
15702
deb0caa3
RM
157032010-08-01 Robert Millan <rmh@gnu.org>
15704
15705 Prevent accidental use of uninitialized libzfs_handle.
15706
15707 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15708 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15709 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15710
ce04ef47
CW
157112010-08-01 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15714 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15715
ebf53056
RM
157162010-08-01 Robert Millan <rmh@gnu.org>
15717
15718 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15719
3710bb6b
RM
157202010-07-31 Robert Millan <rmh@gnu.org>
15721
15722 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15723
8072efeb
RM
157242010-07-31 Robert Millan <rmh@gnu.org>
15725
15726 * kern/emu/misc.c: Add missing license header.
15727
3169f4c7
RM
157282010-07-31 Robert Millan <rmh@gnu.org>
15729
15730 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15731
15732 * include/grub/util/libnvpair.h: Include `<config.h>'.
15733 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15734 declaring libnvpair prototypes ourselves.
15735 * include/grub/util/libzfs.h: Include `<config.h>'.
15736 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15737 declaring libzfs prototypes ourselves.
15738
15739 (libzfs_handle): Moved to ...
15740 * include/grub/util/misc.h (libzfs_handle): ... here.
15741 Include `<grub/util/libzfs.h>'.
15742
c9a00aee
RM
157432010-07-30 Robert Millan <rmh@gnu.org>
15744
15745 * include/grub/emu/misc.h: Add missing license header.
15746
a184f9c8
RM
157472010-07-30 Robert Millan <rmh@gnu.org>
15748
15749 Enable `grub-probe -t device' resolution on ZFS.
15750
15751 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15752 * include/grub/util/libnvpair.h: New file.
15753 * include/grub/util/libzfs.h: New file.
15754
15755 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15756 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15757 `<grub/util/libnvpair.h>'.
15758 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15759
15760 (find_mount_point_from_dir): New static function.
15761 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15762 function.
15763 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15764 find_root_device_from_libzfs() before ressorting to find_root_device().
15765
15766 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15767 prototype.
15768 * util/misc.c: Include `<grub/util/libzfs.h>'.
15769 (grub_util_init_libzfs): New function.
15770 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15771 [HAVE_LIBZFS] (fini_libzfs): New static function.
15772 (grub_util_init_libzfs): New function.
15773 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15774
f7790cdd
RM
157752010-07-30 Robert Millan <rmh@gnu.org>
15776
15777 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15778 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15779 `warn_unused_result' attribute.
15780 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15781 (grub_xasprintf, grub_xvasprintf): Likewise.
15782 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15783
0806b63c
RM
157842010-07-29 Robert Millan <rmh@gnu.org>
15785
15786 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15787 (probe): Handle `PRINT_FS_LABEL'.
15788 (main): Handle `-t fs_label'.
15789
9f841f5c
RM
157902010-07-29 Robert Millan <rmh@gnu.org>
15791
15792 * configure.ac: Remove grub-mkisofs checks.
15793
46371121
VS
157942010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15797 Reported by: Lennart Sorensen.
15798
157992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15802 prior to terminal_input/terminal_output separation. It's been over 1.5
15803 years and those versions weren't widely deployed.
15804
a9600892
CW
158052010-07-22 Colin Watson <cjwatson@ubuntu.com>
15806
15807 * disk/raid.c (insert_array): Don't count named arrays when looking
15808 for unused array numbers.
697e053c 15809 Reported and tested by: Michael Guntsche.
a9600892 15810
c03507df
CW
158112010-07-20 Colin Watson <cjwatson@ubuntu.com>
15812
15813 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15814 implementation of this so that grub-emu links again, with a note
15815 that this should support hotplugging in the future.
15816
b26f1c11
CW
158172010-07-20 Colin Watson <cjwatson@ubuntu.com>
15818
15819 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15820
efc9d7f1
CW
158212010-07-20 Colin Watson <cjwatson@ubuntu.com>
15822
15823 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15824 handle on failure.
15825 (grub_loopback_close): Remove empty function.
15826 (grub_loopback_dev): Remove close method.
15827
dd8ff5c9
CW
158282010-07-20 Colin Watson <cjwatson@ubuntu.com>
15829
15830 Disable EFI cursor when the EFI console becomes inactive.
15831
15832 * term/efi/console.c (grub_efi_console_init): New function.
15833 (grub_efi_console_fini): New function.
15834 (grub_console_term_output): Register init and fini methods.
15835
5e3bec67
VS
158362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15839 sh script.
15840
afaec079
VS
158412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * disk/loopback.c (grub_loopback): Replace filename with file.
15844 (delete_loopback): Handle new semantics.
15845 (grub_cmd_loopback): Likewise.
15846 (grub_loopback_iterate): Likewise.
15847 (grub_loopback_close): Likewise.
15848
a6a11f3c
VS
158492010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15852 with -p "".
15853 Reported by: Tito Keitel.
15854
64a638b0
VS
158552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * docs/grub.texi (Naming convention): Document new naming convention.
15858
ab8ba957
VS
158592010-07-20 Vadim Solomin <vadic052@gmail.com>
158602010-07-20 Colin Watson <cjwatson@ubuntu.com>
15861
15862 Generate device.map in something closer to the old ordering.
15863
15864 * util/deviceiter.c (struct device): New declaration.
15865 (compare_file_names): Rename to ...
15866 (compare_devices): ... this. Sort by kernel name in preference to
15867 the stable by-id name, but keep the latter as a fallback comparison.
15868 Update header comment.
15869 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15870 of `struct device' rather than of plain file names.
15871
a29d6a4b
TF
158722010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15873
15874 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15875 on i386.
15876
39d824e8
VS
158772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15880 hardcoding size.
15881 (setv1table): Likewise.
15882
f058276b
FZ
158832010-07-20 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15886 removing the homehost if present.
15887 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15888 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15889 removing the homehost if present.
15890 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15891 if possible.
15892 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15893
15894 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15895 parameter. Set its pointer target to 0.
15896 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15897 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15898 `data_offset' value from the superblock for 1.x metadata.
15899 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15900 data on the device.
15901 (insert_array): Record the start sector of data on the device.
15902 (grub_raid_register): Pass start_sector parameters to
15903 grub_raid_list->detect and insert_array.
15904 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15905 member.
15906 (struct grub_raid): Add start_sector parameter to `detect'.
15907
15908 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15909 __attribute__ ((packed)), leaving a comment.
15910 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15911 (grub_mdraid_detect_09): ... here and ...
15912 (grub_mdraid_detect_1x): ... here.
15913
159142010-07-20 Peter Henn <peter.henn@web.de>
15915
15916 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15917 chunk size and disk size, which are already given as sector counts
15918 as distinct from the 0.90 units. Fetch the correct device number
15919 from the role table instead of using the table index.
15920
159212010-07-20 Felix Zielcke <fzielcke@z-51.de>
15922
15923 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15924 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15925 (WriteMostly1): New macro.
15926 Set array->name to NULL for metadata format 0.90. Add support for
15927 metadata 1.x. Fix some comments.
15928 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15929 few comments.
15930 * util/getroot.c (grub_util_get_grub_dev): Add support for
15931 /dev/md/name style devices.
15932
4b761da9
CW
159332010-07-20 Colin Watson <cjwatson@ubuntu.com>
15934
15935 * .bzrignore: Ignore 20_linux_xen.
15936
5771289a
CW
159372010-07-17 Colin Watson <cjwatson@ubuntu.com>
15938
15939 * util/import_unicode.py: Remove unnecessary imports.
15940
5dab68df
AN
159412010-07-17 Aleš Nesrsta <starous@volny.cz>
15942
15943 Hotplugging and USB hub support.
15944
15945 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15946 (grub_ohci): Likewise.
15947 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15948 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15949 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15950 (GRUB_OHCI_CTRL_EDS): Likewise.
15951 (GRUB_OHCI_BULK_EDS): Likewise.
15952 (GRUB_OHCI_TDS): Likewise.
15953 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15954 (grub_ohci_ed_phys2virt): New function.
15955 (grub_ohci_virt_to_phys): Likewise.
15956 (grub_ohci_td_phys2virt): Likewise.
15957 (grub_ohci_td_virt2phys): Likewise.
15958 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15959 attachment.
15960 (grub_ohci_find_ed): New function.
15961 (grub_ohci_alloc_td): Likewise.
15962 (grub_ohci_free_td): Likewise.
15963 (grub_ohci_free_tds): Likewise.
15964 (grub_ohci_transfer): Use previously allocated memory.
15965 (grub_ohci_portstatus): Reset status changed bit.
15966 (grub_ohci_detect_dev): Supply status changed.
15967 (grub_ohci_fini_hw): Free memory.
15968 (grub_ohci_restore_hw): Reallocate memory.
15969 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15970 Reset status change.
15971 (grub_uhci_detect_dev): Supply status_change.
15972 * bus/usb/usb.c (attach_hooks): New var.
15973 (grub_usb_device_attach): New function.
15974 (grub_usb_register_attach_hook_class): Likewise.
15975 (grub_usb_unregister_attach_hook_class): Likewise.
15976 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15977 (grub_usb_add_hub): Reset connection changed bit.
15978 (attach_root_port): New function.
15979 (grub_usb_root_hub): Likewise.
15980 (poll_nonroot_hub): Likewise.
15981 (grub_usb_poll_devices): Likewise.
15982 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15983 * disk/usbms.c (grub_usbms_open): Use device hooks.
15984 (grub_usbms_iterate) :Poll devices.
15985 (grub_usbms_finddevs): Split into ...
15986 (grub_usbms_attach): ... this ...
15987 (grub_usbms_attach): ... and this.
15988 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15989 in detect_dev.
15990 (grub_usb_interface): New fields attached and detach_hook.
15991 (grub_usb_attach_hook_class): New type.
15992 (grub_usb_attach_desc): New struct.
15993 (grub_usb_register_attach_hook_class): New function.
15994 (grub_usb_unregister_attach_hook_class): Likewise.
15995 (grub_usb_poll_devices): Likewise.
15996 (grub_usb_device_attach): Likewise.
15997 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15998 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15999
3222efaf
VS
160002010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16001
16002 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16003 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16004 delta determination style. Works with most NetBSD partitions too.
16005
139b714a
VS
160062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16007
16008 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16009 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16010
986aad56
VS
160112010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16014
99be513c
AB
160152010-07-14 Anton Blanchard <anton@samba.org>
16016
16017 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16018 ET_DYN files.
16019
18075f62
GS
160202010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16021
16022 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16023
8d9a5b15
GS
160242010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16025
16026 * kern/partition.c (grub_partition_check_containment): New function to
16027 check that a partition is physically contained in a parent. Since
16028 offsets are relative (and non-negative), this reduces to checking that
16029 the partition ends before its parent.
16030 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16031 (grub_partition_iterate): Likewise.
16032 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16033 comments.
16034 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16035 partitions that start before their parent, and add debug printfs.
16036
19563c25
CW
160372010-07-13 Colin Watson <cjwatson@ubuntu.com>
16038
16039 * Makefile.in (.SUFFIX): Spell correctly, as ...
16040 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16041 bare module name without `.mod', e.g. `test') tried to invoke a
16042 Modula-2 compiler.
16043
1a1f1e67
CW
160442010-07-13 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * README: Point to the Info manual.
16047
811b0dca
JS
160482010-07-13 Jiro SEKIBA <jir@unicus.jp>
16049
16050 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16051 2nd superblock position from partition size.
16052
e4f4eafc
CW
160532010-07-10 Colin Watson <cjwatson@ubuntu.com>
16054
16055 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16056 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16057 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16058 outputs.
16059
4274c30f
VS
160602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 Restructure SCSI .id handling.
16063 Reported and tested by: Aleš Nesrsta.
16064
16065 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16066 (grub_atapi_dev): Changed .name to "ata". New field .id.
16067 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16068 (grub_usbms_dev): New field .id.
16069 * disk/scsi.c (grub_scsi_iterate): Generate name.
16070 (grub_scsi_open): Parse name.
16071 * include/grub/scsi.h (grub_make_scsi_id): New function.
16072 (grub_scsi_dev): Change iterate and open to number instead of naming
16073 busses. All users updated.
16074 (grub_scsi): Remove name. Add .bus.
16075
5bc24388
VS
160762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * commands/help.c (grub_cmd_help): Fix a typo.
16079
249975ba
VS
160802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16083 Reported and tested by: Colin Watson.
16084
3eaac1a1
VS
160852010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16088 in this context.
16089
becce1b1
VS
160902010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16093
f7bf0918
CW
160942010-07-07 Colin Watson <cjwatson@ubuntu.com>
16095
16096 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16097 indentation.
16098
0b0f9620
CW
160992010-07-06 Colin Watson <cjwatson@ubuntu.com>
16100
16101 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16102 and disk/raid6_recover.c.
16103 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16104 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16105
1e545469
CW
161062010-07-06 Colin Watson <cjwatson@ubuntu.com>
16107
16108 * term/gfxterm.c (repaint_schedulded): Rename to ...
16109 (repaint_scheduled): ... this. Update all callers.
16110 (repaint_was_schedulded): Rename to ...
16111 (repaint_was_scheduled): ... this. Update all callers.
16112
5357687a
CW
161132010-07-06 Colin Watson <cjwatson@ubuntu.com>
16114
16115 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16116 which we expect to be handled by upper layers.
16117
29d7e783
BC
161182010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16119
16120 * bus/usb/usbhub.c: #include time.h header.
16121
37582066
CW
161222010-07-06 Colin Watson <cjwatson@ubuntu.com>
16123
16124 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16125 entry_name also for entries without stat blocks (e.g. ".."); fixes
16126 corruption of the first entry in a directory.
16127
c8c06953
CW
161282010-07-06 Colin Watson <cjwatson@ubuntu.com>
16129
16130 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16131 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16132 doesn't work otherwise.
16133
e75056f1
CW
161342010-07-05 Colin Watson <cjwatson@ubuntu.com>
16135
16136 * docs/grub.texi (Features): Update list of supported file systems.
16137 (GNU/Linux): Update for GRUB 2.
16138 (Serial terminal): Remove mention of --disable-serial, which was a
16139 GRUB Legacy configure option. Update instructions to use
16140 `terminal_input' and `terminal_output' rather than `terminal'.
16141 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16142 configuration' and `Installing GRUB using grub-install'.
16143 (Menu entry editor): Update for GRUB 2.
16144 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16145 Document new -a, -u, and -v options.
16146 (initrd): New section.
16147 (initrd16): New section.
16148 (linux): New section.
16149 (linux16): New section.
16150 (search): The `var' argument to `--set' is optional.
16151 (GRUB only offers a rescue shell): Go into a little more detail on
16152 drive ordering.
16153
5cf69151
CW
161542010-07-05 Colin Watson <cjwatson@ubuntu.com>
16155
16156 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16157
e3f90044
CW
161582010-07-05 Colin Watson <cjwatson@ubuntu.com>
16159
16160 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16161 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16162
38d8f4f3
CW
161632010-07-05 Colin Watson <cjwatson@ubuntu.com>
16164
16165 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16166 install_prefix, in line with install_dos_part and install_bsd_part.
16167 Add new prefix variable, which is copied to install_prefix after
16168 comparing core.img in memory with the one read from disk in the
16169 no-embedding case, and use that rather than overwriting
16170 install_prefix immediately when installing to a partition.
16171 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16172 Bicakci.
16173
57ebd41e
GS
161742010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16175
16176 * configure.ac: Avoid == in test command, it's not portable.
16177 * util/grub.d/30_os-prober.in: Likewise.
16178
cb7f64b2
CW
161792010-07-04 Colin Watson <cjwatson@ubuntu.com>
16180
16181 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16182
6b654bb0
GS
161832010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16184
16185 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16186 multiple (top-level) partmaps.
16187
72a2026d
VS
161882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16191 Reported by: Tino Keitel.
72a2026d 16192
df3eb88f
VS
161932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Bidi and diacritics support.
16196
16197 * Makefile.in (widthspec.bin): New target.
16198 (widthspec.h): Likewise.
16199 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16200 * autogen.sh: Generate unidata.c.
16201 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16202 * commands/ls.c (grub_ls_list_devices): Likewise.
16203 (grub_ls_list_files): Likewise.
16204 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16205 (grub_mini_cmd_lsmod): Likewise.
16206 * commands/read.c: Likewise.
16207 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16208 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16209 * lib/arg.c (grub_arg_show_help): Likewise.
16210 * lib/crypto.c (grub_password_get): Likewise.
16211 * normal/auth.c (grub_username_get): Likewise.
16212 * normal/misc.c (grub_normal_print_device_info): Likewise.
16213 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16214 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16215 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16216 (normal/charset.c_DEPENDENCIES): New variable.
16217 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16218 (pkglib_MODULES): Remove charset.mod.
16219 (charset_mod_SOURCES): Removed.
16220 (charset_mod_CFLAGS): Likewise.
16221 (charset_mod_LDFLAGS): Likewise.
16222 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16223 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16224 and term/tparm.c.
16225 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16226 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16227 (kernel_img_HEADERS): Add terminfo.h.
16228 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16229 Fill ->font. Reverse ascii bitmaps.
16230 (grub_font_get_xheight): New function.
16231 * font/font.c (grub_font_get_string_width): Moved from here ...
16232 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16233 * font/font.c (grub_font_draw_string): Moved from here ...
16234 * gfxmenu/font.c (grub_font_draw_string): ... here.
16235 * font/font.c (grub_font_dup_glyph): New function.
16236 (grub_font_blit_glyph): Likewise.
16237 (grub_font_blit_glyph_mirror): Likewise.
16238 (blit_comb): Likewise.
16239 (grub_font_construct_dry_run): Likewise.
16240 (grub_font_get_constructed_device_width): Likewise.
16241 (grub_font_construct_glyph): Likewise.
16242 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16243 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16244 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16245 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16246 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16247 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16248 (grub_font_get_xheight): New proto.
16249 (grub_font_get_constructed_device_width): Likewise.
16250 (grub_font_construct_glyph): Likewise.
16251 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16252 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16253 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16254 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16255 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16256 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16257 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16258 (grub_console_getcharwidth): Likewise.
16259 * include/grub/misc.h (grub_xputs): New proto.
16260 (grub_puts): Inlined.
16261 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16262 (grub_normal_get_line_counter): Removed.
16263 (grub_install_newline_hook): Likewise.
16264 (grub_normal_get_char_counter): New proto.
16265 (grub_normal_reset_more): Likewise.
16266 (grub_xputs_normal): Likewise.
16267 * include/grub/powerpc/ieee1275/console.h: Removed.
16268 * include/grub/sparc64/ieee1275/console.h: Likewise.
16269 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16270 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16271 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16272 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16273 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16274 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16275 (grub_term_input): Pass reference to self. All users updated.
16276 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16277 Pass reference to self. New fields normal_color, highlight_color and
16278 data. All users updated.
16279 (grub_putchar): Removed.
16280 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16281 (grub_unicode_estimate_width): New function.
16282 (grub_term_getcharwidth): Add defaults.
16283 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16284 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16285 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16286 (grub_cls): Remove EXPORT_FUNC.
16287 (grub_setcolorstate): Inline.
16288 (grub_newline_hook): Removed.
16289 * include/grub/terminfo.h: Rewritten. All users updated.
16290 * include/grub/unicode.h: New file.
16291 * include/grub/video.h (grub_video_signed_rect): New type.
16292 * kern/emu/console.c (grub_console_highlight_color): Removed.
16293 (grub_console_normal_color): Likewise.
16294 (grub_console_standard_color): Made static.
16295 (grub_ncurses_putchar): Remove mapping.
16296 (grub_ncurses_getcharwidth): Removed.
16297 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16298 (grub_ncurses_setcolor): Removed.
16299 (grub_ncurses_getcolor): Likewise.
16300 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16301 (grub_console_putchar): ... this.
16302 (grub_console_putchar): Handle argument difference.
16303 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16304 console_init_early and console_init_lately.
16305 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16306 * kern/misc.c (grub_puts): Removed.
16307 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16308 (grub_vsnprintf_real): Remove str = NULL support.
16309 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16310 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16311 * kern/term.c (grub_putcode): Renamed to ...
16312 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16313 (grub_putchar): Removed.
16314 (grub_xputs_dumb): New function.
16315 (grub_xputs): New variable.
16316 * lib/charset.c: Move from here ...
16317 * normal/charset.c: ... to here.
16318 (grub_ucs4_to_utf8): New function.
16319 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16320 (join_types): New variable.
16321 (unpack_join): New function.
16322 (bidi_types): New variable.
16323 (unpack_bidi): New function.
16324 (get_bidi_type): Likewise.
16325 (get_join_type): Likewise.
16326 (is_mirrored): Likewise.
16327 (grub_unicode_get_comb_type): Likewise.
16328 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16329 (is_type_after): Likewise.
16330 (grub_unicode_aglomerate_comb): Likewise.
16331 (bidi_line_wrap): Likewise.
16332 (grub_bidi_line_logical_to_visual): Likewise.
16333 (grub_bidi_logical_to_visual): Likewise.
16334 (grub_unicode_mirror_code): Likewise.
16335 (grub_unicode_shape_code): Likewise.
16336 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16337 Don't use grub_putchar.
16338 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16339 (grub_normal_reader_init): Likewise.
16340 (grub_xputs_saved): New variable.
16341 (GRUB_MOD_INIT): Set grub_xputs.
16342 (GRUB_MOD_FINI): Restore grub_xputs.
16343 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16344 (menu_init): Avoid printing gfxmenu error.
16345 (show_menu): Use grub_normal_get_char_counter.
16346 * normal/menu_entry.c (update_screen): Fix out-of-array.
16347 (complete): Avoid NULL dereferencing.
16348 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16349 * normal/menu_text.c (print_spaces): Removed.
16350 (grub_print_ucs4): Likewise.
16351 (grub_print_message_indented): Use grub_print_ucs4.
16352 (print_message): Use grub_putcode.
16353 (print_entry): Hanlde diacritics.
16354 * normal/term.c (term_state): New type.
16355 (grub_more_lines): Removed.
16356 (term_states): New variable.
16357 (grub_normal_line_counter): Renamed to ..
16358 (grub_normal_char_counter): ...this. All users updated.
16359 (grub_normal_get_line_counter): Renamed to ...
16360 (grub_normal_get_char_counter): ... this.
16361 (grub_normal_reset_more): New function.
16362 (process_newline): Removed.
16363 (print_more): New function.
16364 (grub_install_newline_hook): Removed.
16365 (map_code): New function.
16366 (grub_puts_terminal): Use grub_print_ucs4.
16367 (putglyph): New function.
16368 (putcode_real): Likewise.
16369 (grub_putcode): Use putcode_real.
16370 (get_maxwidth): New function.
16371 (get_startwidth): Likewise.
16372 (print_ucs4_terminal): Likewise.
16373 (find_term_state): Likewise.
16374 (put_glyphs_terminal): Likewise.
16375 (print_backlog): Likewise.
16376 (print_ucs4_real): Likewise.
16377 (grub_print_ucs4): Likewise.
16378 (grub_xputs_normal): Likewise.
16379 * term/efi/console.c (grub_console_putchar): Output diacritics.
16380 (grub_console_getcharwidth): Removed.
16381 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16382 * term/gfxterm.c (clear_char): Free chars.
16383 (scroll_up): Avoid leaking memory.
16384 (grub_gfxterm_putchar): Support diacritics.
16385 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16386 * term/i386/pc/console.c (grub_console_term_output): Declare as
16387 GRUB_TERM_CODE_TYPE_VGA.
16388 * term/i386/pc/vga.c (grub_vga_term): Declare as
16389 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16390 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16391 GRUB_TERM_CODE_TYPE_VGA.
16392 * term/i386/vga_common.c (map_char): Removed.
16393 (grub_console_putchar): Likewise.
16394 (grub_console_getcharwidth): Likewise.
16395 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16396 (colors): Reordered to match terminfo.
16397 (grub_ofconsole_normal_color): Removed.
16398 (grub_ofconsole_writeesc): Likewise.
16399 (grub_ofconsole_highlight_color): Likewise.
16400 (grub_ofconsole_getcharwidth): Likewise.
16401 (grub_ofconsole_setcolorstate): Likewise.
16402 (grub_ofconsole_setcolor): Likewise.
16403 (grub_ofconsole_getcolor): Likewise.
16404 (grub_ofconsole_readkey): Renamed to ...
16405 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16406 key.
16407 (grub_ofconsole_checkkey): Removed.
16408 (grub_ofconsole_getkey): Likewise.
16409 (grub_ofconsole_getxy): Likewise.
16410 (grub_ofconsole_gotoxy): Likewise.
16411 (grub_ofconsole_cls): Likewise.
16412 (grub_ofconsole_refresh): Likewise.
16413 (grub_ofconsole_terminfo_input): New struct.
16414 (grub_ofconsole_terminfo_output): Likewise.
16415 (grub_ofconsole_term_input): Use terminfo.
16416 (grub_ofconsole_term_output): Likewise.
16417 (grub_console_init): Split into ...
16418 (grub_console_init_early): ...this and ...
16419 (grub_console_init_lately): ...this. Use terminfo.
16420 (grub_ofconsole_putchar): Renamed to ...
16421 (put): ... this. Remove mapping.
16422 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16423 * term/serial.c: Simplify using terminfo.
16424 (xpos): Removed.
16425 (ypos): Likewise.
16426 (keep_track): Likewise.
16427 (registered): Likewise.
16428 (input_buf): Likewise.
16429 (npending): Likewise.
16430 (serial_translate_key_sequence): Likewise.
16431 (fill_input_buf): Likewise.
16432 (grub_serial_checkkey): Likewise.
16433 (grub_serial_getkey): Likewise.
16434 (grub_serial_getxy): Likewise.
16435 (grub_serial_gotoxy): Likewise.
16436 (grub_serial_putchar): Likewise.
16437 (grub_serial_cls): Likewise.
16438 (grub_serial_setcolorstate): Likewise.
16439 (grub_serial_setcursor): Likewise.
16440 (serial_hw_init): Use serial_hw_fetch.
16441 (grub_serial_terminfo_input): New variable.
16442 (grub_serial_terminfo_output): Likewise.
16443 (grub_serial_term_input): Use terminfo.
16444 (grub_serial_term_output): Likewise.
16445 * term/terminfo.c (putstr): Use put.
16446 (grub_terminfo_all_free): New function
16447 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16448 (grub_terminfo_output_register): New function.
16449 (grub_terminfo_output_unregister): Likewise.
16450 (grub_terminfo_getxy): Likewise.
16451 (grub_terminfo_readkey): Likewise.
16452 (grub_terminfo_checkkey): Likewise.
16453 (grub_terminfo_getkey): Likewise.
16454 (grub_terminfo_input_init): Likewise.
16455 (print_terminfo): Likewise.
16456 (grub_cmd_terminfo): Handle encoding.
16457 (grub_terminfo_gotoxy): Track position.
16458 (grub_terminfo_cls): Likewise.
16459 (grub_terminfo_putchar): Likewise.
16460 (grub_terminfo_setcolorstate): Handle colors
16461 (grub_terminfo_cursor_on): This ...
16462 (grub_terminfo_cursor_off): ... and this merged into ...
16463 (grub_terminfo_setcursor): ... this.
16464 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16465 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16466 * unicode/BidiMirroring.txt: Likewise.
16467 * unicode/UnicodeData.txt: Likewise.
16468 * unicode/COPYING: Likewise.
16469 * util/grub-editenv.c (grub_putchar): Removed.
16470 (grub_xputs_real): New function.
16471 (grub_xputs): New variable.
16472 * util/grub-fstest.c (grub_putchar): Removed.
16473 (grub_xputs_real): New function.
16474 (grub_xputs): New variable.
16475 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16476 (grub_xputs_real): New function.
16477 (grub_xputs): New variable.
16478 * util/grub-probe.c (grub_putchar): Removed.
16479 (grub_xputs_real): New function.
16480 (grub_xputs): New variable.
16481 * util/grub-script-check.c (grub_putchar): Removed.
16482 (grub_xputs_real): New function.
16483 (grub_xputs): New variable.
16484 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16485 (grub_xputs_real): New function.
16486 (grub_xputs): New variable.
16487 * util/import_unicode.py: New file.
16488 * util/grub-mkfont.c (ft_errmsgs): New array.
16489 (grub_glyph_info): Make bitmap a pointer.
16490 (file_formats): New type WIDTH_SPEC.
16491 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16492 (options): Add width-spec.
16493 (help): Likewise.
16494 (add_char): Renamed to ...
16495 (add_glyph): ... this.
16496 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16497 (glyph_replace): New type.
16498 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16499 (add_char): New function.
16500 (add_subst): Likewise.
16501 (process_cursive): Likewise.
16502 (add_font): Handle GSUB.
16503 (write_font_width_spec): New function.
16504 (main): Sort glyphs.
16505 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16506 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16507 * kern/term.c (grub_cls): Moved from here...
16508 * normal/term.c (grub_cls): ... here.
16509
50f0bcda
CW
165102010-07-02 Colin Watson <cjwatson@ubuntu.com>
16511
16512 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16513 suitable for using within the format argument of printf when
16514 converting grub_size_t.
16515 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16516 "x" to convert grub_size_t arguments.
16517
40372103
VS
165182010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16521 too long captions.
16522 (list_get_minimal_size): Take selection box into account.
16523
942a10c7
VS
165242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16527 NULL font.
16528
2bdb2892
CW
165292010-07-02 Colin Watson <cjwatson@ubuntu.com>
16530
16531 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16532 devices when iterating over /dev/disk/by-id; they will be handled
16533 later if appropriate, which they aren't always (e.g. LVM).
16534
e03ed6c1
CW
165352010-07-02 Colin Watson <cjwatson@ubuntu.com>
16536
16537 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16538 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16539 fails.
16540 (grub_halt): Likewise.
16541 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16542 reset-all fails.
16543 (grub_halt): Don't return, even if all of shut-down, power-off, and
16544 poweroff fail.
16545
47695765
CW
165462010-07-02 Colin Watson <cjwatson@ubuntu.com>
16547
16548 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16549 arguments, not three.
16550
507736c8
CW
165512010-07-02 Colin Watson <cjwatson@ubuntu.com>
16552
16553 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16554 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16555 LVM-on-RAID is handled correctly.
16556
e3c8cd37
CW
165572010-07-02 Colin Watson <cjwatson@ubuntu.com>
16558
16559 * docs/grub.texi (Changes from GRUB Legacy): New section.
16560 (Future): Fix typo.
16561
8d4a2fec
CW
165622010-07-02 Colin Watson <cjwatson@ubuntu.com>
16563
16564 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16565 grub.d/README accidentally ends up executable for one reason or
16566 another. Ignore it.
16567
1c4827be
VS
165682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16571 (gpt_partition_map_iterate): Support non-512B sectors.
16572
d9a0c941
VS
165732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16576 Tested by: Seth Goldberg.
16577
48f27e87
VS
165782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16581 Properly align mbi.
16582 Reported by: Seth Goldberg.
16583
b0c4f956
VS
165842010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16585
16586 * util/grub-mkrescue.in: Avoid module duplication.
16587
105a2e8c
SF
165882010-07-01 Sean Finney <seanius@seanius.net>
16589
16590 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16591
5944958c
SF
165922010-07-01 Sean Finney <seanius@seanius.net>
16593
16594 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16595
165962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * disk/lvm.c (grub_lvm_checkvalue): New function.
16599 (grub_lvm_check_flag): Likewise.
16600
b79889ba
RM
166012010-07-01 Robert Millan <rmh@gnu.org>
16602
16603 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16604 Support 'p' as partition separator on kernel of FreeBSD (used
16605 with GPT labels).
16606 (grub_util_biosdisk_get_grub_dev): Likewise.
16607
ec1d04f1
VS
166082010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 Yeeloong firmware port.
16611
16612 * boot/mips/yeeloong/fwstart.S: New file.
16613 * bus/cs5536.c (gpiodump): New const.
16614 (set_io_space): New function.
16615 (set_iod): Likewise.
16616 (set_p2d): Likewise.
16617 (grub_cs5536_init_geode): Likewise.
16618 * commands/mips/yeeloong/lsspd.c: New file.
16619 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16620 (serial_mod_SOURCES): New variable.
16621 (serial_mod_CFLAGS): Likewise.
16622 (serial_mod_LDFLAGS): Likewise.
16623 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16624 term/terminfo.c and term/tparm.c.
16625 (pkglib_IMAGES): Add fwstart.img.
16626 (fwstart_img_SOURCES): New variable.
16627 (fwstart_img_CFLAGS): Likewise.
16628 (fwstart_img_ASFLAGS): Likewise.
16629 (fwstart_img_LDFLAGS): Likewise.
16630 (fwstart_img_FORMAT): Likewise.
16631 (pkglib_MODULES): Add lsspd.mod.
16632 (lsspd_mod_SOURCES): New variable.
16633 (lsspd_mod_CFLAGS): Likewise.
16634 (lsspd_mod_LDFLAGS): Likewise.
16635 (pkglib_MODULES): Add halt.mod.
16636 (halt_mod_SOURCES): New variable.
16637 (halt_mod_CFLAGS): Likewise.
16638 (halt_mod_LDFLAGS): Likewise.
16639 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16640 (serial_mod_SOURCES): Removed.
16641 (serial_mod_CFLAGS): Likewise.
16642 (serial_mod_LDFLAGS): Likewise.
16643 * disk/ata.c (check_device): New function.
16644 (grub_ata_device_initialize): Use check_device.
16645 (grub_ata_iterate): Recheck devices.
16646 (grub_ata_open): Likewise.
16647 (grub_atapi_iterate): Likewise.
16648 (grub_atapi_open): Likewise.
16649 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16650 (GRUB_ATA_CH1_PORT1): Likewise.
16651 (GRUB_ATA_CH0_PORT2): Likewise.
16652 (GRUB_ATA_CH1_PORT2): Likewise.
16653 * include/grub/mips/loongson.h: New file.
16654 * include/grub/mips/yeeloong/ec.h: Likewise.
16655 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16656 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16657 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16658 * include/grub/misc.h (grub_halt): Declare as noreturn.
16659 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16660 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16661 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16662 (UART_ENABLE_DTRRTS): Likewise.
16663 (UART_ENABLE_MODEM): Removed.
16664 (UART_ENABLE_OUT2): New const.
16665 * include/grub/term.h (grub_term_register_input_active): New function.
16666 (grub_term_register_output_active): Likewise.
16667 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16668 argument.
16669 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16670 (init_pci): New function.
16671 (grub_machine_init): Execute platform init when firmware. Init serial.
16672 (grub_halt): Implement.
16673 (grub_exit): Likewise.
16674 (grub_reboot): Likewise.
16675 * term/serial.c (serial_hw_init): Update macros.
16676 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16677 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16678 (image_targets): New target mipsel-yeeloong-flash.
16679 (generate_image): Support IMAGE_YEELOONG_FLASH.
16680 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16681 (grub_video_sm712_setup): Init card.
16682 (grub_video_sm712_set_palette): Removed.
16683 * video/sm712_init.c: New file.
16684
ff4a70d2
CW
166852010-06-30 Colin Watson <cjwatson@ubuntu.com>
16686
16687 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16688 PATH when running help2man and then run it on the unadorned
16689 executable names, rather than passing $(builddir)/* paths to
16690 help2man. This avoids the build directory ending up in generated
16691 manual pages.
16692
1246efeb
CW
166932010-06-29 Colin Watson <cjwatson@ubuntu.com>
16694
16695 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16696 to avoid accidents when debugging with 'sh -x'.
16697 * util/grub-mkrescue.in: Likewise.
16698 * util/grub.d/00_header.in: Likewise.
16699 * util/grub.d/10_hurd.in: Likewise.
16700 * util/grub.d/10_kfreebsd.in: Likewise.
16701 * util/grub.d/10_linux.in: Likewise.
16702 * util/grub.d/10_netbsd.in: Likewise.
16703 * util/grub.d/10_windows.in: Likewise.
16704 * util/grub.d/20_linux_xen.in: Likewise.
16705 * util/grub.d/30_os-prober.in: Likewise.
16706 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16707
1ba9b889
CW
167082010-06-29 Colin Watson <cjwatson@ubuntu.com>
16709
16710 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16711 last character in the buffer.
16712 Reported by: Vladimir Serbinenko.
16713
dccaf99d
RM
167142010-06-29 Robert Millan <rmh@gnu.org>
16715
16716 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16717 (Command-line and menu entry commands): Document `badram' command.
16718
d500ed12
RM
167192010-06-28 Robert Millan <rmh@gnu.org>
16720
16721 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16722 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16723 command using ${GRUB_BADRAM} as parameter.
16724
20bc84a6
CW
167252010-06-28 Colin Watson <cjwatson@ubuntu.com>
16726
16727 * docs/grub.texi (Device map): New section.
16728 (Themes): New section (stub).
16729 * Makefile.in (docs/grub.info): The info documentation now builds
16730 without errors. Make sure it stays that way.
16731
4045dee1
VS
167322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16733
16734 Use normal parser for menu entries.
16735 Reported by: Thomas Frauendorfer
16736
16737 * include/grub/parser.h (grub_parser_execute): Don't export.
16738 * normal/menu.c (grub_menu_execute_entry_real): New function.
16739 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16740
bca58c7b
CW
167412010-06-28 Colin Watson <cjwatson@ubuntu.com>
16742
16743 * docs/grub.texi (Embedded configuration): New section (replacing
16744 old "Preset Menu" stub).
16745 (Images): New section.
16746 (configfile): Note that any menu entries defined in `file' are shown
16747 immediately.
16748
dec53e63
JT
167492010-06-28 Josh Triplett <josh@joshtriplett.org>
16750
16751 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16752
c06e40f7
CW
167532010-06-28 Colin Watson <cjwatson@ubuntu.com>
16754
16755 * util/grub-install.in: Add --debug-image= option.
16756
cb88052b
CW
167572010-06-28 Colin Watson <cjwatson@ubuntu.com>
16758
16759 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16760 possible on Linux.
16761
16762 * util/deviceiter.c (check_device): Rename to ...
16763 (check_device_readable_unique): ... this. Update all callers.
16764 Maintain and check a list of which devices (by canonicalized name)
16765 have already been seen.
16766 (clear_seen_devices): New function.
16767 (compare_file_names) [__linux__]: New function.
16768 (grub_util_iterate_devices): Clear the list of seen devices on exit
16769 and (just in case) on entry.
16770 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16771 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16772 seen-devices list, superseded by general code in check_device.
16773
bbe34652
CW
167742010-06-28 Colin Watson <cjwatson@ubuntu.com>
16775
16776 * commands/cat.c (options): New variable.
16777 (grub_cmd_cat): Parse options. If the --dos option is given, print
16778 DOS-style "\r\n" line endings as simple newlines (Debian bug
16779 #586358).
16780 (GRUB_MOD_INIT): Use extcmd.
16781 (GRUB_MOD_FINI): Likewise.
16782 * docs/grub.texi (cat): Document --dos.
16783
412e09f3
VS
167842010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 XEN with Linux grub-mkconfig support.
16787
16788 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16789 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16790 GRUB_CMDLINE_XEN_DEFAULT.
16791 * util/grub.d/20_linux_xen.in: New file.
16792
53f3ef38 167932010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16794
16795 Initialise VGA video on qemu ourselves.
16796
16797 * boot/i386/qemu/boot.S: Don't call 0xc000.
16798 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16799 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16800 (kernel_img_HEADERS): Add pci.h.
16801 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16802 * configure.ac: Force unifont on qemu and yeeloong.
16803 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16804 (grub_vga_palette_write): Use correct register.
16805 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16806 Call grub_qemu_init_cirrus.
16807 * kern/i386/qemu/init.c: New file.
16808 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16809
16810 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16811
c75be4fb
PR
168122010-06-26 Pavel Roskin <proski@gnu.org>
16813
16814 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16815 13.
16816
d8034603
CW
168172010-06-26 Colin Watson <cjwatson@ubuntu.com>
16818
16819 * docs/grub.texi (Simple configuration): Explain that
16820 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16821 set to `true' to disable their respective recovery entries, not
16822 merely set.
16823
3fa06487
CW
168242010-06-26 Colin Watson <cjwatson@ubuntu.com>
16825
16826 Make the `source' command slightly faster.
16827
16828 * normal/main.c (grub_normal_execute): Don't re-read list files when
16829 nested.
16830
e9b29642
CW
168312010-06-23 Colin Watson <cjwatson@ubuntu.com>
16832
16833 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16834 field position and mask size to red fields from mode_info, not
16835 green.
16836 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16837 Remove redundant tag->common.framebuffer_type assignment.
16838 Reported by: Seth Goldberg.
16839
e726542f
CW
168402010-06-23 Colin Watson <cjwatson@ubuntu.com>
16841
16842 Sync up other versions of the Linux loader with Robert Millan's
16843 change of 2010-01-09, "Make loader output a bit more user-friendly".
16844
16845 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16846 grub_dprintf().
16847 (grub_cmd_linux): Likewise.
16848 (grub_cmd_initrd): Likewise.
16849 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16850 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16851
d6e98a17
CW
168522010-06-21 Colin Watson <cjwatson@ubuntu.com>
16853
16854 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16855 larger than MEMORY_MAP_SIZE.
16856
14d3f08e
BC
168572010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16858
16859 Fix parallel build.
16860
16861 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16862 dependency.
16863 * script/parser.y: #include grub_script.tab.h header.
16864
4f9613a3
VS
168652010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 Support >3GiB and <16MiB RAM in i386-qemu.
16868
16869 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16870 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16871 (grub_lower_mem): Removed.
16872 (grub_upper_mem): Likewise.
16873 (mem_size): Made static.
16874 (above_4g): New variable.
16875 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16876 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16877 support.
16878
05e51879
VS
168792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 Cirrus 5446 and Bochs video cards support.
16882
16883 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16884 video_bochs.mod
16885 (video_cirrus_mod_SOURCES): New variable.
16886 (video_cirrus_mod_CFLAGS): Likewise.
16887 (video_cirrus_mod_LDFLAGS): Likewise.
16888 (video_bochs_mod_SOURCES): Likewise.
16889 (video_bochs_mod_CFLAGS): Likewise.
16890 (video_bochs_mod_LDFLAGS): Likewise.
16891 * include/grub/vga.h: New file.
16892 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16893 (grub_video_fb_set_page_t): New type.
16894 (grub_video_fb_setup): New prototype.
16895 (grub_video_fb_swap_buffers): Likewise.
16896 (grub_video_fb_get_info_and_fini): Likewise.
16897 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16898 (CRTC_DATA_PORT): Likewise.
16899 (CRTC_CURSOR): Likewise.
16900 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16901 (CRTC_CURSOR_ADDR_LOW): Likewise.
16902 (CRTC_CURSOR_DISABLE): Likewise.
16903 (update_cursor): Use grub_vga_cr_write.
16904 (grub_vga_text_setcursor): Likewise.
16905 * video/bochs.c: New file.
16906 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16907 (palette): Likewise.
16908 (palette_size): Likewise.
16909 (framebuffer): New variable.
16910 (grub_video_fb_init): Use 'framebuffer'.
16911 (grub_video_fb_fini): Likewise.
16912 (grub_video_fb_get_info): Likewise.
16913 (grub_video_fb_get_palette): Likewise.
16914 (grub_video_fb_set_palette): Likewise.
16915 (grub_video_fb_set_viewport): Likewise.
16916 (grub_video_fb_get_viewport): Likewise.
16917 (grub_video_fb_map_color): Likewise.
16918 (grub_video_fb_map_rgb): Likewise.
16919 (grub_video_fb_map_rgba): Likewise.
16920 (grub_video_fb_unmap_color): Likewise.
16921 (grub_video_fb_unmap_color_int): Likewise.
16922 (grub_video_fb_fill_rect): Likewise.
16923 (grub_video_fb_blit_bitmap): Likewise.
16924 (grub_video_fb_blit_render_target): Likewise.
16925 (grub_video_fb_scroll): Likewise.
16926 (grub_video_fb_create_render_target): Likewise.
16927 (grub_video_fb_doublebuf_blit_init): Likewise.
16928 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16929 (doublebuf_pageflipping_update_screen): New function.
16930 (doublebuf_pageflipping_init): Likewise.
16931 (grub_video_fb_setup): Likewise.
16932 (grub_video_fb_swap_buffers): Likewise.
16933 (grub_video_fb_get_info_and_fini): Likewise.
16934 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16935 All users updated.
16936 (doublebuf_pageflipping_commit): Restructured into ...
16937 (doublebuf_pageflipping_set_page): ... this.
16938 (doublebuf_pageflipping_update_screen): Removed.
16939 (doublebuf_pageflipping_init): Likewise.
16940 (double_buffering_init): Likewise.
16941 (grub_video_vbe_setup): Use grub_video_fb_setup.
16942 (grub_video_vbe_swap_buffers): Removed.
16943 (grub_video_vbe_set_active_render_target): Likewise.
16944 (grub_video_vbe_get_active_render_target): Likewise.
16945 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16946 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16947 grub_video_fb_set_active_render_target and
16948 grub_video_fb_get_active_render_target.
16949 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16950 (SEQUENCER_DATA_PORT): Likewise.
16951 (MAP_MASK_REGISTER): Likewise.
16952 (CRTC_ADDR_PORT): Likewise.
16953 (CRTC_DATA_PORT): Likewise.
16954 (START_ADDR_HIGH_REGISTER): Likewise.
16955 (START_ADDR_LOW_REGISTER): Likewise.
16956 (GRAPHICS_ADDR_PORT): Likewise.
16957 (GRAPHICS_DATA_PORT): Likewise.
16958 (READ_MAP_REGISTER): Likewise.
16959 (INPUT_STATUS1_REGISTER): Likewise.
16960 (INPUT_STATUS1_VERTR_BIT): Likewise.
16961 (get_map_mask): Use grub_vga_sr_read.
16962 (set_map_mask): Use grub_vga_sr_write.
16963 (set_read_map): Use grub_vga_gr_write.
16964 (set_start_address): Use grub_vga_cr_write.
16965 * video/sm712.c (framebuffer): Remove leftover fields.
16966
4321c64a
CW
169672010-06-20 Colin Watson <cjwatson@ubuntu.com>
16968
16969 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16970 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16971 instead. Replace the gfxterm backend check with a check that
16972 ${GRUB_PREFIX}/video.lst is non-empty.
16973 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16974 again.
16975 (load_video): New generated function. Call it before loading
16976 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16977 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16978 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16979 * docs/grub.texi (Simple configuration): Document
16980 GRUB_VIDEO_BACKEND.
16981
169822010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 Use video functions in linux and xnu loaders.
16985
16986 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16987 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16988 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16989 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16990 loader/i386/pc/linux.c.
16991 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16992 (find_line_len): Removed.
16993 (find_framebuf): Likewise.
16994 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16995 * loader/i386/efi/xnu.c: Removed.
16996 * loader/i386/pc/xnu.c: Moved from here...
16997 * loader/i386/xnu.c: ...here.
16998
16999 Enable priorities in video drivers.
17000
17001 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17002 (grub_video_adapter): New field prio.
17003 (grub_video_register): Respect prio when inserting.
17004 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17005 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17006 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17007 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17008 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17009 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17010 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17011
17012 Fix SDL driver ID.
17013
17014 * include/grub/video.h (grub_video_driver_id_t): New value
17015 GRUB_VIDEO_DRIVER_SDL.
17016 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17017
7d24e434
CW
170182010-06-17 Colin Watson <cjwatson@ubuntu.com>
17019
17020 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17021 argument to printf.
17022 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17023
c88a83f6
CW
170242010-06-17 Colin Watson <cjwatson@ubuntu.com>
17025
17026 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17027 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17028
094dfb69
CW
170292010-06-17 Colin Watson <cjwatson@ubuntu.com>
17030
17031 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17032 directly, and recommend grub-install instead.
17033 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17034
2164da6b
CW
170352010-06-17 Colin Watson <cjwatson@ubuntu.com>
17036
17037 Fix i386-pc prefix handling with nested partitions (Debian bug
17038 #585068). Note that the case where the core image is booted using
17039 multiboot and relocated from its original location still requires
17040 more work.
17041
17042 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17043 with "(,", fill the boot drive in between those two characters, but
17044 expect that a full partition specification including partition map
17045 names will follow.
17046 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17047 specified, write a prefix without the drive name but including a
17048 full partition specification.
17049
044e2e60
CW
170502010-06-16 Colin Watson <cjwatson@ubuntu.com>
17051
17052 * util/grub-mkconfig.in: Ignore non-option arguments, for
17053 compatibility with older versions (before 2010-06-12) which did the
17054 same. In particular, this makes it easier to ship an update-grub
17055 wrapper which is compatible with that used with GRUB Legacy (Debian
17056 bug #586056).
17057
5591324f
GS
170582010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17059
17060 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17061 for manual page generation.
17062
662e24d5
GS
170632010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17064
17065 * po/POTFILES: Remove leftover commands/handler.c.
17066
8d70754e
CW
170672010-06-14 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17070 left this script non-functional.
17071
41160e2e
CW
170722010-06-14 Colin Watson <cjwatson@ubuntu.com>
17073
17074 * docs/man/grub-emu.h2m: New file.
17075
b5309cc1
CW
170762010-06-13 Colin Watson <cjwatson@ubuntu.com>
17077
17078 * docs/grub.texi (Commands): Document reduced command set in rescue
17079 mode.
17080 (cpuid): New section.
17081
fcb2d090
GS
170822010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17083
17084 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17085 new partition naming style.
17086 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17087
96e5c556
BC
170882010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17089
17090 Add "-o grub.iso" like cmdline options support.
17091
17092 * util/grub-install.in: Improve cmdline option parsing.
17093 * util/grub-mkconfig.in: Likewise.
17094 * util/grub-mkrescue.in: Likewise.
17095 * util/grub-reboot.in: Likewise.
17096 * util/grub-set-default.in: Likewise.
17097 * util/i386/efi/grub-install.in: Likewise.
17098 * util/ieee1275/grub-install.in: Likewise.
17099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17100
c16be99b
CW
171012010-06-12 Colin Watson <cjwatson@ubuntu.com>
17102
17103 * .bzrignore: Ignore 41_custom.
17104
ce08a9fb
TS
171052010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17106
17107 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17108
7beac90c
CW
171092010-06-12 Colin Watson <cjwatson@ubuntu.com>
17110
17111 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17112 prototype declarations.
17113
17114 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17115 generating fs, partmap, and video lists.
17116 * include/grub/fs.h (grub_fs_register): Omit prototype if
17117 GRUB_LST_GENERATOR is defined.
17118 * include/grub/partition.h (grub_partition_map_register): Likewise.
17119 * include/grub/video.h (grub_video_register): Likewise.
17120
1c8f0f8d
JM
171212010-06-12 Javier Martín <lordhabbit@gmail.com>
17122
17123 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17124
a6085973
TS
171252010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17126
17127 * util/grub-mkrescue.in: Support --xorriso argument.
17128
25c56d29
VS
171292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17132 Suggested by: Thomas Schmitt.
17133
e03e4b24
VS
171342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17137 Suggested by: Thomas Schmitt.
17138
57711df6
VS
171392010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 custom.cfg support.
17142
17143 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17144 * util/grub.d/41_custom.in: New file.
17145
ee62c427
CW
171462010-06-12 Colin Watson <cjwatson@ubuntu.com>
17147
17148 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17149 been merged back into normal.
17150
283af07a
CW
171512010-06-11 Colin Watson <cjwatson@ubuntu.com>
17152
17153 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17154 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17155
56a0d956
CW
171562010-06-11 Colin Watson <cjwatson@ubuntu.com>
17157
17158 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17159 when generating manual pages.
17160 * docs/man/grub-bin2h.h2m: New file.
17161 * docs/man/grub-editenv.h2m: New file.
17162 * docs/man/grub-fstest.h2m: New file.
17163 * docs/man/grub-install.h2m: New file.
17164 * docs/man/grub-macho2img.h2m: New file.
17165 * docs/man/grub-mkconfig.h2m: New file.
17166 * docs/man/grub-mkdevicemap.h2m: New file.
17167 * docs/man/grub-mkfont.h2m: New file.
17168 * docs/man/grub-mkimage.h2m: New file.
17169 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17170 * docs/man/grub-mkrelpath.h2m: New file.
17171 * docs/man/grub-mkrescue.h2m: New file.
17172 * docs/man/grub-ofpathname.h2m: New file.
17173 * docs/man/grub-pe2elf.h2m: New file.
17174 * docs/man/grub-probe.h2m: New file.
17175 * docs/man/grub-reboot.h2m: New file.
17176 * docs/man/grub-script-check.h2m: New file.
17177 * docs/man/grub-set-default.h2m: New file.
17178 * docs/man/grub-setup.h2m: New file.
17179
3a37e322
VS
171802010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 Use FOR_* macros instead of *_iterate whenever possible.
17183
17184 * commands/handler.c: Removed.
17185 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17186 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17187 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17188 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17189 (grub_probe_SOURCES): Remove kern/parser.c.
17190 (util/grub-script-check.c_DEPENDENCIES): Removed.
17191 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17192 and grub_script_check_init.c.
17193 (grub_script_check_init.lst): Removed.
17194 (grub_script_check_init.h): Likewise.
17195 (grub_script_check_init.c): Likewise.
17196 (pkglib_MODULES): Remove handler.mod and sh.mod.
17197 (handler_mod_SOURCES): Removed.
17198 (handler_mod_CFLAGS): Likewise.
17199 (handler_mod_LDFLAGS): Likewise.
17200 (normal_mod_SOURCES): Remove normal/handler.c.
17201 Add script/main.c, script/script.c, script/execute.c,
17202 script/function.c, script/lexer.c, grub_script.tab.c
17203 and grub_script.yy.c.
17204 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17205 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17206 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17207 (grub_setup_SOURCES): Remove kern/parser.c.
17208 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17209 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17210 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17211 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17212 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17213 (grub_setup_SOURCES): Remove kern/parser.c.
17214 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17215 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17216 * include/grub/command.h (grub_command_iterate): Removed.
17217 (FOR_COMMANDS): New macro.
17218 * include/grub/dl.h (grub_dl): New member next.
17219 (grub_dl_iterate): Removed.
17220 (grub_dl_head): New variable declaration.
17221 (FOR_DL_MODULES): New macro.
17222 * include/grub/fs.h: Include list.h.
17223 (grub_fs): Make next first element.
17224 (grub_fs_list): New variable declaration.
17225 (grub_fs_register): Make inline.
17226 (grub_fs_unregister): Likewise.
17227 (grub_fs_iterate): Removed.
17228 (FOR_FILESYSTEMS): New macro.
17229 * include/grub/handler.h: Removed.
17230 * include/grub/list.h (grub_list_hook_t): Removed.
17231 (grub_list_test_t): Likewise.
17232 (grub_list_pop): Likewise.
17233 (grub_list_iterate): Likewise.
17234 (grub_list_insert): Likewise.
17235 (FOR_LIST_ELEMENTS): New macro.
17236 * include/grub/parser.h (grub_parser_class): Removed.
17237 (grub_parser_register): Likewise.
17238 (grub_parser_unregister): Likewise.
17239 (grub_parser_get_current): Likewise.
17240 (grub_parser_set_current): Likewise.
17241 (grub_register_rescue_parser): Likewise.
17242 (grub_rescue_parse_line): New function.
17243 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17244 * include/grub/script_sh.h (grub_script_function_list): New variable
17245 declaration.
17246 (FOR_SCRIPT_FUNCTIONS): New macro.
17247 (grub_script_function_iterate): Removed.
17248 (grub_normal_parse_line): New prototype.
17249 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17250 (FOR_DISABLED_TERM_INPUTS): Likewise.
17251 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17252 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17253 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17254 element.
17255 (grub_video_register): Inline.
17256 (grub_video_unregister): Likewise.
17257 (grub_video_adapter_list): New variable declaration.
17258 (grub_video_iterate): Removed.
17259 (FOR_VIDEO_ADAPTERS): New macro.
17260 * kern/dl.c (grub_dl_list): Removed. All users updated.
17261 (grub_dl_iterate): Removed.
17262 * kern/fs.c (grub_fs_list): Make global.
17263 (grub_fs_register): Removed.
17264 (grub_fs_unregister): Likewise.
17265 (grub_fs_iterate): Likewise.
17266 * kern/handler.c: Removed.
17267 * kern/list.c (grub_list_pop): Removed.
17268 (grub_list_iterate): Likewise.
17269 (grub_list_insert): Likewise.
17270 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17271 (grub_prio_list_insert): Don't use grub_list_insert.
17272 * kern/main.c (grub_register_rescue_parser): Don't call
17273 grub_register_rescue_parser.
17274 * kern/parser.c (grub_parser_class): Removed.
17275 (grub_parser_execute): Use grub_rescue_parse_line.
17276 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17277 (grub_rescue_parser): Removed.
17278 (grub_register_rescue_parser): Likewise.
17279 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17280 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17281 (grub_auth_check_authentication): Likewise.
17282 * normal/completion.c (iterate_command): Removed.
17283 (grub_normal_do_completion): Use FOR_COMMANDS.
17284 * normal/handler.c: Removed.
17285 * normal/main.c (read_config_file): Remove parser changing.
17286 (grub_normal_execute): Don't call read_handler_list.
17287 (grub_normal_read_line_real): Statically allocate prompt.
17288 (grub_cmdline_run): Use grub_normal_parse_line.
17289 (GRUB_MOD_FINI): Don't call free_handler_list.
17290 * normal/menu_entry.c (run): Likewise.
17291 * script/function.c (grub_script_function_list): Make global.
17292 (grub_script_function_iterate): Removed.
17293 * script/main.c (grub_normal_parse_line): Make global.
17294 (grub_sh_parser): Removed.
17295 (GRUB_MOD_INIT): Likewise.
17296 (GRUB_MOD_FINI): Likewise.
17297 * tests/lib/functional_test.c (grub_functional_test): Use
17298 FOR_LIST_ELEMENTS.
17299 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17300 (grub_test_run): Use FOR_LIST_ELEMENTS.
17301 * tests/lib/unit_test.c (main): Likewise.
17302 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17303 grub_list_pop.
17304 * util/grub-fstest.c (grub_term_input_class): Removed.
17305 (grub_term_output_class): Likewise.
17306 * util/grub-probe.c: Likewise.
17307 * util/i386/pc/grub-setup.c: Likewise.
17308 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17309 * util/grub-script-check.c (main): Don't call grub_init_all and
17310 grub_fini_all.
17311 * video/video.c (grub_video_adapter_list): Make global.
17312 (grub_video_register): Removed.
17313 (grub_video_unregister): Likewise.
17314 (grub_video_iterate): Likewise.
17315
6289c3a7
VS
173162010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17319 reported by Henrique Ferreiro.
17320
91460247
RM
173212010-06-09 Robert Millan <rmh@gnu.org>
17322
17323 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17324 ones, when both are available.
17325
0ea7c4f9
GS
173262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17327
17328 Make --version uniform and avoid hard-coded program name.
17329
17330 * util/grub-mkimage.c (main): Use `program_name' instead of
17331 hard-coded string.
17332 * util/i386/pc/grub-setup.c (main): Likewise.
17333 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17334 * util/grub-install.in: Save the basename of $0 in $self, and use the
17335 latter in informational messages. Use the same format for --version
17336 as the binary programs.
17337 * util/grub-mkconfig.in: Likewise.
17338 * util/grub-mkrescue.in: Likewise.
17339 * util/grub-reboot.in: Likewise.
17340 * util/grub-set-default.in: Likewise.
17341 * util/i386/efi/grub-install.in: Likewise.
17342 * util/ieee1275/grub-install.in: Likewise.
17343 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17344
e8a6f3b6
GS
173452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17346
17347 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17348 embedding area. Use <= instead of == when checking for non-emptiness.
17349
f4d095d7
GS
173502010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17351
17352 * configure.ac: Add `.' to the directories searched for unifont.
17353
50e532ca
CW
173542010-06-08 Colin Watson <cjwatson@ubuntu.com>
17355
17356 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17357 grub_script.yy.h.
17358
d39f3dec
CW
173592010-06-08 Colin Watson <cjwatson@ubuntu.com>
17360
17361 * docs/grub.texi (History): Expand to cover GRUB 2.
17362 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17363 commands, not `terminal'.
17364 (serial): Likewise.
17365 (terminal_input): New section.
17366 (terminal_output): New section.
17367 (uppermem): New section (stub).
17368 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17369
6ef0ddb4
CW
173702010-06-08 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * docs/grub.texi (Security): Menu entries are unrestricted by
17373 default, not restricted to superusers as I had previously thought.
17374 Reword to account for this.
17375
e0f4c438
CW
173762010-06-07 Colin Watson <cjwatson@ubuntu.com>
17377
17378 * kern/emu/misc.c (device_mapper_null_log): New function.
17379 (grub_device_mapper_supported): New function.
17380 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17381 prototype.
17382 * kern/emu/hostdisk.c (find_partition_start): Check whether
17383 device-mapper is supported before trying to use it.
17384 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17385
da908200
CW
173862010-06-07 Colin Watson <cjwatson@ubuntu.com>
17387
17388 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17389 (File name syntax): Likewise.
17390 (help): --all is no longer supported in GRUB 2. Be more precise
17391 about pattern matching.
17392
fb55c3ac
CW
173932010-06-07 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * normal/completion.c (grub_normal_do_completion): When completing
17396 arguments to "set" and the current word contains an equals sign,
17397 skip to after the equals sign before starting completion.
17398
258c2573
CW
173992010-06-07 Colin Watson <cjwatson@ubuntu.com>
17400
17401 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17402
ee75515e
CW
174032010-06-07 Colin Watson <cjwatson@ubuntu.com>
17404
17405 * docs/grub.texi (Network): New section.
17406 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17407 `(nd)' as in GRUB Legacy.
17408 (pxe_unload): New section.
17409
a6a700aa
CW
174102010-06-07 Colin Watson <cjwatson@ubuntu.com>
17411
17412 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17413 in the rescue shell, so recommend using `set' instead. Thanks,
17414 Jordan Uggla.
17415
4003dd38
CW
174162010-06-07 Colin Watson <cjwatson@ubuntu.com>
17417
17418 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17419 (password): New section.
17420 (password_pbkdf2): New section.
17421 (search): New section.
17422 (Security): New section.
17423 (Troubleshooting): New section, currently very incomplete.
17424 (Invoking grub-mkpasswd-pbkdf2): New section.
17425 (Internals): New section, currently very incomplete.
17426
e1cbcc40
CW
174272010-06-07 Colin Watson <cjwatson@ubuntu.com>
17428
17429 * util/grub.d/00_header.in: Add some more quoting (of
17430 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17431 work again.
17432 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17433
db8fa1ad
CW
174342010-06-07 Colin Watson <cjwatson@ubuntu.com>
17435
17436 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17437 to `count', fixing variable shadowing that broke the -c option.
17438
174392010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17440
17441 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17442 in case they contain spaces.
17443
f28a9212
CW
174442010-06-04 Colin Watson <cjwatson@ubuntu.com>
17445
17446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17447 "part_" to partmap module names, in line with grub-install.
17448 Reported by: Jindřich Makovička (Debian bug #584426).
17449
9cdfe32f
CW
174502010-06-04 Colin Watson <cjwatson@ubuntu.com>
17451
17452 * util/grub-mkimage.c: Make target-related error messages slightly
17453 more helpful; -O talks about "format". Explicitly point to the use
17454 of -O if no target is specified.
17455 Reported by: Didier Raboud (Debian bug #584415).
17456
795b593a
CW
174572010-06-03 Colin Watson <cjwatson@ubuntu.com>
17458
17459 * INSTALL: Document several build requirements for optional features
17460 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17461
9d9b5833
GS
174622010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17463
17464 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17465 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17466 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17467
0819fec8
CW
174682010-06-02 Colin Watson <cjwatson@ubuntu.com>
17469
17470 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17471 Thanks to Jordan Uggla for spotting this.
17472
49396b4f
VS
174732010-06-02 Aleš Nesrsta <starous@volny.cz>
17474
17475 Finally make USB usable.
17476
17477 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17478 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17479 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17480 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17481 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17482 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17483 (GRUB_OHCI_FSMPS): Likewise.
17484 (GRUB_OHCI_PERIODIC_START): Likewise.
17485 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17486 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17487 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17488 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17489 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17490 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17491 (grub_ohci_transaction): Likewise.
17492 (grub_ohci_transfer): Improve condition detection algorithms.
17493 Handle toggle property. Program the transactions correctly.
17494 Improve error handling. Various important fixups.
17495 (grub_ohci_portstatus): Put register writes in right order.
17496 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17497 (grub_uhci_transfer): Don't show "failed" message on success.
17498 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17499 array.
17500 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17501 determine its size.
17502 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17503 before initialization is completed. Use IN direction for empty
17504 transfers. Use last_trans and compute toggle.
17505 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17506 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17507 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17508 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17509 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17510 (grub_usb_device): Increase toggle to 256.
17511 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17512 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17513 GRUB_USBMS_SUBCLASS_SFF8070.
17514 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17515 (grub_scsi_inquiry): New member page and alloc_length.
17516 (grub_scsi_request_sense): New structure.
17517 (grub_scsi_request_sense_data): Likewise.
17518 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17519 control.
17520 * disk/scsi.c (grub_scsi_request_sense): New function.
17521 (grub_scsi_test_unit_ready): Likewise.
17522 (grub_scsi_inquiry): Fill new fields.
17523 (grub_scsi_read_capacity): Likewise.
17524 (grub_scsi_read10): Add request sense at the end.
17525 (grub_scsi_read12): Likewise.
17526 (grub_scsi_write10): Likewise.
17527 (grub_scsi_write12): Likewise.
17528 (grub_scsi_open): Add Test Unit Ready.
17529 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17530 Support additional subclasses. Con't clear halt yet. Activate the
17531 proper config. Calculate LUNs correctly.
17532 (grub_usbms_transfer): Various important fixups.
17533
175342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17535
17536 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17537 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17538 (grub_ohci_fini_hw): New function.
17539 (grub_ohci_restore_hw): Likewise.
17540 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17541 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17542 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17543
175442010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17545
17546 Dedicated DMA allocations.
17547
17548 * bus/pci.c (grub_memalign_dma32): New function
17549 (grub_dma_free): Likewise.
17550 (grub_dma_get_virt): Likewise.
17551 (grub_dma_get_phys): Likewise.
17552 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17553 (grub_ohci_pci_iter): Use dma32_alloc.
17554 (grub_ohci_transfer): Likewise.
17555 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17556 (grub_usb_bulk_readwrite): Likewise.
17557 * include/grub/pci.h: Add declarations.
17558
175592010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 CS5536 support.
17562
17563 * bus/cs5536.c: New file.
17564 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17565 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17566 (cs5536_mod_SOURCES): New variable.
17567 (cs5536_mod_CFLAGS): Likewise.
17568 (cs5536_mod_LDFLAGS): Likewise.
17569 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17570 machine/pci.h.
17571 (kernel_img_SOURCES): Add bus/cs5536.c.
17572 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17573 usb_keyboard.mod.
17574 (usb_mod_SOURCES): New variable.
17575 (usb_mod_CFLAGS): New variable.
17576 (usb_mod_LDFLAGS): New variable.
17577 (usbtest_mod_SOURCES): New variable.
17578 (usbtest_mod_CFLAGS): New variable.
17579 (usbtest_mod_LDFLAGS): New variable.
17580 (ohci_mod_SOURCES): New variable.
17581 (ohci_mod_CFLAGS): New variable.
17582 (ohci_mod_LDFLAGS): New variable.
17583 (usbms_mod_SOURCES): New variable.
17584 (usbms_mod_CFLAGS): New variable.
17585 (usbms_mod_LDFLAGS): New variable.
17586 (usb_keyboard_mod_SOURCES): New variable.
17587 (usb_keyboard_mod_CFLAGS): New variable.
17588 (usb_keyboard_mod_LDFLAGS): New variable.
17589 * include/grub/smbus.h: New file.
17590 * include/grub/cs5536.h: New file.
17591
0b35b2a9
CW
175922010-06-02 Colin Watson <cjwatson@ubuntu.com>
17593
17594 * util/grub.d/00_header.in: Add safety check to make sure that
17595 ${locale_dir} exists before trying to probe it.
17596
ca0afd5b
CW
175972010-06-02 Colin Watson <cjwatson@ubuntu.com>
17598
17599 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17600 per the GNU Coding Standards; this is now too obscure to be worth
17601 documenting.
17602 (QNX): Likewise.
17603 (chainloader): Remove cross-reference to `SCO UnixWare'.
17604
1c41aa78
CW
176052010-06-02 Colin Watson <cjwatson@ubuntu.com>
17606
17607 * docs/grub.texi (Chain-loading): New section.
17608 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17609 adjusted for GRUB 2.
17610 (SCO UnixWare): Likewise.
17611 (QNX): Likewise.
17612 (chainloader): Add reference to `Block list syntax'.
17613 (drivemap): New section.
17614 (parttool): New section.
17615
bb8ea0f5
CW
176162010-06-02 Colin Watson <cjwatson@ubuntu.com>
17617
17618 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17619 the grub shell'.
17620 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17621 (Installing GRUB using grub-install): Remove reference to the grub
17622 shell; mention `grub-mkimage' and `grub-setup' instead.
17623 (Invoking grub-install): Likewise.
17624 (Interface): Add reference to `Menu entry editor'.
17625 (serial): Remove `--device' option.
17626
288dd6ed
CW
176272010-06-02 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * docs/grub.texi (Configuration): New section, documenting
17630 configuration file generation using grub-mkconfig. I've left a slot
17631 for documenting the full shell scripting format but have not yet
17632 started on writing that up.
17633 (Invoking grub-mkconfig): New section.
17634
34c9f0e9
CW
176352010-06-02 Colin Watson <cjwatson@ubuntu.com>
17636
17637 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17638 (GNU GRUB manual): Likewise.
17639 (General commands): Update description of `terminfo' for GRUB 2.
17640
9121567e
CW
176412010-06-02 Colin Watson <cjwatson@ubuntu.com>
17642
17643 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17644 (GRUB_MOD_INIT): Fix capitalisation.
17645 * docs/grub.texi (Command-line and menu entry commands): Document
17646 gettext and gptsync commands.
17647
ab631611
CW
176482010-06-02 Colin Watson <cjwatson@ubuntu.com>
17649
17650 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17651 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17652
bde4a9ac
CW
176532010-06-01 Colin Watson <cjwatson@ubuntu.com>
17654
17655 Add btrfs probing support, currently only in the single-device case.
17656
17657 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17658 function.
17659 (grub_guess_root_device): Call find_root_device_from_mountinfo
17660 before looking in /dev.
17661
b1d17e10
VS
176622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17665 GRUB_DISK_SIZE_UNKNOWN.
17666 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17667
dfbfe004
JS
176682010-05-31 Jiro SEKIBA <jir@unicus.jp>
17669
17670 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17671 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17672 corrupted or not synced properly.
17673
c2ffc8e9
VS
176742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17677 Reported by: Seth Goldberg.
17678
56293166
VS
176792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17682 addition of dest.
17683 Reported by: Seth Goldberg.
17684
7620e7de
VS
176852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17688 Reported by: Seth Goldberg.
17689
c837af3f
VS
176902010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17693 64-bit address as signed on MIPS.
17694
c7c75cf4
CW
176952010-05-28 Colin Watson <cjwatson@ubuntu.com>
17696
17697 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17698 to the empty string.
17699
fa4b8490
BC
177002010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17701
17702 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17703
17704 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17705 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17706 * kern/misc.c (__enable_execute_stack): Disable on
17707 GRUB_MACHINE_EMU.
17708
a33075b9
CW
177092010-05-28 Colin Watson <cjwatson@ubuntu.com>
17710
17711 Make grub-probe work with symbolic links under /dev/mapper as well
17712 as with real block devices. The Linux world seems to be (at best)
17713 in transition here, and GRUB shouldn't get caught in the middle.
17714
17715 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17716 /dev/mapper.
17717
d8708134
CW
177182010-05-27 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17721 input files (in which case exit zero).
17722
db2102a0
CW
177232010-05-27 Colin Watson <cjwatson@ubuntu.com>
17724
17725 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17726 return NULL for various reasons even if it has a maximum-length
17727 buffer: for example, there might be a symlink loop, or the path
17728 might exceed PATH_MAX. If this happens, return NULL.
17729
5fdba519
RM
177302010-05-27 Robert Millan <rmh@gnu.org>
17731
17732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17733 partmap module to handle cross-partmap setups.
17734 Reported by Orestes Mas. Gràcies!
17735
d1d368e4
CW
177362010-05-27 Colin Watson <cjwatson@ubuntu.com>
17737
17738 * util/grub-mkrescue.in: Initialise override_dir rather than
17739 assuming that it's unset or empty in the environment.
17740
95ac3c73
GS
177412010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17742
17743 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17744 variable index into p_index to suppress a warning with -Wshadow.
17745
7d8c0213
BC
177462010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17747
17748 * INSTALL: Added flex >= 2.5.35 requirement.
17749
db4d5813
VS
177502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17753
f24f4300
VS
177542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 cmostest support.
17757
17758 * commands/i386/cmostest.c: New file.
17759 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17760 (cmostest_mod_SOURCES): New variable.
17761 (cmostest_mod_CFLAGS): Likewise.
17762 (cmostest_mod_LDFLAGS): Likewise.
17763 * conf/i386-pc.rmk: Likewise.
17764 * docs/grub.texi (Vendor power-on keys): New section.
17765 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17766 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17767 and GRUB_BUTTON_CMOS_ADDRESS.
17768 * util/grub.d/00_header.in: Handle powering-on by separate button.
17769
ad603f61
VS
177702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17773 Removed drawing_scrollbar argument. All users updated
17774 Fixes #29792.
17775 Reported by Jo Shields
17776
3ecb080a
VS
177772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17780 buffer since gfxterm handles double repaint.
17781
5f2316c1
VS
177822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17785 * term/gfxterm.c (real_scroll): Likewise.
17786
9a25f885
VS
177872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17790 before calling BIOS.
17791
39fbb79a
VS
177922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * include/grub/i18n.h: Always enable grub_gettext.
17795
228cfa97
VS
177962010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17799 partition naming style.
17800
21717c8f
CW
178012010-05-21 Colin Watson <cjwatson@ubuntu.com>
17802
17803 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17804 not the first option.
17805
c0f48e65
CW
178062010-05-20 Colin Watson <cjwatson@ubuntu.com>
17807
17808 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17809
96779aec
CW
178102010-05-20 Colin Watson <cjwatson@ubuntu.com>
17811
17812 * util/misc.c: Move inclusion of <limits.h> to ...
17813 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17814
fa9d256e
GS
178152010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17816
17817 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17818 Fix merge error in NetBSD code.
17819 (find_partition_start) [__NetBSD__]: Likewise.
17820
123b7a85
BC
178212010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17822
17823 Fix grub-mkrescue usage unit testing.
17824
17825 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17826
74276c0d
CF
178272010-05-18 Christian Franke <franke@computer.org>
17828
17829 * util/grub.d/10_windows.in: Use path names instead of
17830 drive letters to prevent warning from Cygwin 1.7.
17831 Add drivemap command to menuentry if needed.
17832
c4f7b523
ST
178332010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17834
17835 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17836 gnumach and gnumach.gz.
17837
95b97950
VS
178382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * include/grub/i18n.h (gettext): Inline instead of using #define.
17841 (grub_gettext): Likewise.
17842 (_): Likewise.
17843
01b8d2d7
VS
178442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17847 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17848 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17849 (main): Add a slash after pkglibdirroot.
17850
654e1d1e
VS
178512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * util/grub-install.in: Add missing "in" keyword.
17854
26966aeb
VS
178552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17858 Reported by: Seth Goldberg.
17859
75006747
VS
178602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17863
74cbf5bd
CW
178642010-05-18 Colin Watson <cjwatson@ubuntu.com>
17865
17866 * configure.ac: Check for Linux device-mapper support.
17867
17868 * util/hostdisk.c (device_is_mapped): New function.
17869 (find_partition_start): New function, partly broken out from
17870 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17871 device-mapper support added.
17872 (linux_find_partition): Use find_partition_start.
17873 (convert_system_partition_to_system_disk): Add `st' argument.
17874 Support Linux /dev/mapper/* devices if device-mapper support is
17875 available; only DM-RAID devices are understood at present.
17876 (find_system_device): Add `st' argument. Pass it to
17877 convert_system_partition_to_system_disk.
17878 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17879 find_system_device and convert_system_partition_to_system_disk. Use
17880 find_partition_start.
17881
17882 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17883 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17884 * util/deviceiter.c [__linux__]: Define MINOR.
17885 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17886 * util/mkdevicemap.c (grub_putchar): New function.
17887 (grub_getkey): New function.
17888 (grub_refresh): New function.
17889 (main): Set debug=all if -v -v is used.
17890
355b51e9
CW
178912010-05-18 Colin Watson <cjwatson@ubuntu.com>
17892
17893 Fix build with non-GNU libcs.
17894
17895 * util/misc.c (canonicalize_file_name): Move to ...
17896 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17897 grub_make_system_path_relative_to_its_root.
17898
7fb5c25f
CW
178992010-05-18 Colin Watson <cjwatson@ubuntu.com>
17900
17901 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17902 we handle finding grub-mkimage. Default to finding grub-mkimage in
17903 ${bindir} with program_transform_name applied, and provide a
17904 --grub-mkimage option to override this.
17905
1d3293d6
VS
179062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 Remove grub-mkisofs.
17909
17910 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17911 (grub_mkisofs_SOURCES): Removed.
17912 (grub_mkisofs_CFLAGS): Removed.
17913 * util/mkisofs/defaults.h: Removed.
17914 * util/mkisofs/eltorito.c: Likewise.
17915 * util/mkisofs/exclude.h: Likewise.
17916 * util/mkisofs/hash.c: Likewise.
17917 * util/mkisofs/include/: Likewise.
17918 * util/mkisofs/include/fctldefs.h: Likewise.
17919 * util/mkisofs/include/mconfig.h: Likewise.
17920 * util/mkisofs/include/prototyp.h: Likewise.
17921 * util/mkisofs/include/statdefs.h: Likewise.
17922 * util/mkisofs/iso9660.h: Likewise.
17923 * util/mkisofs/joliet.c: Likewise.
17924 * util/mkisofs/match.c: Likewise.
17925 * util/mkisofs/match.h: Likewise.
17926 * util/mkisofs/mkisofs.c: Likewise.
17927 * util/mkisofs/mkisofs.h: Likewise.
17928 * util/mkisofs/msdos_partition.h: Likewise.
17929 * util/mkisofs/multi.c: Likewise.
17930 * util/mkisofs/name.c: Likewise.
17931 * util/mkisofs/rock.c: Likewise.
17932 * util/mkisofs/tree.c: Likewise.
17933 * util/mkisofs/write.c: Likewise.
17934
5dde9afe
VS
179352010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Unify grub-mkimage accross platforms.
17938
17939 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17940 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17941 (grub_mkelfimage_SOURCES): Removed.
17942 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17943 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17944 (bin_UTILITIES): Add grub-mkimage.
17945 (grub_mkimage_SOURCES): New variable.
17946 (kernel_img_HEADERS): Remove machine/kernel.h.
17947 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17948 (pkglib_PROGRAMS): Add kernel.img.
17949 (kernel_img_HEADERS): Add machine/kernel.h.
17950 (kernel_img_FORMAT): Removed.
17951 (bin_UTILITIES): Remove grub-mkimage.
17952 (grub_mkimage_SOURCES): Removed.
17953 (grub_mkimage_CFLAGS): Likewise.
17954 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17955 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17956 (pkglib_PROGRAMS): Add kernel.img.
17957 (bin_UTILITIES): Remove grub-mkimage.
17958 (grub_mkimage_SOURCES): Removed.
17959 (grub_mkimage_CFLAGS): Likewise.
17960 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17961 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17962 (pkglib_PROGRAMS): Add kernel.img.
17963 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17964 (pkglib_PROGRAMS): Add kernel.img.
17965 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17966 (grub_mkimage_SOURCES): Removed.
17967 (grub_mkimage_CFLAGS): Likewise.
17968 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17969 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17970 (pkglib_PROGRAMS): Add kernel.img.
17971 (bin_UTILITIES): Remove grub-mkimage.
17972 (grub_mkimage_SOURCES): Removed.
17973 (grub_mkimage_CFLAGS): Likewise.
17974 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17975 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17976 (grub_mkimage_SOURCES): Removed.
17977 (grub_mkimage_CFLAGS): Likewise.
17978 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17979 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17980 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17981 (grub_pe32_optional_header): ... this.
17982 (grub_pe64_optional_header): ... and this. All users updated.
17983 (GRUB_PE32_PE32_MAGIC): Split into ..
17984 (GRUB_PE32_PE32_MAGIC): .. this.
17985 (GRUB_PE32_PE64_MAGIC): .. and this.
17986 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17987 * include/grub/elf.h (PT_GNU_STACK): New definition.
17988 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17989 * include/grub/i386/efi/kernel.h: Likewise.
17990 * include/grub/i386/kernel.h: Likewise.
17991 * include/grub/i386/pc/kernel.h: Likewise.
17992 * include/grub/i386/qemu/boot.h: Likewise.
17993 * include/grub/mips/kernel.h: Likewise.
17994 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17995 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17996 * include/grub/powerpc/kernel.h: Likewise.
17997 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17998 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17999 * include/grub/sparc64/kernel.h: Likewise.
18000 * include/grub/x86_64/efi/kernel.h: Likewise.
18001 * include/grub/x86_64/kernel.h: Likewise.
18002 * include/grub/offsets.h: New file.
18003 * include/grub/kernel.h (grub_module_info): Split into ...
18004 (grub_module_info32): ... this.
18005 (grub_module_info64): ... and this.
18006 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18007 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18008 (grub_boot_blocklist): Moved from here ...
18009 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18010 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18011 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18012 * include/grub/types.h (grub_target_to_host16): Removed.
18013 (grub_target_to_host32): Likewise.
18014 (grub_target_to_host64): Likewise.
18015 (grub_host_to_target16): Likewise.
18016 (grub_host_to_target32): Likewise.
18017 (grub_host_to_target64): Likewise.
18018 (grub_host_to_target_addr): Likewise.
18019
18020 Support grub-mkrescue for efi, coreboot and qemu.
18021
18022 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18023 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18024 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18025 * util/grub-mkrawimage.c: Moved from here ...
18026 * util/grub-mkimage.c: ... here. All users updated.
18027 (ALIGN_ADDR): Use image_target.
18028 (TARGET_NO_FIELD): New const.
18029 (image_target_desc): New type.
18030 (image_targets): New array.
18031 (grub_target_to_host64): Use image_target.
18032 (grub_target_to_host32): Likewise.
18033 (grub_target_to_host16): Likewise.
18034 (grub_host_to_target64): Likewise.
18035 (grub_host_to_target32): Likewise.
18036 (grub_host_to_target16): Likewise.
18037 (grub_host_to_target_addr): Likewise.
18038 (generate_image): Handle multiimage.
18039 (main): Require -O parameter. All users updated.
18040 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18041 util/efi/grub-mkimage.c
18042 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18043 New option --rom-directory.
18044 Use xorriso.
18045 * util/i386/efi/grub-mkimage.c: Removed.
18046 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18047 (grub_target_to_host32): Likewise.
18048 (grub_target_to_host64): Likewise.
18049 (grub_host_to_target16): Likewise.
18050 (grub_host_to_target32): Likewise.
18051 (grub_host_to_target64): Likewise.
18052 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18053 (grub_target_to_host32): Likewise.
18054 (grub_target_to_host64): Likewise.
18055 (grub_host_to_target16): Likewise.
18056 (grub_host_to_target32): Likewise.
18057 (grub_host_to_target64): Likewise.
18058
f4fc97d0
BC
180592010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18060
18061 Source tree is reorganized for emu build.
18062
18063 * include/grub/util/console.h: Move from here...
18064 * include/grub/emu/console.h: ...to here.
18065 * include/grub/util/getroot.h: Move from here...
18066 * include/grub/emu/getroot.h: ...to here.
18067 * include/grub/util/hostdisk.h: Move from here...
18068 * include/grub/emu/hostdisk.h: ...to here.
18069 * util/console.c: Move from here...
18070 * kern/emu/console.c: ...to here.
18071 * util/getroot.c: Move from here...
18072 * kern/emu/getroot.c: ...to here.
18073 * util/grub-emu.c: Move from here...
18074 * kern/emu/main.c: ...to here.
18075 * util/hostdisk.c: Move from here...
18076 * kern/emu/hostdisk.c: ...to here.
18077 * util/hostfs.c: Move from here...
18078 * kern/emu/hostfs.c: ...to here.
18079 * util/mm.c: Move from here...
18080 * kern/emu/mm.c: ...to here.
18081 * util/pci.c: Move from here...
18082 * bus/emu/pci.c: ...to here.
18083 * util/sdl.c: Move from here...
18084 * video/emu/sdl.c: ...to here.
18085 * util/time.c: Move from here...
18086 * kern/emu/time.c: ...to here.
18087 * util/usb.c: Move from here...
18088 * bus/usb/emu/usb.c: ...to here.
18089
18090 * include/grub/emu/misc.h: New header for grub-emu functions.
18091 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18092
18093 * conf/any-emu.rmk: Rule updates for above renames.
18094 * conf/common.rmk: Likewise.
18095 * conf/i386-pc.rmk: Likewise.
18096 * conf/i386-qemu.rmk: Likewise.
18097 * conf/mips.rmk: Likewise.
18098 * conf/sparc64-ieee1275.rmk: Likewise.
18099 * conf/x86-efi.rmk: Likewise.
18100
18101 * disk/lvm.h: #include updates for above renames.
18102 * util/grub-mkrelpath.c: Likewise.
18103 * util/grub-probe.c: Likewise.
18104 * util/i386/pc/grub-setup.c: Likewise.
18105 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18106 * kern/emu/console.c: Likewise.
18107 * kern/emu/getroot.c: Likewise.
18108 * kern/emu/hostdisk.c: Likewise.
18109 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18110
18111 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18112 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18113 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18114 * util/misc.c: Remove grub-emu functions.
18115
cced9145
VS
181162010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 Fix gfxmenu crash.
18119 Reported by: Thorsten Grützmacher.
18120
18121 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18122 timeout hook.
18123 (circprog_set_property): Register and unregister timeout hook.
18124 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18125 (label_destroy): Free template. and unregister hook.
18126 (label_set_state): New function.
18127 (label_set_property): Handle templates and hooks.
18128 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18129 timeout hook.
18130 (progress_bar_set_property): Register and unregister timeout hook.
18131 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18132 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18133 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18134 (update_timeout_visit): Removed.
18135 (update_timeouts): New function.
18136 (redraw_timeouts): Likewise.
18137 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18138 (grub_gfxmenu_clear_timeout): Likewise.
18139 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18140 (grub_gfxmenu_timeout_notify): Likewise.
18141 (grub_gfxmenu_timeout_notifications): New external variable.
18142 (grub_gfxmenu_timeout_register): New function.
18143 (grub_gfxmenu_timeout_unregister): Likewise.
18144
c6e5caab
VS
181452010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 Transform (broken) vga terminal into (working) vga video driver.
18148
18149 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18150 video/i386/pc/vga.c.
18151 * include/grub/video.h (grub_video_driver_id):
18152 Add GRUB_VIDEO_DRIVER_VGA.
18153 * term/i386/pc/vga.c: Renamed to ...
18154 * video/i386/pc/vga.c: ...this
18155 (DEBUG_VGA): Removed.
18156 (CHAR_WIDTH): Likewise.
18157 (CHAR_HEIGHT): Likewise.
18158 (TEXT_WIDTH): Likewise.
18159 (TEXT_HEIGHT): Likewise.
18160 (DEFAULT_FG_COLOR): Likewise.
18161 (DEFAULT_BG_COLOR): Likewise.
18162 (colored_char): Likewise.
18163 (xpos): Likewise.
18164 (ypos): Likewise.
18165 (cursor_state): Likewise.
18166 (fg_color): Likewise.
18167 (bg_color): Likewise.
18168 (text_buf): Likewise.
18169 (page): Likewise.
18170 (font): Likewise.
18171 (framebuffer): New variable.
18172 (set_read_map): Disabled.
18173 (setup): New variable.
18174 (is_target): Likewise.
18175 (grub_vga_mod_init): Likewise.
18176 (grub_vga_mod_fini): Likewise.
18177 (check_vga_mem): Likewise.
18178 (write_char): Likewise.
18179 (write_cursor): Likewise.
18180 (scroll_up): Likewise.
18181 (grub_vga_putchar): Likewise.
18182 (grub_vga_getcharwidth): Likewise.
18183 (grub_vga_getwh): Likewise.
18184 (grub_vga_getxy): Likewise.
18185 (grub_vga_gotoxy): Likewise.
18186 (grub_vga_cls): Likewise.
18187 (grub_vga_setcolorstate): Likewise.
18188 (grub_vga_setcursor): Likewise.
18189 (grub_video_vga_init): New function.
18190 (grub_video_vga_setup): Likewise.
18191 (grub_video_vga_fini): Likewise.
18192 (update_target): Likewise.
18193 (grub_video_vga_blit_bitmap): Likewise.
18194 (grub_video_vga_blit_render_target): Likewise.
18195 (grub_video_vga_set_active_render_target): Likewise.
18196 (grub_video_vga_get_active_render_target): Likewise.
18197 (grub_video_vga_swap_buffers): Likewise.
18198 (grub_video_vga_set_palette): Likewise.
18199 (grub_video_vga_get_info_and_fini): Likewise.
18200 (grub_vga_term): Removed.
18201 (grub_video_vga_adapter): New variable.
18202 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18203 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18204
2bf61a98
VS
182052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * video/readers/jpeg.c: Indented.
18208
09ddcd11
VS
182092010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 Various jpeg cleanups.
18212
18213 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18214 (grub_jpeg_decode_quan_table): Use sizeof.
18215 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18216
e5507505
PH
182172010-05-05 Peter Hurley <No e-mail available> (tiny change)
18218
18219 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18220 tables. Ignore non-last ac bit.
18221 (grub_jpeg_decode_quan_table): Likewise.
18222
7e720a9b
VS
182232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18226 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18227 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18228 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18229 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18230 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18231
a7fc080b
VS
182322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18235 error.
18236
2bf6012d
VS
182372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18240
265d68cd
VS
182412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18244 condition.
18245
182462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18247
18248 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18249 part.
18250
265d68cd 182512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18252
18253 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18254 pointers.
18255
265d68cd 182562010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18257
18258 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18259
d1b61374
CF
182602010-05-01 Christian Franke <franke@computer.org>
18261
18262 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18263 Remove broken Cygwin path conversion.
18264 * util/misc.c: [__CYGWIN__] Add include and define.
18265 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18266 for Cygwin 1.7.
18267 (make_system_path_relative_to_its_root): Simplify loop, replace early
18268 return by break.
18269 [__CYGWIN__] Add conversion to win32 path.
18270 Include "/" case in trailing slash removal.
18271
3558c6e9
VS
182722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18275 Reported by: Seth Goldberg
18276
f5f3ff93
VS
182772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 * commands/help.c (grub_cmd_help): Fix a typo.
18280 Reported by: Seth Goldberg
18281
d8b5cd40
VS
182822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18285 name and add N_.
18286 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18287 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18288 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18289 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18290 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18291 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18292 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18293 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18294 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18295 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18296 * normal/context.c (GRUB_MOD_INIT): Likewise.
18297 * normal/main.c (GRUB_MOD_INIT): Likewise.
18298 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18299 * term/serial.c (GRUB_MOD_INIT): Likewise.
18300 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18301
88c14915
VS
183022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18305 extra == 0.
18306
165134bc
VS
183072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18308
18309 * commands/iorw.c: New file.
18310 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18311 (iorw_mod_SOURCES): New variable.
18312 (iorw_mod_CFLAGS): Likewise.
18313 (iorw_mod_LDFLAGS): Likewise.
18314
c5ac9b32
VS
183152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 Hotkey support
18318
18319 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18320 * normal/main.c (hotkey_aliases): New variable.
18321 (grub_normal_add_menu_entry): Parse "--hotkey".
18322 * normal/menu_text.c (run_menu): Handle hotkeys.
18323
ce60689c
VS
183242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 * kern/i386/coreboot/init.c (grub_machine_init): Call
18327 grub_machine_mmap_init on qemu.
18328
0359d006
VS
183292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 * boot/i386/qemu/boot.S: Add a missing .code16.
18332
7819a456
VS
183332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18334
18335 Use LBIO on coreboot.
18336
18337 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18338 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18339 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18340 New declaration.
18341 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18342 grub_machine_mmap_init on coreboot.
18343 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18344 GRUB_LINUXBIOS_MEMBER_LINK.
18345 (grub_machine_mmap_iterate): Fix declaration.
18346 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18347
7210dca9
VS
183482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 Split coreboot and multiboot ports.
18351
18352 * conf/i386-multiboot.rmk: New file.
18353 * configure.ac: Add multiboot port.
18354 * include/grub/i386/multiboot/boot.h: New file.
18355 * include/grub/i386/multiboot/console.h: Likewise.
18356 * include/grub/i386/multiboot/init.h: Likewise.
18357 * include/grub/i386/multiboot/kernel.h: Likewise.
18358 * include/grub/i386/multiboot/loader.h: Likewise.
18359 * include/grub/i386/multiboot/memory.h: Likewise.
18360 * include/grub/i386/multiboot/serial.h: Likewise.
18361 * include/grub/i386/multiboot/time.h: Likewise.
18362 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18363 * loader/multiboot.c: Likewise.
18364 * loader/multiboot_mbi2.c: Likewise.
18365 * util/grub-mkrescue.in: Generate multiboot rescue.
18366
6f8aaf68
VS
183672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18368
3080f7a7
VS
18369 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18370
183712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18372
18373 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18374
18375 * commands/terminal.c (abstract_terminal): New struct.
18376 (handle_command): New function. Based on grub_cmd_terminal_input.
18377 (grub_cmd_terminal_input): Use handle_command.
18378 (grub_cmd_terminal_output): Use handle_command.
18379
a8ebb841
BC
183802010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18381
18382 Fix comment handling.
18383
18384 * tests/grub_script_comments.in: New testcase.
18385 * conf/tests.rmk: Rules for new testcase.
18386 * script/yylex.l: Updated flex rules.
18387
bb06ba08
ST
183882010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18389
18390 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18391 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18392 if argc is 1.
bb06ba08 18393
cc9d2425
VS
183942010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18397 autogen issues.
18398
460d8402
CF
183992010-04-26 Christian Franke <franke@computer.org>
18400
18401 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18402 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18403 (grub_get_prefix): Remove function.
18404 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18405 make_system_path_relative_to_its_root ().
18406 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18407
553c01f9
CF
184082010-04-24 Christian Franke <franke@computer.org>
18409
18410 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18411 (kernel_img_LDFLAGS): Remove -static-libgcc.
18412
2aec1692
CF
184132010-04-24 Christian Franke <franke@computer.org>
18414
18415 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18416 and CHECK_END_SYMBOL if grub-emu is built.
18417 Unset TARGET_OBJ2ELF if grub-emu is built
18418 without module support.
18419
f67dc308
JS
184202010-04-24 Jiro SEKIBA <jir@unicus.jp>
18421
18422 Nilfs2 support.
18423
18424 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18425 (grub_fstest_SOURCES): Likewise.
18426 (pkglib_MODULES): Add nilfs2.mod.
18427 (nilfs2_mod_SOURCES): New variable.
18428 (nilfs2_mod_CFLAGS): Likewise.
18429 (nilfs2_mod_LDFLAGS): Likewise.
18430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18431 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18432 * fs/nilfs2.c: New file.
18433
4ba8d354
VS
184342010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18437 is not supported.
18438
0d2c20c6
GS
184392010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18440
18441 Add grub-mkconfig support for NetBSD.
18442
18443 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18444 * util/grub-mkconfig.in: export new NetBSD specific variables.
18445 * po/POTFILES-shell: added 10_netbsd.in.
18446 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18447
bc4a2d83
BC
184482010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18449
18450 Fix emu build with grub-emu-pci and grub-emu-modules.
18451
18452 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18453 functions.
18454 * include/grub/libpciaccess.h: New file.
18455 * conf/any-emu.rmk: Update kernel headers for emu build.
18456
f48c87aa
VS
184572010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18460
18959385
VS
184612010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18464
0037de3f
VS
184652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18468 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18469 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18470 util/ieee1275/ofpath.c.
18471 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18472 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18473 * include/grub/sparc64/ieee1275/boot.h
18474 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18475 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18476 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18477 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18478 const char *.
18479 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18480 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18481 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18482 install.
18483
38e55e90
GS
184842010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18485
18486 * util/grub-mkconfig.in: Corrected two == equality tests.
18487 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18488 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18489 expect a number appended to it.
18490 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18491 expects a number appended to it.
18492
a9e6ff28
VS
184932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18496
0b830b8f
VS
184972010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * util/hostdisk.c (make_device_name): Change to new partition naming.
18500
0973daeb
VS
185012010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18504
460d8402 185052010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18506
18507 * Makefile.in: Add missing localedir setting.
18508
0b456309
CW
185092010-04-14 Colin Watson <cjwatson@ubuntu.com>
18510
18511 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18512 mistake in r2156. Noticed by Anthony Fok.
18513
18514 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18515 @localedir@.
18516 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18517
08f46d62
BC
185182010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18519
18520 Fix a spurious, uninitialized variable warning.
18521
18522 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18523 Initialize variable, shdr.
18524 (grub_freebsd_load_elfmodule): Likewise.
18525 (grub_freebsd_load_elf_meta): Likewise.
18526
8c4a72d4
BC
185272010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18528
18529 Fix for escaped dollar in double quoted strings.
18530
18531 * script/yylex.l: Updated flex rules.
18532 * conf/tests.rmk: Rule for new testcase.
18533 * tests/grub_script_dollar.in: New testcase.
18534
ce44826e
CPE
185352010-04-13 Carles Pina i Estany <carles@pina.cat>
185362010-04-13 Colin Watson <cjwatson@ubuntu.com>
18537
18538 Enclose all translated strings in grub.cfg in single quotes, and
18539 escape them appropriately (Ubuntu bug #552921).
18540
18541 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18542 * util/grub.d/10_hurd.in: Use it.
18543 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18544 * util/grub.d/10_linux.in (linux_entry): Likewise.
18545
4b0cd8f8
VS
185462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 Fix cygwin compilation.
18549
18550 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18551 * include/grub/misc.h (__register_frame_info)
18552 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18553 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18554 * kern/misc.c (__register_frame_info)
18555 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18556 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18557
01fcf061
VS
185582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18559
18560 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18561
5d04b11e
VS
185622010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18563
18564 Unify libgcc processing.
18565
18566 * Makefile.in (kernel_img_LDFLAGS): New variable.
18567 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18568 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18569 overwriting.
18570 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18571 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18572 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18573 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18574 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18575 overwriting. Remove -lgcc and -static-libgcc
18576 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18577 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18578 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18579 (kernel_img_LDFLAGS): Append instead of overwriting.
18580 Remove -lgcc and -static-libgcc
18581 * conf/sparc64-ieee1275.rmk: Likewise.
18582 * include/grub/powerpc/libgcc.h: Move to ...
18583 * include/grub/libgcc.h: .. this.
18584 * include/grub/libgcc.h: Don't export most of the function on x86.
18585 (__bswapsi2): New export.
18586 (__bswapdi2): Likewise.
18587 * include/grub/mips/libgcc.h: Removed.
18588 * include/grub/sparc64/libgcc.h: Likewise.
18589
b7f3ac29
VS
185902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18593 disk_info_msg (conflicts with gettexting into languages with cases).
18594
2c7031b1
GS
185952010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18596
18597 Add grub-probe support for NetBSD.
18598
18599 * util/getroot.c (find_root_device): Convert block device to
18600 character device on NetBSD.
18601 * util/probe.c (probe): Require character device on NetBSD.
18602 * util/hostdisk.c: NetBSD specific headers.
18603 (configure_device_driver): new function to tune device driver
18604 parameters (currently only for NetBSD floppy driver).
18605 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18606 via disklabel ioctl).
18607 (open_device): call configure_device_driver on NetBSD.
18608 (convert_system_partition_to_system_disk): NetBSD specific code.
18609 (device_is_wholedisk): Likewise.
18610 (grub_util_biosdisk_get_grub_dev): Likewise.
18611 (make_device_name): Fixed a typo in bsd_part_str.
18612 * configure.ac: check for opendisk() and getrawpartition() on
18613 NetBSD and set LIBUTIL.
18614 * Makefile.in: add LIBUTIL to LIBS.
18615
f516290c
BC
186162010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18617
18618 Documentation fix.
18619
18620 * util/grub-script-check.c: Better help message.
18621
d8dcc0df
BC
186222010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18623
18624 Fix FreeBSD build.
18625
18626 * configure.ac: Flex version check.
18627 * conf/common.rmk: Add -Wno-error to sh.mod.
18628 * script/yylex.l: Remove all #pragma.
18629
6734334a
VS
186302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18631
18632 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18633 prototype.
18634 Reported by: Seth Goldberg.
18635
daea6abd
VS
186362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18637
18638 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18639 Rename "module" to "module2".
18640 Reported by: Seth Goldberg.
18641
f2fd9d2b
VS
186422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18643
18644 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18645 EXPORT_FUNC.
18646 Reported by: Seth Goldberg.
18647
be124579
VS
186482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * lib/posix_wrap/locale.h: Add missing file.
18651 Reported by: Seth Goldberg.
18652
ef5da797
VS
186532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 grub-emu module load support.
18656
18657 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18658 NO_DYNAMIC_MODULES switched to this.
18659 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18660 (CFLAGS): Likewise.
18661 * conf/any-emu.rmk: Generate symlist.
18662 (kernel_img_HEADERS): Add util/datetime.h.
18663 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18664 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18665 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18666 kern/$(target_cpu)/cache.S.
18667 * configure.ac (grub-emu-modules): New option.
18668 * genmk.rb: Handle multiple source lists.
18669 * include/grub/sdl.h: New file.
18670 * include/grub/libusb.h: Likewise.
18671 * util/grub-emu.c (main): Hanle (host) root.
18672 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18673 GRUB_ERR_UNKNOWN_DEVICE.
18674 * util/misc.c: Move mm functions to ...
18675 * util/mm.c: ... here. All users updated.
18676
47822096
VS
186772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18680 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18681 missing files.
18682 (maintainer-clean): Remove libgcrypt-grub.
18683
5d7e7445
VS
186842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18687
25f4e252
EC
186882010-04-09 EFI Coder <eficoder@hotmail.com>
18689
18690 * normal/menu_text.c (print_message): Clean up the message and show
18691 the Fn information when on EFI
18692 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18693
027de555
VS
186942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18697 All users updated.
18698 * normal/crypto.c (read_crypto_list): Likewise.
18699 * normal/dyncmd.c (read_command_list): Likewise.
18700 * normal/term.c (read_terminal_list): Likewise.
18701 * normal/main.c (read_lists): Use explicit prefix.
18702 (read_lists_hook): Use read_lists.
18703 (grub_normal_execute): Likewise.
18704
47779711
VS
187052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18706
18707 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18708 Reported by: Thomas Schmitt.
18709 Add -no-emul-boot to grub-mkisofs parameters.
18710
1118c32e
VS
187112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * font/font.c: Indented.
18714
7d652447
BC
187152010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18716
18717 Elif support to GRUB script (by Deepak Vankadaru).
18718
18719 * tests/grub_script_if.in: New testcase.
18720 * conf/tests.rmk: Rule for new testcase.
18721 * script/parser.y: Grammar rules for elif.
18722
34bb22df
BC
187232010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18724
18725 While and until loops support to GRUB script.
18726
18727 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18728 (grub_script_create_cmdwhile): New function prototype.
18729 (grub_script_execute_cmdwhile): New function prototype.
18730 * script/execute.c (grub_script_execute_cmdwhile): New function.
18731 * script/parser.y (command): New commands.
18732 (whilecmd): New grammar rule.
18733 (untilcmd): New grammar rule.
18734 * script/script.c (grub_script_create_cmdwhile): New function.
18735 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18736 function.
18737
18738 * tests/grub_script_while1.in: New testcase.
18739 * conf/tests.rmk: Rule for new testcase.
18740
e215d8e0
VS
187412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18744 as *.jpg.
18745
d7c43ba1
MV
187462010-04-09 Mario Vazquez <mariovazq@gmail.com>
18747
18748 GRUB_BACKGROUND support.
18749
18750 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18751 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18752
d64795c0
VS
187532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18756 Idea by: Mario Vazquez
d64795c0
VS
18757
18758 * util/grub.d/00_header.in: Load pf2 and image modules.
18759
f267f83a
VS
187602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 grub-mkconfig multiple terminal support.
18763
18764 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18765 * util/grub.d/00_header.in: Likewise.
18766
b7841ceb
VS
187672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18770 we use cd $(srcdir).
18771
df60998c
CW
187722010-04-08 Colin Watson <cjwatson@ubuntu.com>
18773
18774 * util/grub.d/10_linux.in: Only use the first word of
18775 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18776 spaces in GRUB_DISTRIBUTOR.
18777 * util/grub.d/10_kfreebsd.in: Likewise.
18778 * util/grub.d/10_hurd.in: Likewise.
18779
fa09c82e
BC
187802010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18781
14e18ae3 18782 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18783
18784 * tests/util/grub-shell.in: Remove -serial stdio option.
18785
daf892b3
BC
187862010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 POSIX header file wrappers.
18789
18790 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18791 equivalents.
18792 * lib/posix_wrap/ctype.h: Likewise.
18793 * lib/posix_wrap/errno.h: Likewise.
18794 * lib/posix_wrap/langinfo.h: Likewise.
18795 * lib/posix_wrap/limits.h: Likewise.
18796 * lib/posix_wrap/localcharset.h: Likewise.
18797 * lib/posix_wrap/stdint.h: Likewise.
18798 * lib/posix_wrap/stdio.h: Likewise.
18799 * lib/posix_wrap/stdlib.h: Likewise.
18800 * lib/posix_wrap/string.h: Likewise.
18801 * lib/posix_wrap/sys/types.h: Likewise.
18802 * lib/posix_wrap/unistd.h: Likewise.
18803 * lib/posix_wrap/wchar.h: Likewise.
18804 * lib/posix_wrap/wctype.h: Likewise.
18805 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18806 (grub_script.yy.h): Likewise.
18807 * script/yylex.l: Remove POSIX emulation #defines.
18808 * Makefile.in (POSIX_CFLAGS): New variable.
18809 (GNULIB_UTIL_CFLAGS): Likewise.
18810
18811 Regexp support.
18812
18813 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18814 (regexp_mod_SOURCES): New variable.
18815 (regexp_mod_CFLAGS): Likewise.
18816 (regexp_mod_LDFLAGS): Likewise.
18817 * commands/regexp.c: New file.
18818 * gnulib/regcomp.c: New file. Imported from gnulib.
18819 * gnulib/regex.c: Likewise.
18820 * gnulib/regex_internal.c: Likewise.
18821 * gnulib/regex_internal.h: Likewise.
18822 * gnulib/regexec.c: Likewise.
18823 * gnulib/regex.h: Likewise.
18824
974ac4f7
VS
188252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18828 unsupported video mode types.
18829
2622c3ff
VS
188302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18833
064cb524
VS
188342010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18837 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18838
a8c3b552
VS
188392010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 Remove unused grub_vga_get_font.
18842
18843 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18844 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18845
187bbe3d
GS
188462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18847
18848 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18849 * include/grub/misc.h: Likewise.
18850
b9396631
GS
188512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18852
18853 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18854 for which failure is fatal.
18855
50479feb
GS
188562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18857
18858 * util/grub-install.in: Use mkdir -p to create grub directory.
18859 * util/i386/efi/grub-install.in: Likewise.
18860 * util/ieee1275/grub-install.in: Likewise.
18861
b1654fdf
GS
188622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18863
18864 * Makefile.in (LEX): new variable.
18865
bd5a6415
GS
188662010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18867
18868 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18869 `=' and added double quotes on operands of this equality test.
18870
3db3a82b
VS
188712010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18872
18873 * Makefile.in (uninstall): Remove a leftover debug echo.
18874 Reported by: Grégoire Sutre
18875
38023412
VS
188762010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 MIPS multiboot2 support.
18879
18880 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18881 (multiboot2_mod_SOURCES): New variable.
18882 (multiboot2_mod_CFLAGS): Likewise.
18883 (multiboot2_mod_LDFLAGS): Likewise.
18884 (multiboot2_mod_ASFLAGS): Likewise.
18885 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18886 definition.
18887 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18888 (MULTIBOOT_MBI_REGISTER): Likewise.
18889 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18890 (MULTIBOOT_ELF32_MACHINE): Likewise.
18891 (MULTIBOOT_ELF64_MACHINE): Likewise.
18892 * include/grub/mips/multiboot.h: New file.
18893 * include/grub/video.h (grub_video_driver_id): New type
18894 GRUB_VIDEO_DRIVER_SM712.
18895 (grub_video_get_info_and_fini): Export.
18896 (grub_video_get_palette): Likewise.
18897 (grub_video_get_driver_id): Likewise.
18898 * include/multiboot2.h: Resynced with spec.
18899 * loader/i386/multiboot.c: Moved from here ...
18900 * loader/multiboot.c: ... here. All users updated.
18901 (grub_multiboot_boot): Use platform-specific macros.
18902 * loader/i386/multiboot_elfxx.c: Moved from here ...
18903 * loader/multiboot_elfxx.c: ... here. All users updated.
18904 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18905 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18906 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18907
47674667
VS
189082010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18909
18910 Import gnulib argp module.
18911
18912 * gnulib/argp-ba.c: New file.
18913 * gnulib/argp-eexst.c: Likewise.
18914 * gnulib/argp-fmtstream.c: Likewise.
18915 * gnulib/argp-fmtstream.h: Likewise.
18916 * gnulib/argp-fs-xinl.c: Likewise.
18917 * gnulib/argp-help.c: Likewise.
18918 * gnulib/argp-namefrob.h: Likewise.
18919 * gnulib/argp-parse.c: Likewise.
18920 * gnulib/argp-pin.c: Likewise.
18921 * gnulib/argp-pv.c: Likewise.
18922 * gnulib/argp-pvh.c: Likewise.
18923 * gnulib/argp-version-etc.c: Likewise.
18924 * gnulib/argp-version-etc.h: Likewise.
18925 * gnulib/argp-xinl.c: Likewise.
18926 * gnulib/argp.h: Likewise.
18927
495442ed
VS
189282010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 * kern/device.c (grub_device_iterate): Clear errors after failed
18931 opening device.
18932
f9fd65df
VS
189332010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18936 returned by firmware.
18937
af09641e
VS
189382010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18939
18940 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18941 compilation on coreboot and qemu
18942
016883a5
VS
189432010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 * include/multiboot2.h: Resync with spec.
18946
f97e1f7d
VS
189472010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 Multiboot2 tag support
18950
18951 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18952 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18953 Remove loader/multiboot_loader.c.
18954 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18955 (grub_multiboot2_real_boot): Likewise.
18956 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18957 (grub_get_multiboot_mmap_count): New proto.
18958 (grub_fill_multiboot_mmap): Likewise.
18959 (grub_multiboot_set_video_mode): Likewise.
18960 (grub_multiboot_set_console): Likewise.
18961 (grub_multiboot_load): Likewise.
18962 (grub_multiboot_load_elf): Likewise.
18963 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18964 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18965 * include/multiboot.h: Resynced with specification.
18966 * include/multiboot2.h: Resynced with specification.
18967 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18968 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18969 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18970 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18971 users updated.
18972 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18973 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18974 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18975 Removed.
18976 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18977 Moved from here...
18978 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18979 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18980 Moved from here...
18981 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18982 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18983 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18984 All users updated.
18985 * loader/i386/multiboot_mbi2.c: New file.
18986
3506b90b
VS
189872010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 Resync with gnulib.
18990
18991 * Makefile.in (GNULIB_CFLAGS): New variable.
18992 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18993 (grub_script_check_CFLAGS): New variable.
18994 * gnulib/alloca.h: Resync with gnulib.
18995 * gnulib/error.c: Likewise.
18996 * gnulib/error.h: Likewise.
18997 * gnulib/fnmatch.c: Likewise.
18998 * gnulib/fnmatch_loop.c: Likewise.
18999 * gnulib/getdelim.c: Likewise.
19000 * gnulib/getline.c: Likewise.
19001 * gnulib/getopt.c: Likewise.
19002 * gnulib/getopt1.c: Likewise.
19003 * gnulib/getopt_int.h: Likewise.
19004 * gnulib/gettext.h: Likewise.
19005 * gnulib/progname.c: Likewise.
19006 * gnulib/progname.h: Likewise.
19007
394a3120
GS
190082010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19009
19010 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19011 which is the case with --disabled-nls.
19012
19013 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19014 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19015 * util/misc.c: Likewise.
19016 * util/mkisofs/mkisofs.c: Likewise.
19017 * util/mkisofs/mkisofs.h: Likewise.
19018
969d1c78
VS
190192010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19020
19021 Simplify Apple CC support.
19022
19023 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19024 Add 0 byte at the end not to have a symbol with empty target.
19025 * mmap/i386/pc/mmap_helper.S: Likewise.
19026 * genmk.rb: Ignore errors 2030 and 2050.
19027 * kern/i386/pc/startup.S: Use LOCAL when possible.
19028
8d2977bb
BC
190292010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19030
19031 Testcase and the fix for final semicolon on cmdline.
19032
19033 * tests/grub_script_final_semicolon.in: New testcase.
19034 * conf/tests.rmk: Rules for the new testcase.
19035 * script/parser.y: Grammar fix.
19036
a7bd6915
BC
190372010-03-26 BVK Chaitanya <bvk@localhost>
19038
19039 Blank lines testcase for GRUB script.
19040
19041 * tests/grub_script_blanklines.in: New testcase.
19042 * conf/tests.rmk: Rules for the new testcase.
19043
e4ff6628
VS
190442010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 Don't use __FILE__.
19047
19048 * genmk.rb: Add -DGRUB_FILE to all C targets.
19049 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19050 * include/grub/list.h: Likewise.
19051 * include/grub/misc.h: Likewise.
19052 * include/grub/mm.h: Likewise.
19053 * include/grub/test.h: Likewise.
19054 * kern/mm.c: Likewise.
19055 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19056
6a5cf6b6
VS
190572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 Sunpc partitions support.
19060
19061 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19062 (grub_fstest_SOURCES): Likewise.
19063 (pkglib_MODULES): Add part_sunpc.mod.
19064 (part_sunpc_mod_SOURCES): New variable.
19065 (part_sunpc_mod_CFLAGS): Likewise.
19066 (part_sunpc_mod_LDFLAGS): Likewise.
19067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19068 * partmap/sunpc.c: New file.
19069
746d9045
BC
190702010-03-26 BVK Chaitanya <bvk@localhost>
19071
19072 For loop support to GRUB script.
19073
19074 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19075 (grub_script_create_cmdfor): New function prototype.
19076 (grub_script_execute_cmdfor): New function prototype.
19077 * script/execute.c (grub_script_execute_cmdfor): New function.
19078 * script/parser.y (command): New for command.
19079 (forcmd): New grammar rule.
19080 * script/script.c (grub_script_create_cmdfor): New function.
19081 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19082 function.
19083 * tests/grub_script_for1.in: New testcase.
19084 * conf/tests.rmk: Rules for new testcase.
19085
18486b18
VS
190862010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 Nested partitions
19089
19090 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19091 'partition' is NULL, grub_partition_get_start already does that.
19092 * commands/loadenv.c (check_blocklists): Likewise.
19093 (write_blocklists): Likewise.
19094 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19095 (grub_fstest_SOURCES): Likewise.
19096 (pkglib_MODULES): Add part_bsd.mod.
19097 (part_bsd_mod_SOURCES): New variable.
19098 (part_bsd_mod_CFLAGS): Likewise.
19099 (part_bsd_mod_LDFLAGS): Likewise.
19100 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19101 (grub_emu_SOURCES): Likewise.
19102 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19103 * include/grub/bsdlabel.h: New file.
19104 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19105 'get_name'.
19106 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19107 (grub_partition_map_list): New variable.
19108 (grub_partition_map_register): Inline.
19109 (grub_partition_map_unregister): Likewise.
19110 (FOR_PARTITION_MAPS): New macro.
19111 (grub_partition_map_iterate): Removed.
19112 (grub_partition_get_start): Handle nested partitions.
19113 * include/grub/msdos_partition.h: Remove bsd-related entries.
19114 (grub_pc_partition): Remove.
19115 * kern/disk.c (grub_disk_close): Free partition data.
19116 (grub_disk_adjust_range): Handle nested partitions.
19117 * kern/partition.c (grub_partition_map_probe): New function.
19118 (grub_partition_probe): Parse name to number, handle subpartitions.
19119 (get_partmap): New function.
19120 (grub_partition_iterate): Handle subpartitions.
19121 (grub_partition_get_name): Likewise.
19122 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19123 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19124 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19125 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19126 Set 'number'.
19127 (acorn_partition_map_probe): Remove.
19128 (acorn_partition_map_get_name): Likewise.
19129 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19130 Set 'number'.
19131 Set 'index' to 0 since there can be only one partition entry per sector.
19132 (amiga_partition_map_probe): Remove.
19133 (amiga_partition_map_get_name): Likewise.
19134 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19135 Set 'number'.
19136 Set 'offset' and 'index' to real positions of partitions.
19137 (apple_partition_map_probe): Remove.
19138 (apple_partition_map_get_name): Likewise.
19139 * partmap/bsdlabel.c: New file.
19140 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19141 Set 'number'.
19142 Allocate 'data' so it can be correctly freed.
19143 Set 'index' to offset inside sector.
19144 (gpt_partition_map_probe): Remove.
19145 (gpt_partition_map_get_name): Likewise.
19146 * partmap/msdos.c (grub_partition_parse): Remove.
19147 (pc_partition_map_iterate): Don't force raw access.
19148 Set 'number'.
19149 Make 'ext_offset' a local variable.
19150 (pc_partition_map_probe): Remove.
19151 (pc_partition_map_get_name): Remove.
19152 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19153 Set 'number'.
19154 (sun_partition_map_probe): Remove.
19155 (sun_partition_map_get_name): Likewise.
19156 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19157 (grub_pcpart_type): Likewise.
19158 * util/hostdisk.c (open_device): Handle new numbering scheme.
19159 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19160 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19161 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19162 * util/grub-install.in: Insert all subpartition modules.
19163 * util/ieee1275/grub-install.in: Likewise.
19164
a3940f88
AG
191652010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19166
19167 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19168 grammar.
19169
21b99926 191702010-03-24 Colin Watson <cjwatson@ubuntu.com>
19171
19172 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19173
bed1d352
CW
191742010-03-21 Colin Watson <cjwatson@ubuntu.com>
19175
19176 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19177 match where 'make install' puts them.
19178 * util/i386/efi/grub-install.in: Likewise.
19179
c9f58427
CW
191802010-03-19 Colin Watson <cjwatson@ubuntu.com>
19181
19182 * .bzrignore: Add gentrigtables, grub-script-check,
19183 grub_script_check_init.c, grub_script_check_init.h, and
19184 trigtables.c.
19185
f84afb27
VS
191862010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * kern/parser.c: Indented.
19189
ed0e3d30
VS
191902010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19193
0ea81d98
VS
191942010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19197 alpha_mask_size == 0 case.
19198
0cdc2a09
BC
191992010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19200
19201 GRUB shell lexer and parser improvements.
19202
19203 * conf/any-emu.rmk: Build rule updates.
19204 * conf/common.rmk: Likewise.
19205 * conf/i386-coreboot.rmk: Likewise.
19206 * conf/i386-efi.rmk: Likewise.
19207 * conf/i386-ieee1275.rmk: Likewise.
19208 * conf/i386-pc.rmk: Likewise.
19209 * conf/powerpc-ieee1275.rmk: Likewise.
19210 * conf/x86_64-efi.rmk: Likewise.
19211
19212 * configure.ac: Configure check for flex.
19213
19214 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19215 types.
19216 (grub_lexer_param): Struct member updates.
19217 (grub_parser_param): Likewise.
19218 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19219 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19220 (grub_script_lexer_init): Prototype update.
19221 (grub_script_lexer_record_start): Likewise.
19222 (grub_script_lexer_record_stop): Likewise.
19223 (grub_script_lexer_yywrap): New function prototype.
19224 (grub_script_lexer_fini): Likewise.
19225 (grub_script_execute_argument_to_string): Removed by...
19226 (grub_script_execute_argument_to_argv): ...better version.
19227
19228 * script/execute.c (ROUND_UPTO): New macro.
19229 (grub_script_execute_cmdline): Out of memory fixes.
19230 (grub_script_execute_menuentry): Likewise.
19231 (grub_script_execute_argument_to_string): Removed. Update all
19232 users by...
19233 (grub_script_execute_argument_to_argv): ...better version.
19234 * script/function.c (grub_script_function_create): Use
19235 grub_script_execute_argument_to_argv instead of
19236 grub_script_execute_argument_to_string.
19237
19238 * script/lexer.c (check_varstate): Removed.
19239 (check_textstate): Removed.
19240 (grub_script_lexer_record_start): Likewise.
19241 (grub_script_lexer_record_stop): Likewise.
19242 (recordchar): Replaced with...
19243 (grub_script_lexer_record): ...new function.
19244 (nextchar): Removed.
19245 (grub_script_lexer_init): Rewritten.
19246 (grub_script_yylex): Rewritten.
19247 (append_newline): New function.
19248 (grub_script_lexer_yywrap): New function.
19249 (grub_script_lexer_fini): New function.
19250 (grub_script_yyerror): Sets error flag.
19251
19252 * script/yylex.l: New file.
19253 (grub_lexer_yyfree): Wrapper for flex yyffre.
19254 (grub_lexer_yyalloc): Likewise.
19255 (grub_lexer_yyrealloc): Likewise.
19256 * script/parser.y: Refactored.
19257
19258 * script/script.c (grub_script_arg_add): Out of memory fixes.
19259 (grub_script_add_arglist): Likewise.
19260 (grub_script_create_cmdline): Likewise.
19261 (grub_script_create_cmdmenu): Likewise.
19262 (grub_script_add_cmd): Likewise.
19263 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19264 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19265 unnecessary code.
19266
19267 * tests/grub_script_echo1.in: New testcase.
19268 * tests/grub_script_vars1.in: New testcase.
19269 * tests/grub_script_echo_keywords.in: New testcase.
19270
1d63a066
VS
192712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19272
19273 Remove some redundancy in build system.
19274
19275 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19276 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19277 (TARGET_LDFLAGS): Add -nostdlib.
19278 (TARGET_IMG_LDFLAGS): Likewise.
19279 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19280 anything since mmap isn't available.
19281 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19282 Add util/time.c.
19283 (pkglib_MODULES): Remove reboot.mod.
19284 (reboot_mod_SOURCES): Removed.
19285 (reboot_mod_CFLAGS): Likewise.
19286 (reboot_mod_LDFLAGS): Likewise.
19287 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19288 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19289 (DEFSYMFILES): Add kernel_syms.lst.
19290 (kernel_img_HEADERS): Add common headers.
19291 (symlist.c): New target.
19292 (kernel_syms.lst): Likewise.
19293 (pkglib_MODULES): Add memdisk.mod.
19294 (memdisk_mod_SOURCES): New variable.
19295 (memdisk_mod_CFLAGS): Likewise.
19296 (memdisk_mod_LDFLAGS): Likewise.
19297 (pkglib_MODULES): Add reboot.mod.
19298 (reboot_mod_SOURCES): New variable.
19299 (reboot_mod_CFLAGS): Likewise.
19300 (reboot_mod_LDFLAGS): Likewise.
19301 (pkglib_MODULES): Add date.mod.
19302 (date_mod_SOURCES): New variable.
19303 (date_mod_CFLAGS): Likewise.
19304 (date_mod_LDFLAGS): Likewise.
19305 (pkglib_MODULES): Add datehook.mod.
19306 (datehook_mod_SOURCES): New variable.
19307 (datehook_mod_CFLAGS): Likewise.
19308 (datehook_mod_LDFLAGS): Likewise.
19309 (pkglib_MODULES): Add lsmmap.mod.
19310 (lsmmap_mod_SOURCES): New variable.
19311 (lsmmap_mod_CFLAGS): Likewise.
19312 (lsmmap_mod_LDFLAGS): Likewise.
19313 (pkglib_MODULES): Add boot.mod.
19314 (boot_mod_SOURCES): New variable.
19315 (boot_mod_CFLAGS): Likewise.
19316 (boot_mod_LDFLAGS): Likewise.
19317 * conf/i386-coreboot.rmk: Removed redundant parts.
19318 * conf/i386-ieee1275.rmk: Likewise.
19319 * conf/i386-pc.rmk: Likewise.
19320 * conf/mips-yeeloong.rmk: Likewise.
19321 * conf/mips.rmk: Likewise.
19322 * conf/powerpc-ieee1275.rmk: Likewise.
19323 * conf/sparc64-ieee1275.rmk: Likewise.
19324 * conf/x86_64-efi.rmk: Likewise.
19325 * conf/i386-coreboot.rmk: Moved qemu parts ..
19326 * conf/i386-qemu.rmk: ... here
19327 * conf/i386-efi.rmk: Moved common parts to...
19328 * conf/x86-efi.rmk: ... here.
19329 * conf/i386.rmk: Added modules common to all x86 variants.
19330 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19331 * disk/memdisk.c: Remove grub/machine/kernel.h.
19332 * gensymlist.sh.in: Include symbol.h.
19333 * hook/datehook.c: Correct module name.
19334 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19335 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19336 * include/grub/i386/efi/serial.h: New file.
19337 * include/grub/x86_64/efi/serial.h: Likewise.
19338 * util/time.c: Likewise.
19339 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19340
463ac55f
CK
193412010-03-14 Colin King <colin.king@ubuntu.com>
193422010-03-14 Colin Watson <cjwatson@ubuntu.com>
19343
19344 Shrink the pre-partition-table part of boot.img by eight bytes.
19345
19346 * boot/i386/pc/boot.S (ERR): New macro.
19347 (chs_mode): Use ERR.
19348 (geometry_error): Likewise.
19349 (hd_probe_error): Remove. This is only used once, so we wrwite
19350 it inline instead.
19351 (read_error): Instead of printing read_error_string, just set up
19352 %si and fall through to ...
19353 (error_message): ... this new function, also used by ERR.
19354
08e46ede
CW
193552010-03-14 Colin Watson <cjwatson@ubuntu.com>
19356
19357 Speed up consecutive hostdisk operations on the same device.
19358
19359 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19360 (grub_util_biosdisk_open): Initialise disk->data.
19361 (struct linux_partition_cache): New structure.
19362 (linux_find_partition): Cache partition start positions; these are
19363 expensive to compute on every read and write.
19364 (open_device): Cache open file descriptor in disk->data, so that we
19365 don't have to reopen it and flush the buffer cache for consecutive
19366 operations on the same device.
19367 (grub_util_biosdisk_close): New function.
19368 (grub_util_biosdisk_dev): Set `close' member.
19369
19370 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19371 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19372 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19373 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19374 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19375
4a6d2d06
VS
193762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 Compile parts of grub-emu as modules.
19379
19380 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19381 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19382 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19383 (all-local): Add $(GRUB_EMU).
19384 (install-local): Install $(GRUB_EMU).
19385 (uninstall): Uninstall $(GRUB_EMU).
19386 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19387 * kern/dl.c: Likewise.
19388 * commands/sleep.c: Not include machine/time.h.
19389 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19390 (COMMON_CFLAGS): Likewise.
19391 (sbin_UTILITIES): Remove grub-emu.
19392 (grub_emu_SOURCES): Removed.
19393 (kernel_img_RELOCATABLE): New variable.
19394 (pkglib_PROGRAMS): Add kernel.img.
19395 (kernel_img_SOURCES): New variable
19396 (kernel_img_CFLAGS): Likewise.
19397 (kernel_img_LDFLAGS): Likewise.
19398 (TARGET_NO_STRIP): Likewise.
19399 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19400 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19401 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19402 (grub-emu): New target.
19403 (GRUB_EMU): New variable.
19404 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19405 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19406 * loader/xnu.c: Likewise.
19407 * include/grub/pci.h: Likewise.
19408 * genemuinit.sh: New file.
19409 * genemuinitheader.sh: Likewise.
19410 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19411 Support TARGET_NO_DYNAMIC_MODULES.
19412 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19413 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19414 * disk/loopback.c: Likewise.
19415 * font/font_cmd.c: Likewise.
19416 * partmap/acorn.c: Likewise.
19417 * partmap/amiga.c: Likewise.
19418 * partmap/apple.c: Likewise.
19419 * partmap/gpt.c: Likewise.
19420 * partmap/msdos.c: Likewise.
19421 * partmap/sun.c: Likewise.
19422 * parttool/msdospart.c: Likewise.
19423 * term/gfxterm.c: Likewise.
19424 * video/bitmap.c: Likewise.
19425 * video/readers/jpeg.c: Likewise.
19426 * video/readers/png.c: Likewise.
19427 * video/readers/tga.c: Likewise.
19428 * video/video.c: Likewise.
19429 * util/grub-emu.c (read_command_list): Removed.
19430 (main): Don't call util_init_nls.
19431 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19432 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19433
91fdd2ed
VS
194342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19435
19436 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19437 date.mod, datehook.mod.
19438 (datetime_mod_SOURCES): New variable.
19439 (datetime_mod_CFLAGS): Likewise.
19440 (datetime_mod_LDFLAGS): Likewise.
19441 (date_mod_SOURCES): Likewise.
19442 (date_mod_CFLAGS): Likewise.
19443 (date_mod_LDFLAGS): Likewise.
19444 (datehook_mod_SOURCES): Likewise.
19445 (datehook_mod_CFLAGS): Likewise.
19446 (datehook_mod_LDFLAGS): Likewise.
19447 * conf/sparc64-ieee1275.rmk: Likewise.
19448 * lib/ieee1275/datetime.c: New file.
19449
873ccae6
VS
194502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19453 (ieee1275_fb_mod_SOURCES): New variable.
19454 (ieee1275_fb_mod_CFLAGS): Likewise.
19455 (ieee1275_fb_mod_LDFLAGS): Likewise.
19456 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19457 New proto.
19458 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19459 (HEAP_MAX_ADDR): Likewise.
19460 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19461 type.
19462 Correct stop condition.
19463 (grub_ieee1275_devices_iterate): New function.
19464 * video/ieee1275.c: New file.
19465
601c97c0
VS
194662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19469
19470 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19471 as scratch.
19472 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19473 SCRATCH_PAD_DISKBOOT as scratch.
19474 (bootit): Pass Openfirmware pointer in %o4.
19475 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19476 of 0x200000.
19477 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19478 with util/grub-mkrawimage.c.
19479 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19480 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19481 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19482 (grub_aout_load) [GRUB_UTIL]: Likewise.
19483 * include/grub/kernel.h (grub_modules_get_end): New proto.
19484 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19485 (SCRATCH_PAD_BOOT): New definition.
19486 (SCRATCH_PAD_DISKBOOT): Likewise.
19487 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19488 * include/grub/sparc64/ieee1275/ieee1275.h
19489 (grub_ieee1275_original_stack): New variable
19490 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19491 New definition
19492 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19493 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19494 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19495 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19496 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19497 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19498 (grub_platform_image_format_t): New type.
19499 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19500 * kern/main.c (grub_modules_get_end)
19501 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19502 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19503 (codestart): Switch stacks.
19504 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19505 variable.
19506 (grub_heap_init): Use grub_modules_get_end.
19507 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19508 stack.
19509 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19510 (main): Likewise.
19511 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19512
d68b491e
TG
195132010-03-14 Thorsten Glaser <tg@mirbsd.org>
19514
19515 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19516
4e02ed50
MK
195172010-03-08 Matt Kraai <kraai@ftbfs.org>
19518
19519 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19520 bug #559005).
19521
1f15fc1e
VS
195222010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19523
19524 * genmoddep.awk: Output all missing symbols and not only first.
19525
fce5d8ff
VS
195262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * NEWS: Put the date of 1.98 release.
19529
d1e8a02f
VS
195302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19531
19532 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19533 ft2build.h.
19534
696fd607
VS
195352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19538 completition in the middle of string.
19539
33e2e6f3
VS
195402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 * util/grub-mkrescue.in: Use mktemp with explicit template.
19543
b1f6d291
VS
195442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19547
2ac227c7
VS
195482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19551 right pointer.
19552
8f9a632b
VS
195532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19554
19555 Fix FreeBSD compilation.
19556
19557 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19558 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19559
60b03859
VS
195602010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19563
48a5a769
VS
195642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19567
3ab4bd77
VS
195682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19571
d116e0d8
RM
195722010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19573
19574 Support relative image path in theme file.
19575
19576 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19577 (image_set_property): Handle theme_dir and relative path.
19578
c7ef54aa
VS
195792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 * configure.ac: Alias amd64 to x86_64.
19582
fcee14ed
VS
195832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 * NEWS: mention multiboot on EFI.
19586
d0780363
VS
195872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19588
19589 * kern/main.c (grub_load_modules): Handle errors from init functions of
19590 embeded modules.
19591
41168ea4
VS
195922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 * normal/autofs.c (autoload_fs_module): Handle errors.
19595
b54d93ac
VS
195962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 Disable linux.mod on qemu-mips since it's not functional and leads
19599 to compilation failure.
19600
19601 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19602 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19603 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19604 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19605 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19606 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19607 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19608 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19609 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19610 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19611 Reported by: BVK Chaitanya
19612
fc8345da
JU
196132010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19614
19615 * INSTALL: Add gettext as a dependency and add qemu to a new section
19616 "Prerequisites for make-check".
19617
4760f979
CF
196182010-03-04 Christian Franke <franke@computer.org>
19619
19620 * util/grub-pe2elf.c: Add missing include "progname.h".
19621
f209b5b2
VS
196222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * normal/crypto.c (read_crypto_list): Fix a typo.
19625 Reported by: Seth Goldberg.
19626
b4b7be98
VS
196272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19630 Reported by: Seth Goldberg.
b4b7be98 19631
c0ee0385
VS
196322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19635 ascii.bitmaps.
19636
a8efbf64
VS
196372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19638
19639 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19640 Reported by: Seth Goldberg.
a8efbf64 19641
08dcd913
VS
196422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19643
19644 * util/i386/efi/grub-install.in: Copy gettext files.
19645
c4d0b332
VS
196462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19649
c6f2fe52
VS
196502010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 Wait for user entry basing on presence of output rather than on errors.
19653
19654 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19655 (grub_install_newline_hook): Likewise.
19656 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19657 * normal/menu.c (show_menu): Check line_counter to determine presence
19658 of output.
19659 * normal/term.c (grub_normal_line_counter): New variable.
19660 (grub_normal_get_line_counter): New function.
19661 (grub_install_newline_hook): Likewise.
19662
5382b1e4
VS
196632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19666
5519963b
VS
196672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * configure.ac: Update version to 1.98.
19670
72b28631
VS
196712010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * util/grub.d/10_linux.in (linux_entry): Don't default to
19674 gfxpayload=keep if Linux doesn't support video handover.
19675
c140a180
VS
196762010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19677
19678 Don't compile video modules on yeeloong since video subsystem is part
19679 of kernel.
19680
19681 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19682 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19683 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19684 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19685 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19686 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19687 * include/grub/bitmap_scale.h: Likewise.
19688 * include/grub/bufio.h: Likewise.
19689 * include/grub/font.h: Likewise.
19690 * include/grub/gfxterm.h: Likewise.
19691 * include/grub/video.h: Likewise.
19692 * include/grub/vbe.h: Don't include video_fb.h.
19693 * video/i386/pc/vbe.c: Include video_fb.h.
19694 * commands/i386/pc/vbetest.c: Include video.h.
19695
a0ca21c2
CW
196962010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19697
19698 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19699 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19700 default entry if GRUB_SAVEDEFAULT=true. This allows using
19701 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19702 saving a new default on every boot.
19703
4a8a763c
VS
197042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19707 * normal/term.c (read_terminal_list): Likewise.
19708 * normal/main.c (grub_normal_init_page): Likewise.
19709 (grub_normal_read_line_real): Likewise.
19710
607ffde2
VS
197112010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19714 memory leak.
19715 Reported by: Seth Goldberg.
19716
2b8fa975
CW
197172010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19718
19719 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19720 duplicate declaration of `start'.
19721
618307dd
VS
197222010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19725 filename.
19726 Reported by: Georgy Buranov
19727
7dd05b96 197282010-02-20 Carles Pina i Estany <carles@pina.cat>
19729
19730 * util/grub-mkrawimage.c (usage): Change string formatting to
19731 improve gettext.
19732
d1484a42
MRA
197332010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19734
19735 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19736 backspace keys.
19737
42b1d186
VS
197382010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19741 Reported by: Michael Suchanek.
19742
197432010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19744
19745 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19746 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19747
d9f31a41
VS
197482010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19749
19750 Remove any reference to non-free fonts.
19751
19752 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19753 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19754 uses non-free components.
19755 * font/font.c (grub_font_get_name): Remove example name.
19756 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19757 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19758 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19759 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19760
2793c71e
GB
197612010-02-16 Georgy Buranov <gburanov@gmail.com>
19762
19763 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19764
402e3779
VS
197652010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19768 Double divisor.
19769 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19770 features.
19771 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19772
0dd1e0dd
VS
197732010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19774
19775 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19776
6fa7cfce
ST
197772010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19778
19779 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19780 * docs/grub.texi (Command-line and menu entry commands): Document play
19781 command.
19782
37c8483b
ST
197832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19784
19785 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19786 parse arguments as inline tempo and notes. Move code for playing notes
19787 to...
19788 (play): ... new function.
19789
14da0fb7
ST
197902010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19791
19792 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19793 grub_uint16_t instead of short.
19794 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19795 disk from little endian to cpu endianness.
19796
04459e70
ST
197972010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19798
19799 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19800 GRUB_TICKS_PER_SECOND instead of 120.
19801
a0876943
VS
198022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19805 escape sequence after \e.
19806
e29f95dc
VS
198072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19810 non-ASCII characters.
19811
d27859b2
VS
198122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19815 set root in single quotes to prevent \, from being unescaped.
19816
bc028f2f
VS
198172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19818
19819 Prevent unknown commands from stopping menuentry execution.
19820
19821 * script/execute.c (grub_script_execute_cmdline): Print error after
19822 unknown command.
19823
095f5f82
VS
198242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19827 Reported by: Pavel Pisa.
19828
8c717950
VS
198292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19832
904935c3
VS
198332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 Merge grub_ieee1275_map_physical into grub_map and rename to
19836 grub_ieee1275_map
19837
19838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19839 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19840 Remove.
19841 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19842 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19843 necessary.
19844 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19845
5b59a4e3
VS
198462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19849 opening and not after.
19850
69e137e8
VS
198512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19854 constants.
19855
2c0fcc36
VS
198562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19857
19858 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19859 (alloc_phys): Use ALIGN_UP instead of align_addr.
19860
8c6052ce
VS
198612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19862
19863 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19864
17cec782
VS
198652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19866
19867 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19868
e0128bbd
VS
198692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19872 verbose dprintf.
19873
ca62070b
VS
198742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 Fix over-4GiB seek on sparc64.
19877
19878 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19879 Replace pos_i and pos_lo with pos. All users updated.
19880 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19881 New constant.
19882 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19883 Likewise.
19884 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19885 and pos_lo.
19886
bdca2607
VS
198872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * util/grub-mkrawimage.c (main): Call set_program_name.
19890
da278c4d
VS
198912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 Properly align 64-bit targets.
19894
19895 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19896 (generate_image): Use ALIGN_ADDR.
19897
b274d734
VS
198982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Properly create cross-endian images.
19901
19902 * include/grub/types.h (grub_host_to_target_addr): New macro
19903 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19904
82da2062
VS
199052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19908
7cae4377
VS
199092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19912
19913 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19914 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19915 (grub_linux_boot): Divide by 64K when on VESA.
19916
65a533e7
VS
199172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19918
19919 Support GRUB_GFXPAYLOAD_LINUX.
19920
19921 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19922 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19923
dd01d397
VS
199242010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19927 to show messages instead of discarding them.
19928 Process errors after executing command and not before. Keep old method
19929 too as precaution.
19930
660960d6
VS
199312010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * configure.ac: Check for ft2build.h.
19934
62509f04
VS
199352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19938
473df63d
VS
199392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19940
19941 * genkernsyms.sh.in: Use TARGET_CC.
19942
c98d2a13
CW
199432010-02-07 Colin Watson <cjwatson@ubuntu.com>
19944
19945 * NEWS: Update.
19946
6e14234c
VS
199472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19948
19949 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19950 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19951 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19952
b255e9cf
YB
199532010-02-07 Yves Blusseau <blusseau@zetam.org>
19954
6e14234c 19955 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19956
98e6959d
VS
199572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 Fix warnings in grub-emu when compiling with maximum warning options.
19960
19961 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19962 (grub_arch_modules_addr): Return 0 and not NULL.
19963 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19964 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19965 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19966 of disk to dsk to avoid shadowing.
74e4934e
VS
19967 (find_free_slot): Fix prototype.
19968 * util/getroot.c (grub_util_is_dmraid): Make static.
19969 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19970 Add missing prototype.
19971 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19972
74e31b5c
VS
199732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19974
19975 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19976 appropriately.
19977
6b2ad14b
VS
199782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19981 code out.
19982
8f891adc
VS
199832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19986 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19987 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19988 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19989 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19990 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19991
74b45184
VS
199922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 * include/grub/err.h (grub_err_printf): Don't export.
19995
a4bced77
VS
199962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19999
007d0695
VS
200002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20001
20002 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20003 * kern/misc.c (grub_gettext_dummy): Make static.
20004
b6c0d9c2
VS
200052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20008 by non-valid ones.
20009 * kern/term.c (grub_putchar): Likewise.
20010
f51a90d0
VS
200112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20014 buggy hook call and memory leak.
20015
6846cec5
VS
200162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20019
468d69fe
VS
200202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20023
51906b8c
VS
200242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20027 modevar.
20028 Return grub_errno on allocation error.
20029
09706ce5
VS
200302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20031
20032 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20033
911df80c
YB
200342010-02-06 Yves Blusseau <blusseau@zetam.org>
20035
20036 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20037 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20038
3746a6bc
VS
200392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20042 non-pxe disk.
20043 (grub_pxefs_open): Likewise.
20044
09706ce5
VS
200452010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20046
20047 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20048 * util/grub.d/10_kfreebsd.in: Likewise.
20049 * util/grub.d/10_linux.in: Likewise.
20050
7cc192d9
VS
200512010-02-06 Colin D Bennett <colin@gibibit.com>
20052
20053 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20054 (gfxmenu_mod_SOURCES): New variable.
20055 (gfxmenu_mod_CFLAGS): Likewise.
20056 (gfxmenu_mod_LDFLAGS): Likewise.
20057 * include/grub/term.h (grub_term_set_current_output): Declare
20058 argument as const.
20059 * docs/gfxmenu-theme-example.txt: New file.
20060 * gfxmenu/gfxmenu.c: Likewise.
20061 * gfxmenu/gui_box.c: Likewise.
20062 * gfxmenu/gui_canvas.c: Likewise.
20063 * gfxmenu/gui_circular_progress.c: Likewise.
20064 * gfxmenu/gui_image.c: Likewise.
20065 * gfxmenu/gui_label.c: Likewise.
20066 * gfxmenu/gui_list.c: Likewise.
20067 * gfxmenu/gui_progress_bar.c: Likewise.
20068 * gfxmenu/gui_string_util.c: Likewise.
20069 * gfxmenu/gui_util.c: Likewise.
20070 * gfxmenu/icon_manager.c: Likewise.
20071 * gfxmenu/model.c: Likewise.
20072 * gfxmenu/named_colors.c: Likewise.
20073 * gfxmenu/theme_loader.c: Likewise.
20074 * gfxmenu/view.c: Likewise.
20075 * gfxmenu/widget-box.c: Likewise.
20076 * include/grub/gfxmenu_model.h: Likewise.
20077 * include/grub/gfxmenu_view.h: Likewise.
20078 * include/grub/gfxwidgets.h: Likewise.
20079 * include/grub/gui.h: Likewise.
20080 * include/grub/gui_string_util.h: Likewise.
20081 * include/grub/icon_manager.h: Likewise.
20082
200832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 Agglomerate scrolling in gfxterm.
20086
20087 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20088 (grub_virtual_screen_setup): Initialise 'total_screen'.
20089 (write_char): Split to ...
20090 (paint_char): ... this ...
20091 (write_char): ... and this.
20092 (paint_char): Handle delayed scrolling.
20093 (draw_cursor): Likewise.
20094 (scroll_up): Split to ...
20095 (real_scroll): ... this ...
20096 (scroll_up): ... and this.
20097 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20098 characters.
20099 (grub_gfxterm_refresh): Call real_scroll.
20100
201012010-02-06 Colin D Bennett <colin@gibibit.com>
20102
20103 * include/grub/misc.h (grub_iscntrl): New inline function.
20104 (grub_isalnum): Likewise.
20105 (grub_strtol): Likewise.
20106
201072010-02-06 Colin D Bennett <colin@gibibit.com>
20108
20109 * normal/menu_text.c (get_entry_number): Move from here ...
20110 * normal/menu.c (get_entry_number): ... moved here.
20111 * include/grub/menu.h (grub_menu_get_default_entry_index):
20112 New prototype.
20113 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20114 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20115 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20116 (grub_menu_viewer_should_return): Likewise.
20117 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20118 * normal/menu_text.c (run_menu): Enable menu switching.
20119 * normal/menu_viewer.c (should_return): New variable.
20120 (menu_viewer_changed): Likewise.
20121 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20122 (grub_menu_viewer_should_return): New function.
20123 (menuviewer_write_hook): Likewise.
20124 (grub_menu_viewer_init): Likewise.
20125
201262010-02-06 Colin D Bennet <colin@gibibit.com>
201272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 Support for gfxterm in a window.
20130
20131 * include/grub/gfxterm.h: New file.
20132 * include/grub/video.h (struct grub_video_rect): New declaration.
20133 (grub_video_rect_t): Likewise.
20134 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20135 (refcount): New variable.
20136 (render_target): Likewise.
20137 (window): Likewise.
20138 (repaint_callback): Likewise.
20139 (grub_virtual_screen_setup): Use 'render_target'.
20140 (init_window): New function.
20141 (grub_gfxterm_init_window): Likewise.
20142 (grub_gfxterm_init): Check reference counter.
20143 Use init_window.
20144 (destroy_window): New function.
20145 (grub_gfxterm_destroy_window): Likewise.
20146 (grub_gfxterm_fini): Check reference counter.
20147 Use destroy_window.
20148 (redraw_screen_rect): Restore viewport.
20149 Use 'render_target' and 'window'.
20150 Call 'repaint_callback'.
20151 (write_char): Use 'render_target'.
20152 (draw_cursor): Likewise.
20153 (scroll_up): Restore viewport.
20154 Use 'render_target' and 'window'.
20155 Call 'repaint_callback'.
20156 (grub_gfxterm_cls): Likewise.
20157 (grub_gfxterm_refresh): Use 'window'.
20158 (grub_gfxterm_set_repaint_callback): New function.
20159 (grub_gfxterm_background_image_cmd): Use 'window'.
20160 (grub_gfxterm_get_term): New function.
20161 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20162
201632010-02-06 Colin D Bennett <colin@gibibit.com>
20164
20165 Bitmap scaling support.
20166
20167 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20168 (bitmap_scale_mod_SOURCES): New variable.
20169 (bitmap_scale_mod_CFLAGS): Likewise.
20170 (bitmap_scale_mod_LDFLAGS): Likewise.
20171 * include/grub/bitmap_scale.h: New file.
20172 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20173 (background_image_cmd_options): New variable.
20174 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20175 (cmd): Rename and change type to ...
20176 (background_image_cmd_handle): ... this. All users updated.
20177 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20178 * video/bitmap_scale.c: New file.
20179
201802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 SDL support.
20183
20184 * Makefile.in (LIBSDL): New variable.
20185 (enable_grub_emu_sdl): Likewise.
20186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20187 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20188 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20189 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20190 * util/sdl.c: New file.
20191
201922010-02-06 Colin D Bennett <colin@gibibit.com>
201932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 Double buffering support.
20196
20197 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20198 * include/grub/video.h: Update comment.
20199 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20200 New type.
20201 (grub_video_fb_doublebuf_blit_init): New prototype.
20202 * term/gfxterm.c (scroll_up): Support double buffering.
20203 (grub_gfxterm_refresh): Likewise.
20204 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20205 (grub_video_fb_doublebuf_blit_init): Likewise.
20206 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20207 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20208 'displayed_page', 'render_page' and 'update_screen'.
20209 (grub_video_vbe_fini): Free offscreen buffer.
20210 (doublebuf_pageflipping_commit): New function.
20211 (doublebuf_pageflipping_update_screen): Likewise.
20212 (doublebuf_pageflipping_init): Likewise.
20213 (double_buffering_init): Likewise.
20214 (grub_video_vbe_setup): Enable doublebuffering.
20215 (grub_video_vbe_swap_buffers): Implement.
20216 (grub_video_vbe_set_active_render_target): Handle double buffering.
20217 (grub_video_vbe_get_active_render_target): Likewise.
20218 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20219 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20220 (grub_video_vbe_enable_double_buffering): Likewise.
20221 (grub_video_vbe_swap_buffers): Use update_screen.
20222 (grub_video_set_mode): Use double buffering.
20223
202242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20225
20226 * maintainance/gentrigtables.py: Remove.
20227 * lib/trig.c: Likewise.
20228
20229 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20230
20231 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20232 `trigtables.c'.
20233 (trigtables.c): New rule.
20234 (gentrigtables): Likewise.
20235 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20236
202372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20238
20239 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20240 integer constants.
20241
202422010-02-06 Colin D Bennet <colin@gibibit.com>
20243
20244 Trigonometry support.
20245
20246 * include/grub/trig.h: New file.
20247 * lib/trig.c: Likewise.
20248 * maintainance/gentrigtables.py: Likewise.
20249 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20250 (trig_mod_SOURCES): New variable.
20251 (trig_mod_CFLAGS): Likewise.
20252 (trig_mod_LDFLAGS): Likewise.
20253
5562834e
VS
202542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20257 disk devices.
20258
4f8528fc
VS
202592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20260
20261 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20262 error.
20263
2b4068e9
VS
202642010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * util/hostdisk.c (open_device): Don't use partition device when reading
20267 before the partition.
20268 (grub_util_biosdisk_read): Don't read from partition and before the
20269 partition in single operation.
20270 (grub_util_biosdisk_write): Don't write to partition and before the
20271 partition in single operation.
20272
399f6e4d
TL
202732010-02-03 Torsten Landschoff <torsten@debian.org>
20274
20275 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20276 last sectors.
20277
996649b0
VS
202782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20281 CDROM reads.
20282 (grub_biosdisk_write): Refuse to write to CDROM.
20283
3b205d4d
VS
202842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20287
61e89d9d
VS
202882010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 * font/font.c (find_glyph): Check that bmp_idx is available before
20291 using it.
20292 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20293 with (font == NULL).
20294
bf7fcba2
CS
202952010-01-28 Christian Schmitt <chris@ilovelinux.de>
20296
20297 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20298
f45d2663
BC
202992010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20300
20301 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20302 * util/grub-script-check.c (getline): Fix empty lines case.
20303
ec1444e6
RM
203042010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20305
20306 * Makefile.in (check): Exit with fail status when one of the tests
20307 fails.
20308 * tests/example_functional_test.c (example_test): Fix reversed assert.
20309 * tests/example_unit_test.c (example_test): Likewise.
20310
2e1cb9bb
CW
203112010-01-28 Colin Watson <cjwatson@ubuntu.com>
20312
20313 * util/grub.d/10_linux.in: This script does not use any of the
20314 contents of gettext.sh, only the external command `gettext', so stop
20315 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20316 the same prefix as GRUB.)
20317 * util/grub.d/10_kfreebsd.in: Likewise.
20318
63533ab0
VS
203192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20322 of the line.
20323
989e1f93
VS
203242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20327 last sectors.
20328
e709ebe2
VS
203292010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20332 having a 4KiB and not 32KiB buffer size.
20333
27dea7ed
RM
203342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20335
20336 * util/hostfs.c: Include `<errno.h>'.
20337 (grub_hostfs_read): Handle errors from fseeko() and fread().
20338
67667b9c
RM
203392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20340
20341 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20342 loop when using read hooks on files whose size isn't sector-aligned.
20343
c294d9d8
RM
203442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20345
20346 Remove unused parameter.
20347
20348 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20349 (grub_iso9660_open): Remove initialization of `data->length'.
20350
af75a9f1
RM
203512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20354 memleak conditions.
20355
254e2ce5 203562010-01-27 Carles Pina i Estany <carles@pina.cat>
20357
20358 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20359 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20360
b510928c 203612010-01-26 Carles Pina i Estany <carles@pina.cat>
20362
20363 * util/bin2h.c (usage): Fix warning (space after backslash).
20364
aa2f9dd2 203652010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20366
20367 * font/font.c: Include `grub/fontformat.h.
20368 Remove font file format constants.
20369 (grub_font_load): Use the new macros.
20370 * include/grub/fontformat.h: New file.
20371 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20372 (write_font_pf2): Use the new macros.
20373
94e7e712
RM
203742010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20375
20376 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20377 does.
20378
3973a59a
RM
203792010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20380
20381 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20382
20383 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20384 (_start): Macroify `0x7F'.
20385
20386 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20387 (make_install_device): Use "(pxe)" as fallback prefix when booting
20388 via PXE.
20389
42e0cba3
GS
203902010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * configure.ac: Reset LIBS after check for libgcc symbols.
20393
847effd8
CW
203942010-01-25 Colin Watson <cjwatson@ubuntu.com>
20395
20396 * util/hostdisk.c (open_device): Add trailing newline to debug
20397 message.
20398
ea4a7e35
GS
203992010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20400
20401 * configure.ac: Check for `limits.h'.
20402 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20403
67951a53
RM
204042010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20405
20406 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20407 capitalize error strings.
20408
c273d4ce
ST
204092010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20410
20411 * util/grub.d/10_hurd.in: Add a recovery mode.
20412
69be5b74
VS
204132010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20414
20415 * configure.ac: Check for libgcc symbols with -nostdlib.
20416
fc9e5810
BC
204172010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20418
20419 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20420
4b358c0a
VS
204212010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20424 stack since heap may be unavailable at that point.
20425 (grub_ofconsole_gotoxy): Likewise.
20426
454fcd1c
VS
204272010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * configure.ac: Check for _restgpr_14_x.
20430 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20431 and _savegpr_* prototypes.
20432
566863ca
RM
204332010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20434
20435 Use generic grub_reboot() for i386-efi.
20436
20437 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20438 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20439 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20440
bf86e59a
VS
204412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20444 presence of "prefix" variable as it breaks when normal.mod is
20445 embedded.
20446
d645e0f8
VS
204472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20450 stack since heap is unavailable at that point.
20451
f9ab2e25
VS
204522010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20455 (grub_freebsd_bootinfo): Rewritten.
20456 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20457
01fc7054
VS
204582010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20461
caab4fd6
RM
204622010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20463
20464 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20465 domain now.
20466
67eb1427
FZ
204672010-01-20 Felix Zielcke <fzielcke@z-51.de>
20468
20469 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20470 around for handling "/" to the correct fix. Fix a memory leak. Use
20471 xstrdup instead of strdup.
20472
a9ed4ff3
VS
204732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20476
204772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20478
20479 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20480
20481 * font/font.c (struct grub_font): New member 'bmp_idx'.
20482 (font_init): Initialise 'bmp_idx'.
20483 (load_font_index): Fill 'bmp_idx'.
20484 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20485
48209f4f
VS
204862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20489 unnecessary calls.
20490
9f0a4bb7
VS
204912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Move context handling out of the kernel.
20494
20495 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20496 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20497 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20498 * conf/i386-efi.rmk: Likewise.
20499 * conf/i386-ieee1275.rmk: Likewise.
20500 * conf/i386-pc.rmk: Likewise.
20501 * conf/powerpc-ieee1275.rmk: Likewise.
20502 * conf/sparc64-ieee1275.rmk: Likewise.
20503 * conf/x86_64-efi.rmk: Likewise.
20504 * include/grub/env.h: Include grub/menu.h.
20505 (grub_env_var_type): Removed.
20506 (grub_env_var): Replaced field 'type' with 'global'.
20507 (grub_env_find): New prototype.
20508 (grub_env_context_open): Remove EXPORT_FUNC.
20509 (grub_env_context_close): Likewise.
20510 (grub_env_export): Likewise.
20511 (grub_env_set_data_slot): Removed.
20512 (grub_env_get_data_slot): Likewise.
20513 (grub_env_unset_data_slot): Likewise.
20514 (grub_env_unset_menu): New prototype.
20515 (grub_env_set_menu): Likewise.
20516 (grub_env_get_menu): Likewise.
20517 * include/grub/env_private.h: New file.
20518 * include/grub/normal.h (grub_context_init): New prototype.
20519 (grub_context_fini): Likewise.
20520 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20521 * normal/context.c (grub_cmd_export): ... to here.
20522 * kern/env.c: Include env_private.h.
20523 (HASHSZ): Moved to include/grub/env_private.h.
20524 (grub_env_context): Likewise.
20525 (grub_env_sorted_var): Likewise.
20526 (current_context): Renamed from this ...
20527 (grub_current_context): ...to this. 'static' removed. All users updated.
20528 (grub_env_find): Removed 'static'.
20529 (grub_env_context_open): Moved to normal/context.c.
20530 (grub_env_context_close): Likewise.
20531 (grub_env_export): Likewise.
20532 (mangle_data_slot_name): Removed.
20533 (grub_env_set_data_slot): Likewise.
20534 (grub_env_get_data_slot): Likewise.
20535 (grub_env_unset_data_slot): Likewise.
20536 * kern/main.c (grub_set_root_dev): Don't export root.
20537 It will be done later.
20538 (grub_main): Don't export prefix.
20539 It will be done later.
20540 * normal/context.c: New file.
20541 * normal/main.c (free_menu): Use grub_env_unset_menu.
20542 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20543 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20544 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20545 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20546
8dd35b8c
VS
205472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 setpci support.
20550
20551 * commands/setpci.c: New file.
20552 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20553 (setpci_mod_SOURCES): New variable.
20554 (setpci_mod_CFLAGS): Likewise.
20555 (setpci_mod_LDFLAGS): Likewise.
20556
449193d5
VS
205572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20558
20559 Byte-addressable PCI configuration space.
20560
20561 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20562 dword address.
20563 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20564 GRUB_PCI_REG_CACHELINE.
20565 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20566 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20567 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20568 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20569 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20570 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20571 grub_pci_make_address.
20572 (lock_rom_area): Likewise.
20573 * commands/lspci.c (grub_lspci_iter): Use macroses
20574 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20575 of grub_pci_make_address.
20576 * disk/ata.c (grub_ata_pciinit): Likewise.
20577 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20578 (GRUB_PCI_REG_VENDOR): Likewise.
20579 (GRUB_PCI_REG_DEVICE): Likewise.
20580 (GRUB_PCI_REG_COMMAND): Likewise.
20581 (GRUB_PCI_REG_STATUS): Likewise.
20582 (GRUB_PCI_REG_REVISION): Likewise.
20583 (GRUB_PCI_REG_CLASS): Likewise.
20584 (GRUB_PCI_REG_CACHELINE): Likewise.
20585 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20586 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20587 (GRUB_PCI_REG_BIST): Likewise.
20588 (GRUB_PCI_REG_ADDRESSES): Likewise.
20589 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20590 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20591 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20592 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20593 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20594 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20595 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20596 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20597 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20598 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20599 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20600 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20601 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20602 (GRUB_PCI_REG_MIN_GNT): Likewise.
20603 (GRUB_PCI_REG_MAX_LAT): Likewise.
20604 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20605 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20606 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20607 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20608 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20609 space.
20610
96d73208
RM
206112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20612
20613 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20614 can be reliably determined to be supported.
20615
d4484482
RM
206162010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20617
20618 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20619 that VESA is supported.
20620 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20621 supported.
20622
00308ecf
VS
206232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20626
f66924a4
RM
206272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20628
20629 * util/misc.c (make_system_path_relative_to_its_root): Work around
20630 special-casing of "/", as previous incarnation of this routine did.
20631
cbca0ada
VS
206322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20633
20634 Fix any-emu compilation.
20635
20636 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20637 * grub_bin2h_SOURCES: New variable.
20638
34a66d99
RM
206392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20640
20641 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20642
94fabf58
RM
206432010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20644
20645 * util/grub.d/00_header.in: Fix handling of locale_dir.
20646
02cf98ca
VS
206472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20650 as possible unifont location (Gentoo).
20651 Reported by: Alexander Brüning
20652
327dbcd7
VS
206532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 Don't try to generate lists for kernel.img.
20656
20657 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20658 (pkglib_MODULES): Remove kernel.img.
20659 (kernel_img_EXPORTS): Removed.
20660 (kernel_img_RELOCATABLE): New variable.
20661 * conf/x86_64-efi.rmk: Likewise.
20662 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20663
ca467290
VS
206642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20667 grub_xasprintf or grub_snprintf.
20668 (grub_vsprintf): Likewise.
20669 (grub_snprintf): New proto.
20670 (grub_vsnprintf): Likewise.
20671 (grub_xasprintf): Likewise.
20672 (grub_xvasprintf): Likewise.
20673 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20674 (grub_sprintf): Removed.
20675 (grub_vsnprintf): New function.
20676 (grub_snprintf): Likewise.
20677 (grub_xvasprintf): Likewise.
20678 (grub_xasprintf): Likewise.
20679 (grub_vsprintf): Renamed to ...
20680 (grub_vsnprintf_real): ...this. New argument max_len.
20681
aca655fd
BC
206822010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20683
20684 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20685 fix grub-script-check warning.
20686
7ee92c32
VS
206872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * include/grub/font.h (grub_font_load): Fix prototype.
20690
f80927ca
VS
206912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20694
119c50ea
VS
206952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 * include/grub/x86_64/at_keyboard.h: New file.
20698
47d5f3c1
VS
206992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 * loader/mips/linux.c: Include missing grub/i18n.h.
20702
55ff5266
RM
207032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20704
20705 * normal/menu.c (notify_execution_failure): Clarify error message.
20706
c893cc87
RM
207072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20708
20709 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20710 return value (and revert all return statements). Update users.
20711
917dd370
CW
207122010-01-20 Dan Merillat <debian@dan.merillat.org>
20713
20714 * kern/device.c (grub_device_iterate): Allocate new part_ent
20715 structure based on sizeof (*p) rather than sizeof (p->next), to
20716 account for structure padding.
20717
20718 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20719 disk is NULL, which might happen for LVM physical volumes with no
20720 LVM signature.
20721
d4a4ee57
RM
207222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20723
20724 * loader/mips/linux.c (grub_cmd_initrd)
20725 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20726
207272009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20728
20729 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20730 (grub_video_video_init, grub_video_bitmap_init)
20731 (grub_font_manager_init, grub_term_gfxterm_init)
20732 (grub_at_keyboard_init): New extern declarations.
20733 (grub_machine_init): Initialize gfxterm and at_keyboard.
20734
20735 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20736
20737 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20738 `gfxterm.mod' into core image.
20739
20740 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20741 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20742 (kernel_img_FORMAT): Copy to ...
20743
20744 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20745 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20746 (kernel_img_FORMAT): ... here, and ...
20747
20748 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20749 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20750 (kernel_img_FORMAT): ... here.
20751
20752 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20753 and input (at_keyboard) terminals in kernel.
20754 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20755
20756 (pkglib_MODULES): Remove `pci.mod'.
20757 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20758 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20759 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20760 (at_keyboard_mod_LDFLAGS): Remove variables.
20761
207622010-01-11 Felix Zielcke <fzielcke@z-51.de>
20763
20764 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20765
207662009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20767
20768 * include/grub/mips/libgcc.h: Only export symbols for functions
20769 that libgcc provides.
20770
207712009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 MIPS support.
20774
20775 * bus/bonito.c: New file.
20776 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20777 GRUB_PCI_NUM_DEVICES.
20778 * term/i386/pc/serial.c: Move to ...
20779 * term/serial.c: ... here. All users updated.
20780 * util/i386/pc/grub-mkimage.c: Move to ...
20781 * util/grub-mkrawimage.c: ... here. All users updated.
20782 * term/i386/pc/at_keyboard.c: Move to ...
20783 * term/at_keyboard.c: ... here. All users updated.
20784 * conf/mips-qemu-mips.rmk: New file.
20785 * conf/mips-yeeloong.rmk: Likewise.
20786 * conf/mips.rmk: Likewise.
20787 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20788 mipsel-qemu-mips.
20789 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20790 to port addresses.
20791 (grub_ata_pciinit): Support CS5536.
20792 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20793 * font/font_cmd.c (loadfont_command): Open file before passing it to
20794 grub_font_load.
20795 (pseudo_file_read): New function.
20796 (pseudo_file_close): Likewise.
20797 (pseudo_fs): New structure.
20798 (load_font_module): New function.
20799 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20800 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20801 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20802 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20803 * include/grub/i386/at_keyboard.h: Split into ...
20804 * include/grub/at_keyboard.h: ... this ...
20805 * include/grub/i386/at_keyboard.h: ... and this.
20806 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20807 New prototype.
20808 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20809 updated.
20810 (grub_elf64_size): Likewise.
20811 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20812 filename.
20813 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20814 * include/grub/i386/coreboot/serial.h: Rewritten.
20815 * include/grub/i386/ieee1275/serial.h: Include
20816 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20817 * include/grub/i386/pc/serial.h: Moved from here ...
20818 * include/grub/serial.h: ... to here. All users updated.
20819 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20820 (GRUB_PCI_NUM_BUS): Likewise.
20821 (GRUB_PCI_NUM_DEVICES): Likewise.
20822 (grub_pci_device_map_range): Add missing volatile keyword.
20823 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20824 * include/grub/mips/at_keyboard.h: New file.
20825 * include/grub/mips/cache.h: Likewise.
20826 * include/grub/mips/io.h: Likewise.
20827 * include/grub/mips/kernel.h: Likewise.
20828 * include/grub/mips/libgcc.h: Likewise.
20829 * include/grub/mips/pci.h: Likewise.
20830 * include/grub/mips/qemu-mips/boot.h: Likewise.
20831 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20832 * include/grub/mips/qemu-mips/loader.h: Likewise.
20833 * include/grub/mips/qemu-mips/memory.h: Likewise.
20834 * include/grub/mips/qemu-mips/serial.h: Likewise.
20835 * include/grub/mips/qemu-mips/time.h: Likewise.
20836 * include/grub/mips/relocator.h: Likewise.
20837 * include/grub/mips/time.h: Likewise.
20838 * include/grub/mips/types.h: Likewise.
20839 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20840 * include/grub/mips/yeeloong/boot.h: Likewise.
20841 * include/grub/mips/yeeloong/kernel.h: Likewise.
20842 * include/grub/mips/yeeloong/loader.h: Likewise.
20843 * include/grub/mips/yeeloong/memory.h: Likewise.
20844 * include/grub/mips/yeeloong/pci.h: Likewise.
20845 * include/grub/mips/yeeloong/serial.h: Likewise.
20846 * include/grub/mips/yeeloong/time.h: Likewise.
20847 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20848 * kern/elf.c (grub_elf32_size): New parameter. All users
20849 updated.
20850 (grub_elf64_size): Likewise.
20851 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20852 Load modules before saying "Welcome to GRUB!".
20853 Call grub_refresh after saying "Welcome to GRUB!".
20854 * kern/mips/cache.S: New file.
20855 * kern/mips/cache_flush.S: Likewise.
20856 * kern/mips/dl.c: Likewise.
20857 * kern/mips/init.c: Likewise.
20858 * kern/mips/qemu-mips/init.c: Likewise.
20859 * kern/mips/startup.S: Likewise.
20860 * kern/mips/yeeloong/init.c: Likewise.
20861 * kern/term.c (grub_putcode): Handle NULL terminal.
20862 (grub_getcharwidth): Likewise.
20863 (grub_getkey): Likewise.
20864 (grub_checkkey): Likewise.
20865 (grub_getkeystatus): Likewise.
20866 (grub_getxy): Likewise.
20867 (grub_getwh): Likewise.
20868 (grub_gotoxy): Likewise.
20869 (grub_cls): Likewise.
20870 (grub_setcolorstate): Likewise.
20871 (grub_setcolor): Likewise.
20872 (grub_getcolor): Likewise.
20873 (grub_refresh): Likewise.
20874 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20875 (write_jump): Add hatch nop.
20876 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20877 * lib/mips/setjmp.S: New file.
20878 * loader/mips/linux.c: Likewise.
20879 * term/i386/pc/at_keyboard.c: Move from here ...
20880 * term/at_keyboard.c: ... to here.
20881 * term/i386/pc/serial.c: Moved from here ...
20882 * term/serial.c: ... to here. All users updated.
20883 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20884 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20885 (serial_translate_key_sequence): Avoid deadlock.
20886 (grub_serial_getkey): Handle backspace.
20887 (grub_serial_putchar): Fix newline handling.
20888 * util/i386/pc/grub-mkimage.c: Move from here ...
20889 * util/grub-mkrawimage.c: ... to here. All users updated.
20890 (generate_image): New parameters 'font_path' and 'format'.
20891 Support embedding font.
20892 Use grub_host_to_target* instead of grub_cpu_to_le*.
20893 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20894 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20895 (options): New option "--font".
20896 (usage): Likewise.
20897 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20898 (main): Handle "--font".
20899 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20900 (grub_virtual_screen_setup): Set bg_color_display.
20901 (redraw_screen_rect): Use bg_color_display instead of incorrect
20902 bg_color.
20903 (grub_gfxterm_cls): Likewise.
20904 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20905 Support embedding config file.
20906 (add_segments): Likewise.
20907 (options): New option "--config".
20908 (main): Handle "--config".
20909 * video/sm712.c: New file.
20910
25c2b5b3
RM
209112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20912
20913 Fix parallel builds.
20914
20915 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20916 font.c depend on ascii.h).
20917
209182010-01-12 Carles Pina i Estany <carles@pina.cat>
20919
20920 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20921
209222010-01-11 Carles Pina i Estany <carles@pina.cat>
20923
20924 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20925 By default: disabled.
20926 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20927 parameter.
20928
209292010-01-10 Carles Pina i Estany <carles@pina.cat>
20930
20931 * font/font.c: Update copyright years.
20932 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20933
209342010-01-10 Carles Pina i Estany <carles@pina.cat>
20935
20936 * font/font.c: Include `ascii.h'.
20937 (ASCII_BITMAP_SIZE): New macro.
20938 (ascii_font_glyph): Define.
20939 (ascii_glyph_lookup): New function.
20940 (grub_font_get_string_width): Change comment. If glyph not found, use
20941 ascii_glyph_lookup.
20942 (grub_font_get_glyph_with_fallback): If glyph not available returns
20943 ascii_glyph_lookup.
20944 * util/grub-mkfont.c (file_formats): New enum.
20945 (options): Add `ascii-bitmaps' new option.
20946 (usage): Add `asii-bitmaps' new option.
20947 (write_font_ascii_bitmap): New function.
20948 (write_font): Rename to ...
20949 (write_font_p2): ... this. Remove print_glyphs call.
20950 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20951 used. Call print_glyphs.
20952 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20953
209542010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20957 (grub_bin2h_SOURCES): New variable.
20958 * util/bin2h.c: New file.
20959
915fc1b8
VS
209602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 * include/multiboot.h: Resynced with spec.
20963 * include/multiboot2.h: Likewise.
20964 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20965 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20966
9444b678
RM
209672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20968
20969 * include/grub/term.h (grub_term_register_input,
20970 grub_term_register_output): Check return of terminal init()
20971 routines, and abort if errors are raised.
20972
20973 * commands/terminal.c: Update copyright year.
20974
cba98e8d
RM
209752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20976
20977 * commands/terminal.c (grub_cmd_terminal_input)
20978 (grub_cmd_terminal_output): Check return of terminal init()
20979 routines, and abort if errors are raised.
20980
6f7db5d6
VS
209812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20982
20983 * include/grub/i386/bsd.h: Fix include pathes.
20984
262bff8d
VS
209852010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 Add missing *BSD copyright headers.
20988
20989 * include/grub/aout.h: Add BSD licence.
20990 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20991 * include/grub/i386/freebsd_linker.h: ... here,
20992 * include/grub/i386/freebsd_reboot.h: ... here,
20993 * include/grub/i386/netbsd_bootinfo.h: ... here,
20994 * include/grub/i386/netbsd_reboot.h: ... here,
20995 * include/grub/i386/openbsd_bootarg.h: ... here,
20996 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20997 licence to each file.
20998
b2cab848
RM
209992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21000
21001 * acinclude.m4: Remove `nop' assembly instruction; it's not
21002 implemented by all architectures.
21003
2cb6be4b
RM
210042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21005
21006 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21007 ELILO. This is no longer necessary.
21008
a2eaee15
BC
210092010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21010
21011 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21012
21013 * util/grub-script-check.c: grub-script-check tool.
21014 * conf/common.rmk: Make rules for grub-script-check.
21015
88d17012
RM
210162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21017
21018 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21019 spotting it back in 2008. Shame on me for forgetting he did.
21020
21021 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21022
8040619d
RM
210232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21024
21025 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21026 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21027 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21028 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21029 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21030 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21031
a0c2a0f6
RM
210322010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21033
21034 * include/grub/test.h: Add license header.
21035 * tests/example_functional_test.c: Likewise.
21036 * tests/example_unit_test.c: Likewise.
21037 * tests/lib/functional_test.c: Likewise.
21038 * tests/lib/test.c: Likewise.
21039 * tests/lib/unit_test.c: Likewise.
21040
b0b13907
VS
210412010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21042
21043 Use flag-based instead of hook-based video mode selection and "auto"
21044 keyword.
21045
21046 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21047 (grub_video_set_mode): Changed prototype. All users updated.
21048 (grub_video_check_mode_flag): New inline function.
21049 * video/video.c (parse_modespec): New function.
21050 (grub_video_set_mode): Parse flags and keywords.
21051
ea379330 210522010-01-17 Carles Pina i Estany <carles@pina.cat>
21053
21054 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21055 fprintf call.
21056
e15c215e
FZ
210572010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21058
21059 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21060
409ae1c9 210612010-01-16 Carles Pina i Estany <carles@pina.cat>
21062
21063 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21064 string.
21065 * util/grub-emu.c (usage): Likewise.
21066 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21067 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21068 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21069 * util/i386/pc/grub-setup.c (usage): Likewise.
21070
70a14d3d 210712010-01-16 Carles Pina i Estany <carles@pina.cat>
21072
21073 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21074 the message.
21075 (grub_util_info): Likewise.
21076 (grub_util_error): Likewise.
21077 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21078 and/or new lines in `grub_util_warna', `grub_util_info',
21079 `grub_util_error' calls.
21080 * util/getroot.c: Likewise.
21081 * util/grub-editenv.c: Likewise.
21082 * util/grub-emu.c: Likewise.
21083 * util/grub-fstest.c: Likewise.
21084 * util/grub-mkdevicemap.c: Likewise.
21085 * util/grub-mkfont.c: Likewise.
21086 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21087 * util/grub-mkrelpath.c: Likewise.
21088 * util/grub-pe2elf.c: Likewise.
21089 * util/grub-probe.c: Likewise.
21090 * util/hostdisk.c: Likewise.
21091 * util/i386/efi/grub-mkimage.c: Likewise.
21092 * util/i386/pc/grub-mkimage.c: Likewise.
21093 * util/i386/pc/grub-setup.c: Likewise.
21094 * util/ieee1275/ofpath.c: Likewise.
21095 * util/mkisofs/eltorito.c: Likewise.
21096 * util/mkisofs/rock.c: Likewise.
21097 * util/mkisofs/write.c: Likewise.
21098 * util/raid.c: Likewise.
21099 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21100 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21101
a0b766fc
VS
211022010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 Enable multiboot on non-pc.
21105
21106 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21107 multiboot.mod and multiboot2.mod to ...
21108 * conf/i386.rmk (pkglib_MODULES): ... here.
21109 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21110 Moved to ...
21111 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21112 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21113 Moved to ...
21114 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21115 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21116 Moved to ...
21117 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21118 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21119 Moved to ...
21120 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21121 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21122 relocator.mod.
21123 (ata_mod_SOURCES): Removed.
21124 (ata_mod_CFLAGS): Likewise.
21125 (ata_mod_LDFLAGS): Likewise.
21126 (relocator_mod_SOURCES): Removed.
21127 (relocator_mod_CFLAGS): Likewise.
21128 (relocator_mod_ASFLAGS): Likewise.
21129 (relocator_mod_LDFLAGS): Likewise.
21130 Include i386.mk.
21131 * include/grub/x86_64/multiboot.h: New file.
21132 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21133 Terminate EFI.
21134
884ade56
VS
211352010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 Video multiboot support.
21138
21139 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21140 New prototype.
21141 * include/multiboot.h: Resynced with multiboot specification.
21142 * include/multiboot2.h: Likewise.
21143 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21144 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21145 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21146 (HAS_VGA_TEXT): Likewise.
21147 (accepts_video): New variable.
21148 (grub_multiboot_set_accepts_video): New function.
21149 (grub_multiboot_get_mbi_size): Account for video structures.
21150 (set_video_mode): New function.
21151 (retrieve_video_parameters): Likewise.
21152 (grub_multiboot_make_mbi): Fill video fields.
21153
0d90e8a6
VS
211542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21155
21156 Video driver ids.
21157
21158 * include/grub/video.h (grub_video_driver_id): New type.
21159 (grub_video_adapter): New member 'id'. All users updated.
21160 (grub_video_get_driver_id): New proto.
21161 * video/video.c (grub_video_get_driver_id): New function.
21162
5c71db1b 211632010-01-14 Carles Pina i Estany <carles@pina.cat>
21164
21165 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21166 `var=val'.
21167
cca15b52 211682010-01-14 Carles Pina i Estany <carles@pina.cat>
21169
21170 * normal/cmdline.c (print_completion): Gettextizze.
21171
c586fbb2 211722001-01-14 Carles Pina i Estany <carles@pina.cat>
21173
21174 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21175
ba2f6848 211762010-01-14 Carles Pina i Estany <carles@pina.cat>
21177
21178 * gettext/gettext.c (grub_gettext_translate): Push and pop
21179 grub_errno.
21180 (grub_gettext_delete_list): Change comment style.
21181 * kern/err.c (grub_error): Gettextizze.
21182 (grub_fatal): Gettextizze.
21183
0a46429a
RM
211842010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21185
21186 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21187 (grub_linux16_real_boot): ... this.
21188 * kern/i386/loader.S: Likewise.
21189 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21190 (grub_linux16_boot): New function. Switches to text mode and calls
21191 grub_linux16_real_boot().
21192
21193 * loader/i386/bsd.c: Include `<grub/video.h>'.
21194 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21195 text mode before calling grub_unix_real_boot().
21196
21197 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21198 (grub_multiboot_boot): Switch to text mode before calling
21199 grub_relocator32_boot().
21200
21201 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21202 (grub_chainloader_boot): Switch to text mode before calling
21203 grub_chainloader_real_boot().
21204
d6f93a66
RM
212052010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
212062010-01-05 Colin Watson <cjwatson@ubuntu.com>
21207
21208 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21209 non-empty value.
21210
212112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
212122010-01-05 Colin Watson <cjwatson@ubuntu.com>
21213
21214 * util/grub.d/00_header.in: Define a "savedefault" function for use
21215 in menu entries.
21216 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21217
212182010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
212192010-01-05 Colin Watson <cjwatson@ubuntu.com>
21220
21221 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21222 saved_entry if boot_once is unset.
21223 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21224 previous saved entry (i.e. grub-reboot).
21225
212262009-12-08 Colin Watson <cjwatson@ubuntu.com>
21227
21228 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21229
212302009-12-08 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21233 `var=val'.
21234 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21235
212362009-12-08 Colin Watson <cjwatson@ubuntu.com>
21237
21238 * util/grub-reboot.in: Fix --version output.
21239 * util/grub-set-default.in: Likewise.
21240
212412009-12-08 Colin Watson <cjwatson@ubuntu.com>
21242
21243 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21244 blocks.
21245
212462009-12-08 Colin Watson <cjwatson@ubuntu.com>
21247
21248 * util/grub.d/00_header.in: Quote the value assigned to `default',
21249 in case it contains spaces.
21250
212512009-12-08 Colin Watson <cjwatson@ubuntu.com>
21252
21253 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21254 `save_default_entry' call from the macosx case to the linux case.
21255
212562009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
212572009-10-25 Colin Watson <cjwatson@ubuntu.com>
21258
21259 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21260 in `chosen' environment variable.
21261 * normal/menu_text.c (get_entry_number): Check if the variable
21262 matches the title of a menu entry.
21263 (run_menu): Pass menu to get_entry_number.
21264
21265 * util/grub-reboot.in: New file.
21266 * util/grub-set-default.in: New file.
21267 * conf/common.rmk (grub-reboot): New utility.
21268 (grub-set-default): New utility.
21269
21270 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21271 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21272 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21273 move it to `saved_entry' for the next boot. Load environment on
21274 initialisation.
21275 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21276 * util/grub.d/10_hurd.in: Likewise.
21277 * util/grub.d/10_linux.in (linux_entry): Likewise.
21278 * util/grub.d/10_windows.in: Likewise.
21279 * util/grub.d/30_os-prober.in: Likewise.
21280
21281 * util/grub-install.in: Create environment block.
21282 * util/i386/efi/grub-install.in: Likewise.
21283 * util/ieee1275/grub-install.in: Likewise.
21284 * util/sparc64/ieee1275/grub-install.in: Likewise.
21285
0934d184
BC
212862010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21287
21288 Unit testing framework for GRUB.
21289
21290 * Makefile.in: Test framework build rules for 'make check'.
21291 * conf/tests.rmk: Build rules for individual tests and framework.
21292
21293 * include/grub/test.h: Header file for whitebox tests.
21294 * tests/lib/functional_test.c: Framework support for whitebox
21295 functional tests.
21296 * tests/lib/test.c: Common whitebox testing code for unit and
21297 functional tests.
21298 * tests/lib/unit_test.c: Framework support for whitebox unit
21299 tests.
21300
21301 * tests/util/grub-shell-tester.in: Support utility for grub-script
21302 tests.
21303 * tests/util/grub-shell.in: Utility to execute grub-script
21304 commands in a Qemu instance.
21305
21306 * tests/example_functional_test.c: Example whitebox functional
21307 test.
21308 * tests/example_grub_script_test.in: Example grub-script test.
21309 * tests/example_scripted_test.in: Example scripted test.
21310 * tests/example_unit_test.c: Example whitebox unit test.
21311
9c4ffeeb
VS
213122010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21315 Add loader/i386/multiboot_mbi.c.
21316 (multiboot2_mod_SOURCES): Likewise.
21317 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21318 (multiboot2_mod_SOURCES): Likewise.
21319 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21320 (grub_multiboot_make_mbi): Likewise.
21321 (grub_multiboot_free_mbi): Likewise.
21322 (grub_multiboot_init_mbi): Likewise.
21323 (grub_multiboot_add_module): Likewise.
21324 (grub_multiboot_set_bootdev): Likewise.
21325 * loader/i386/multiboot.c (mbi): Removed.
21326 (mbi_dest): Likewise.
21327 (alloc_mbi): New variable.
21328 (grub_multiboot_payload_size): Removed. All users updated.
21329 (grub_multiboot_pure_size): New variable.
21330 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21331 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21332 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21333 (grub_fill_multiboot_mmap): Likewise.
21334 (grub_multiboot_get_bootdev): Likewise.
21335 (grub_multiboot): Use multiboot_mbi functions.
21336 * loader/i386/multiboot_mbi.c: New file.
21337
17383dfe
VS
213382010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21341 it would result in module crash.
21342
c1f28820
VS
213432010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21346 (grub_ofconsole_getwh): Split to ...
21347 (grub_ofconsole_getwh): ... this.
21348 (grub_ofconsole_dimensions): ...and this.
21349 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21350
58655a16
RM
213512010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21352
21353 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21354
10891398
VS
213552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * loader/i386/pc/multiboot2.c: Removed stalled file.
21358
0b8a223c
VS
213592010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21362 Reported by: Grégoire Sutre
21363
92ab12b0
RM
213642010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21365
21366 * util/misc.c (canonicalize_file_name): New function.
21367 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21368 instead of realpath().
21369
a788afb6
CW
213702010-01-11 Colin Watson <cjwatson@ubuntu.com>
21371
21372 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21373 and make it clearer that it's optional. Based on confusion
21374 witnessed on IRC.
21375
ffa8e3d2
VS
213762010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21379 in premature implicit newline.
21380
e9060a9d
VS
213812010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21384 which resulted in garbled command line at the end of screen.
21385
f0d0c0b7
RM
213862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21387
21388 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21389 initialization with similar approach as with other Linux loaders.
21390
0e60bae7
RM
213912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21392
21393 Fix i386-ieee1275 build.
21394
21395 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21396 and grub_term_height() for video_{width,height} initialization.
21397
213982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21399
21400 Fix grub-emu build.
21401
21402 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21403
cdb3f378
RM
214042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
214052010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21406
21407 Support for multiple terminals.
21408
21409 * Makefile.in (pkglib_DATA): terminal.lst.
21410 (terminal.lst): New target.
21411 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21412 (GRUB_MOD_INIT(handler)): Likewise.
21413 (GRUB_MOD_FINI(handler)): Likewise.
21414 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21415 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21416 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21417 (grub_cmd_sleep): Use grub_term_save_pos.
21418 * commands/terminal.c: New file.
21419 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21420 commands/terminal.c and lib/charset.c.
21421 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21422 (pkglib_MODULES): Add terminal.mod.
21423 (terminal_mod_SOURCES): New variable.
21424 (terminal_mod_CFLAGS): Likewise.
21425 (terminal_mod_LDFLAGS): Likewise.
21426 * genhandlerlist.sh: Don't handle terminals.
21427 * genmk.rb: Generate terminal-*.lst.
21428 * genterminallist.sh: New file.
21429 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21430 (grub_is_valid_utf8): Likewise.
21431 (grub_utf8_to_ucs4_alloc): Likewise.
21432 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21433 (grub_menu_register_viewer): Changed argument.
21434 (grub_menu_try_text): New proto.
21435 (grub_gfxmenu_try_hook): New declaration.
21436 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21437 (grub_menu_init_page): Additional argument term.
21438 (grub_normal_init_page): Likewise.
21439 (grub_cmdline_get): Arguments simplified.
21440 (grub_utf8_to_ucs4_alloc): Removed.
21441 (grub_print_ucs4): Additional argument term.
21442 (grub_getstringwidth): Likewise.
21443 (grub_print_message_indented): Likewise.
21444 (grub_menu_text_register_instances): New proto.
21445 (grub_show_menu): Likewise.
21446 (read_terminal_list): Likewise.
21447 (grub_set_more): Likewise.
21448 * include/grub/parser.h: Include handler.h.
21449 * include/grub/reader.h: Rewritten.
21450 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21451 (GRUB_TERM_WIDTH): Changed to function.
21452 (GRUB_TERM_HEIGHT): Likewise.
21453 (GRUB_TERM_BORDER_WIDTH): Likewise.
21454 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21455 (GRUB_TERM_NUM_ENTRIES): Likewise.
21456 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21457 (GRUB_TERM_CURSOR_X): Likewise.
21458 (grub_term_input_class): Likewise.
21459 (grub_term_output_class): Likewise.
21460 (grub_term_outputs_disabled): New declaration.
21461 (grub_term_inputs_disabled): Likewise.
21462 (grub_term_outputs): Likewise.
21463 (grub_term_inputs): Likewise.
21464 (grub_term_register_input): Rewritten.
21465 (grub_term_register_output): Likewise.
21466 (grub_term_unregister_input): Likewise.
21467 (grub_term_unregister_output): Likewise.
21468 (FOR_ACTIVE_TERM_INPUTS): New macro.
21469 (FOR_DISABLED_TERM_INPUTS): Likewise.
21470 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21471 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21472 * include/grub/terminfo.h: Add oterm argument to all protypes.
21473 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21474 Use grub_rescue_run.
21475 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21476 All users updated.
21477 * kern/reader.c: Removed. All users updated.
21478 * kern/rescue_reader.c (grub_rescue_init): Removed.
21479 (grub_rescue_reader): Likewise.
21480 (grub_register_rescue_reader): Likewise.
21481 (grub_rescue_run): New function based on kern/reader.c.
21482 * kern/term.c: Adapted for multiterm.
21483 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21484 (grub_is_valid_utf8): Likewise.
21485 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21486 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21487 right terminal.
21488 * loader/i386/linux.c (grub_linux_boot): Likewise.
21489 * normal/auth.c (grub_username_get): New function.
21490 (grub_auth_check_authentication): Use grub_username_get.
21491 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21492 * normal/color.c: Adapt for multiterm.
21493 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21494 (grub_normal_init_page): Additional argument term.
21495 (read_lists): Call read_terminal_lists.
21496 (grub_enter_normal_mode): Call grub_cmdline_run.
21497 Handle grub_normal_exit_level.
21498 (grub_cmd_normal): Make reentrant.
21499 (grub_cmd_normal_exit): New function.
21500 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21501 * normal/menu.c: Adapt for multiterm.
21502 * normal/menu_entry.c: Likewise.
21503 * normal/menu_text.c: Likewise.
21504 * normal/menu_viewer.c: Removed. All users updated.
21505 * normal/term.c: New file.
21506 * util/console.c: Change order of includes to workaround a bug in
21507 ncurses headers.
21508 * term/terminfo.c: New argument oterm on all exported functions.
21509 All users updated.
21510 * util/grub-editenv.c (grub_term_input_class): Removed.
21511 (grub_term_output_class): Likewise.
21512
1a064917
RM
215132010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21514
21515 Make loader output a bit more user-friendly.
21516
21517 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21518 is being loaded. Likewise for the Hurd.
21519
21520 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21521 that kernel of FreeBSD ${version} is being loaded.
21522
21523 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21524 grub_dprintf().
21525 (grub_cmd_initrd): Likewise.
21526 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21527 that Linux ${version} is being loaded. Likewise for initrd.
21528
5ce0a83a 215292010-01-09 Carles Pina i Estany <carles@pina.cat>
21530
21531 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21532
809bbfeb 215332010-01-08 Carles Pina i Estany <carles@pina.cat>
21534
21535 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21536 (GRUB_MOD_INIT): Gettextizze.
21537 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21538 (GRUB_MOD_INIT): Gettextizze.
21539 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21540 (grub_cmd_linux): Capitalise Linux.
21541 (GRUB_MOD_INIT): Gettextizze.
21542 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21543 (grub_cmd_linux): Capitalise Linux.
21544 (GRUB_MOD_INIT): Gettextizze.
21545 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21546 (grub_cmd_linux): Capitalise Linux.
21547 (GRUB_MOD_INIT): Gettextizze.
21548 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21549 (GRUB_MOD_INIT): Gettextizze.
21550 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21551 (grub_cmd_linux): Capitalise Linux.
21552 (GRUB_MOD_INIT): Gettextizze.
21553 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21554 (grub_cpu_xnu_init): Gettextizze.
21555 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21556 (GRUB_MOD_INIT): Gettextizze.
21557 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21558 (GRUB_MOD_INIT): Gettextizze.
21559 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21560 (grub_linux_load64): Capitalise Linux.
21561 (GRUB_MOD_INIT): Gettextizze.
21562 * loader/xnu.c: Include `<grub/i18n.h>'.
21563 (GRUB_MOD_INIT): Gettextizze.
21564 * po/POTFILES: Add `loader/efi/appleloader.c',
21565 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21566 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21567 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21568 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21569 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21570 and `loader/xnu.c'.
21571
b394b2ca
RM
215722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21573
21574 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21575
215762010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21577
21578 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21579 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21580 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21581
bc8b32b3
RM
215822010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21583
21584 Reset Multiboot 2 support. New loader implements the draft in
21585 /branches/multiboot2 and shares as much code as possible with the
21586 production Multiboot 1 implementation.
21587
21588 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21589 * loader/multiboot2.c: Likewise.
21590 * loader/i386/multiboot_helper.S: Likewise.
21591 * include/multiboot2.h: Replace with latest version from the draft
21592 in /branches/multiboot2.
21593
21594 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21595 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21596 and `loader/multiboot2.c'.
21597 (pkglib_MODULES): Add `multiboot2.mod'.
21598 (multiboot2_mod_SOURCES): New variable.
21599 (multiboot2_mod_LDFLAGS): Likewise.
21600 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21601
21602 * conf/i386-pc.rmk: Likewise.
21603
21604 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21605 (multiboot_mod_SOURCES): Remove variable.
21606 (multiboot_mod_LDFLAGS): Likewise.
21607 (multiboot_mod_CFLAGS): Likewise.
21608
21609 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21610 `<multiboot2.h>' instead of `<multiboot.h>'.
21611 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21612 (MULTIBOOT_HEADER_MAGIC): New macros.
21613
21614 * loader/multiboot_loader.c (module_version_status): Remove variable.
21615 (find_multi_boot2_header): Remove function.
21616 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21617 logic. Always check for the Multiboot version we're compiling for.
21618 (grub_cmd_module_loader): Likewise.
21619 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21620 command instead of `multiboot'.
21621
5d2c52b8
RM
216222010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21623
21624 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21625 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21626 all users.
21627
53108d92
RM
216282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
216292010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21630
21631 Fix breakage introduced with previous commit.
21632
21633 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21634 commands.
21635 * normal/handler.c (read_handler_list): Revert part of previous commit
21636 affecting this file.
21637 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21638 (grub_normal_execute): ... here.
21639
e2e936b2
RM
216402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21641
21642 Merge prefix-redefinition-fix branch.
21643
21644 * normal/autofs.c (read_fs_list): Make function capable of being
21645 run multiple times, gracefuly replacing the previous data
21646 structures.
21647 * normal/dyncmd.c (read_command_list): Likewise.
21648 * normal/handler.c (read_handler_list): Likewise.
21649 * normal/main.c (read_lists): New function. Calls all the
21650 list reading functions.
21651 (grub_normal_execute): Use read_lists() instead of calling all
21652 list reading functions explicitly. Register read_lists() as a
21653 variable hook attached to ${prefix}.
21654
607a3701
VS
216552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21656
21657 Merge crypto branch.
21658
21659 * Makefile.in (pkglib_DATA): Add crypto.lst.
21660 (crypto.lst): New target.
21661 * commands/hashsum.c: New file.
21662 * commands/password.c (check_password): Use grub_crypto_memcmp.
21663 * commands/password_pbkdf2.c: New file.
21664 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21665 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21666 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21667 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21668 -I$(srcdir)/lib/libgcrypt_wrap.
21669 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21670 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21671 password_pbkdf2.mod.
21672 (crypto_mod_SOURCES): New variable.
21673 (crypto_mod_CFLAGS): Likewise.
21674 (crypto_mod_LDFLAGS): Likewise.
21675 (hashsum_mod_SOURCES): New variable.
21676 (hashsum_mod_CFLAGS): Likewise.
21677 (hashsum_mod_LDFLAGS): Likewise.
21678 (pbkdf2_mod_SOURCES): New variable.
21679 (pbkdf2_mod_CFLAGS): Likewise.
21680 (pbkdf2_mod_LDFLAGS): Likewise.
21681 (password_pbkdf2_mod_SOURCES): New variable.
21682 (password_pbkdf2_mod_CFLAGS): Likewise.
21683 (password_pbkdf2_mod_LDFLAGS): Likewise.
21684 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21685 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21686 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21687 Include conf/gcry.rmk.
21688 * include/grub/auth.h: Rewritten.
21689 * include/grub/crypto.h: New file.
21690 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21691 * include/grub/normal.h (read_crypto_list): New prototype.
21692 * lib/crypto.c: New file.
21693 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21694 * lib/pbkdf2.c: Likewise.
21695 * normal/auth.c (grub_auth_strcmp): Removed.
21696 (grub_iswordseparator): Likewise.
21697 (grub_auth_strword): Likewise.
21698 (is_authenticated): Use grub_strword.
21699 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21700 and grub_strword. Pass entered password to authentication callback.
21701 * normal/crypto.c: New file.
21702 * normal/main.c: Call read_crypto_list.
21703 * util/grub-mkpasswd-pbkdf2.c: New file.
21704 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21705
42841caa
VS
217062010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 Fix descent and ascent calculation.
21709
21710 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21711 (options): New option "asce".
21712 (usage): Likewise.
21713 (add_char): Ignore invalid glyphs for descent calculation.
21714 Calculate ascent from actual content.
21715 (print_glyphs): Use 'asce'.
21716 (write_font): Likewise. Allow ascent override.
21717 (main): Handle "asce" option.
21718
e7730de7 217192010-01-06 Carles Pina i Estany <carles@pina.cat>
21720
21721 * kern/err.c: Include `<grub/i18n.h>'.
21722 (grub_print_error): Add full stop. Gettextizze.
21723 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21724 (grub_bsd_load_elf): Capitalise ELF.
21725 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21726 (grub_cmd_freebsd_module): Likewise.
21727 (grub_cmd_freebsd_module_elf): Likewise.
21728 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21729
40e3a41f 217302010-01-06 Carles Pina i Estany <carles@pina.cat>
21731
21732 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21733 * commands/search_file.c (HELP_MESSAGE): New macro.
21734 * commands/search_label.c (HELP_MESSAGE): Likewise.
21735 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21736 * po/POTFILES: Add `commands/search_file.c',
21737 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21738 `commands/search.c'.
21739
83507e68
RM
217402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21741
21742 * config.rpath: Update from Gnulib.
21743
465c787b
YB
217442010-01-05 Yves Blusseau <blusseau@zetam.org>
21745
21746 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21747
6581dd3a
YB
217482010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21749
21750 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21751
3bff18c5
CW
217522010-01-05 Colin Watson <cjwatson@ubuntu.com>
21753
21754 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21755 arguments to fread so that we get a return value in bytes, rather
21756 than something that will normally be rounded down to 0.
21757 Adjust error handling to avoid producing garbage when size_t is not
21758 the same size as long long.
21759
a1368118
CW
217602010-01-05 Colin Watson <cjwatson@ubuntu.com>
21761
21762 * util/mkisofs/write.c (padblock_write): Check return value of
21763 fread.
21764
7c302978
RM
217652010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21768 floppy images now.
21769
21770 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21771
e33ace06
RM
217722010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21773
21774 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21775 instead of manual alignment.
21776 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21777 verbose). Avoid attempts to read past end of the device
21778 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21779 but GRUB_DISK_CACHE_SIZE may exceed that).
21780
4b856776
RM
217812010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21782
21783 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21784 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21785 it to upper layer.
21786
52c2d97f
VS
217872010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21790 New constant.
21791 (grub_efi_piwg_device_path): New structure
21792 (grub_efi_piwg_device_path_t): New type.
21793 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21794 (devpath_1): Transform to a structure. All users updated.
21795 (devpath_2): Likewise.
21796 (devpath_3): Likewise.
21797 (devpath_4): Likewise.
21798 (devpath_5): Likewise.
21799
98ff6a54
VS
218002010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 * loader/efi/appleloader.c: Restored. Update all users.
21803
3a73dcb6
RM
218042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21805
21806 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21807
21808 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21809 (struct boot_blocklist): Move from here ...
21810 * include/grub/i386/pc/boot.h [ASM_FILE]
21811 (struct grub_boot_blocklist): ... to here. Update all users.
21812 (setup): Only initialize `start' member of `first_block'
21813 structure. Add assert() calls to verify the other members.
21814
21815 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21816 (generate_image): Fix broken blocklist length initialization.
21817 Add assert() call to verify blocklist `segment' field.
21818
ab0eeb0c
RM
218192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21820
21821 * loader/efi/appleloader.c: Remove. Update all users.
21822
58bc8bd5
RM
218232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21824
21825 * boot/i386/pc/boot.S: Update copyright year.
21826 * boot/i386/pc/cdboot.S: Likewise.
21827 * boot/i386/pc/diskboot.S: Likewise.
21828 * boot/i386/pc/lnxboot.S: Likewise.
21829 * boot/i386/pc/pxeboot.S: Likewise.
21830 * bus/pci.c: Likewise.
21831 * commands/cmp.c: Likewise.
21832 * commands/help.c: Likewise.
21833 * commands/hexdump.c: Likewise.
21834 * commands/i386/pc/halt.c: Likewise.
21835 * commands/i386/pc/play.c: Likewise.
21836 * commands/i386/pc/vbeinfo.c: Likewise.
21837 * commands/ls.c: Likewise.
21838 * commands/test.c: Likewise.
21839 * disk/dmraid_nvidia.c: Likewise.
21840 * disk/i386/pc/biosdisk.c: Likewise.
21841 * disk/ieee1275/nand.c: Likewise.
21842 * disk/ieee1275/ofdisk.c: Likewise.
21843 * disk/lvm.c: Likewise.
21844 * disk/raid.c: Likewise.
21845 * disk/raid6_recover.c: Likewise.
21846 * disk/scsi.c: Likewise.
21847 * fs/affs.c: Likewise.
21848 * fs/cpio.c: Likewise.
21849 * fs/ext2.c: Likewise.
21850 * fs/hfs.c: Likewise.
21851 * fs/iso9660.c: Likewise.
21852 * fs/ntfs.c: Likewise.
21853 * fs/sfs.c: Likewise.
21854 * fs/udf.c: Likewise.
21855 * fs/ufs.c: Likewise.
21856 * fs/xfs.c: Likewise.
21857 * gencmdlist.sh: Likewise.
21858 * genmk.rb: Likewise.
21859 * include/grub/disk.h: Likewise.
21860 * include/grub/efi/api.h: Likewise.
21861 * include/grub/efi/efi.h: Likewise.
21862 * include/grub/efi/pe32.h: Likewise.
21863 * include/grub/elf.h: Likewise.
21864 * include/grub/fs.h: Likewise.
21865 * include/grub/i386/at_keyboard.h: Likewise.
21866 * include/grub/i386/pc/memory.h: Likewise.
21867 * include/grub/i386/pc/vbe.h: Likewise.
21868 * include/grub/i386/pci.h: Likewise.
21869 * include/grub/i386/tsc.h: Likewise.
21870 * include/grub/ieee1275/ieee1275.h: Likewise.
21871 * include/grub/ntfs.h: Likewise.
21872 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21873 * include/grub/sparc64/libgcc.h: Likewise.
21874 * include/grub/symbol.h: Likewise.
21875 * include/grub/types.h: Likewise.
21876 * include/multiboot2.h: Likewise.
21877 * io/gzio.c: Likewise.
21878 * kern/device.c: Likewise.
21879 * kern/disk.c: Likewise.
21880 * kern/efi/efi.c: Likewise.
21881 * kern/efi/mm.c: Likewise.
21882 * kern/elf.c: Likewise.
21883 * kern/file.c: Likewise.
21884 * kern/i386/dl.c: Likewise.
21885 * kern/i386/pc/init.c: Likewise.
21886 * kern/i386/pc/startup.S: Likewise.
21887 * kern/ieee1275/ieee1275.c: Likewise.
21888 * kern/ieee1275/init.c: Likewise.
21889 * kern/main.c: Likewise.
21890 * kern/mm.c: Likewise.
21891 * kern/powerpc/dl.c: Likewise.
21892 * kern/sparc64/dl.c: Likewise.
21893 * kern/x86_64/dl.c: Likewise.
21894 * lib/hexdump.c: Likewise.
21895 * loader/efi/appleloader.c: Likewise.
21896 * loader/i386/ieee1275/linux.c: Likewise.
21897 * loader/i386/pc/chainloader.c: Likewise.
21898 * loader/i386/pc/linux.c: Likewise.
21899 * loader/i386/pc/multiboot2.c: Likewise.
21900 * loader/ieee1275/multiboot2.c: Likewise.
21901 * loader/multiboot2.c: Likewise.
21902 * loader/multiboot_loader.c: Likewise.
21903 * loader/powerpc/ieee1275/linux.c: Likewise.
21904 * normal/completion.c: Likewise.
21905 * normal/menu_entry.c: Likewise.
21906 * partmap/apple.c: Likewise.
21907 * util/grub.d/10_hurd.in: Likewise.
21908 * util/hostfs.c: Likewise.
21909 * video/readers/png.c: Likewise.
21910
e2d70b5c
CW
219112010-01-03 Colin Watson <cjwatson@ubuntu.com>
21912
21913 * include/grub/misc.h (GNUC_PREREQ): New macro.
21914 (ATTRIBUTE_ERROR): New macro.
21915 * include/grub/list.h (grub_bad_type_cast_real): Use
21916 ATTRIBUTE_ERROR.
21917
a173283f 219182010-01-03 Carles Pina i Estany <carles@pina.cat>
21919
21920 * normal/menu_text.c (print_message): Change messages.
21921
7fa7ff74 219222010-01-03 Carles Pina i Estany <carles@pina.cat>
21923
21924 * normal/menu_entry.c (store_completion): Gettextizze.
21925
136d24f6 219262010-01-03 Carles Pina i Estany <carles@pina.cat>
21927
21928 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21929
f936862e 219302010-01-03 Carles Pina i Estany <carles@pina.cat>
21931
21932 * po/POTFILES: Sort correctly.
21933
29c44ad1 219342010-01-03 Carles Pina i Estany <carles@pina.cat>
21935
21936 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21937 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21938 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21939 full stop.
21940 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21941 summary. Gettextizze the strings.
21942 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21943 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21944 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21945 full stop.
21946 (GRUB_MOD_INIT): Remove command name from summary.
21947 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21948 summary.
21949 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21950 * term/i386/pc/serial.c (options): Add full stops.
21951 (GRUB_MOD_INIT): Remove command name from the summary.
21952
77a79592 219532010-01-03 Carles Pina i Estany <carles@pina.cat>
21954
21955 * commands/acpi.c: Gettextizze help strings and/or options. Include
21956 `grub/i18n.h' if needed.
21957 * commands/blocklist.c: Likewise.
21958 * commands/boot.c: Likewise.
21959 * commands/cat.c: Likewise.
21960 * commands/cmp.c: Likewise.
21961 * commands/configfile.c: Likewise.
21962 * commands/crc.c: Likewise.
21963 * commands/date.c: Likewise.
21964 * commands/echo.c: Likewise.
21965 * commands/efi/fixvideo.c: Likewise.
21966 * commands/efi/loadbios.c: Likewise.
21967 * commands/gptsync.c: Likewise.
21968 * commands/halt.c: Likewise.
21969 * commands/handler.c: Likewise.
21970 * commands/hdparm.c: Likewise.
21971 * commands/hexdump.c: Likewise.
21972 * commands/i386/cpuid.c: Likewise.
21973 * commands/i386/pc/drivemap.c: Likewise.
21974 * commands/i386/pc/halt.c: Likewise.
21975 * commands/i386/pc/pxecmd.c: Likewise.
21976 * commands/i386/pc/vbeinfo.c: Likewise.
21977 * commands/i386/pc/vbetest.c: Likewise.
21978 * commands/ieee1275/suspend.c: Likewise.
21979 * commands/keystatus.c: Likewise.
21980 * commands/loadenv.c: Likewise.
21981 * commands/ls.c: Likewise.
21982 * commands/lsmmap.c: Likewise.
21983 * commands/lspci.c: Likewise.
21984 * commands/memrw.c: Likewise.
21985 * commands/minicmd.c: Likewise.
21986 * commands/parttool.c: Likewise.
21987 * commands/password.c: Likewise.
21988 * commands/probe.c: Likewise.
21989 * commands/read.c: Likewise.
21990 * commands/reboot.c: Likewise.
21991 * commands/search.c: Likewise.
21992 * commands/sleep.c: Likewise.
21993 * commands/test.c: Likewise.
21994 * commands/true.c: Likewise.
21995 * commands/usbtest.c: Likewise.
21996 * commands/videotest.c: Likewise.
21997 * commands/xnu_uuid.c: Likewise.
21998 * disk/loopback.c: Likewise.
21999 * hello/hello.c: Likewise.
22000 * loader/i386/bsd.c: Likewise.
22001 * term/i386/pc/serial.c: Likewise.
22002 * po/POTFILES: Add new files.
22003
da8d5c53
CW
220042010-01-02 Colin Watson <cjwatson@ubuntu.com>
22005
22006 * term/i386/pc/at_keyboard.c
22007 (keyboard_controller_wait_untill_ready): Rename to ...
22008 (keyboard_controller_wait_until_ready): ... this. Update all users.
22009
33937904 220102010-01-01 Carles Pina i Estany <carles@pina.cat>
22011
22012 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22013 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22014 string using string width.
22015 * normal/menu_text.c (grub_print_message_indented): Use
22016 grub_print_spaces and not print_spaces.
22017 (print_timeout): Likewise.
22018 (print_spaces): Move to...
22019 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22020
3fd3b8d8
RM
220212010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22022
22023 Import from Gnulib.
22024
22025 * gnulib/getdelim.c: New file.
22026 * gnulib/getline.c: Likewise.
22027
33433555
VS
220282009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22029
22030 * include/grub/list.h (grub_assert_fail): Removed.
22031 (grub_bad_type_cast_real): New function.
22032 (grub_bad_type_cast): New macro.
22033 (GRUB_AS_LIST): Use grub_bad_type_cast.
22034 (GRUB_AS_LIST_P): Likewise.
e44721e8 22035 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22036 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22037 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22038 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22039 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22040
f5a51306
VS
220412009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22044 Fix syntax error.
22045
90d1e879
RM
220462009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22047
22048 * configure.ac: Check for TARGET_CFLAGS initialization before we
22049 initialize it ourselves (sigh).
22050 Move a few modifications to TARGET_CFLAGS to be unconditional
22051 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22052 eh_frame)
22053
22054 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22055 * term/i386/pc/at_keyboard.c
22056 (keyboard_controller_wait_untill_ready): Likewise.
22057 (keyboard_controller_led): Rename `led_status' paramter to avoid
22058 name conflict.
22059
465b5a81 220602009-12-28 Carles Pina i Estany <carles@pina.cat>
22061
22062 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22063 quotes.
22064
c181849b
VS
220652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22068
9c8739a4
VS
220692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22070
22071 * normal/menu_text.c (grub_print_message_indented): Prevent
22072 past-the-end-of-array dereference.
22073
3e74249c
VS
220742009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22075
22076 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22077 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22078
64fd18ed 220792009-12-27 Carles Pina i Estany <carles@pina.cat>
22080
22081 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22082 * normal/main.c (grub_normal_read_line): Remove a space from the
22083 default prompt.
22084
714af9b9 220852009-12-27 Carles Pina i Estany <carles@pina.cat>
22086
22087 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22088 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22089 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22090 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22091 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22092 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22093 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22094
82f3e412 220952009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22096
22097 * video/readers/jpeg.c (cmd): Declare.
22098 (grub_cmd_jpegtest): Use `grub_command_t' type.
22099 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22100 Assign to `cmd'.
22101 (GRUB_MOD_FINI): Use `cmd' to unregister.
22102 * video/readers/png.c (cmd): Declare.
22103 (grub_cmd_pngtest): Use `grub_command_t' type.
22104 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22105 Assign to `cmd'.
22106 (GRUB_MOD_FINI): Use `cmd' to unregister.
22107 * video/readers/tga.c (cmd): Declare.
22108 (grub_cmd_tgatest): Use `grub_command_t' type.
22109 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22110 Assign to `cmd'.
22111 (GRUB_MOD_FINI): Use `cmd' to unregister.
22112
82f3e412 221132009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22114
22115 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22116 stops.
22117 * kern/corecmd.c (grub_register_core_commands): Likewise.
22118 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22119 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22120 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22121 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22122 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22123 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22124 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22125 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22126 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22127 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22128 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22129 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22130 * normal/handler.c (insert_handler): Likewise.
22131 * normal/main.c (GRUB_MOD_INIT): Likewise.
22132 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22133
fdcdbb66 221342009-12-26 Carles Pina i Estany <carles@pina.cat>
22135
22136 * commands/help.c (grub_cmd_help): Print the command name before the
22137 summary.
22138 (GRUB_MOD_INIT): Remove command name from the summary.
22139 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22140 string as summary.
fdcdbb66 22141 * lib/arg.c (find_long): Print the command name before the summary.
22142 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22143 summary.
22144 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22145 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22146 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22147 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22148 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22149 * commands/date.c (GRUB_MOD_INIT): Likewise.
22150 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22151 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22152 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22153 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22154 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22155 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22156 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22157 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22158 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22159 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22160 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22161 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22162 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22163 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22164 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22165 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22166 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22167 * commands/password.c (GRUB_MOD_INIT): Likewise.
22168 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22169 * commands/read.c (GRUB_MOD_INIT): Likewise.
22170 * commands/search.c (GRUB_MOD_INIT): Likewise.
22171 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22172 * commands/test.c (GRUB_MOD_INIT): Likewise.
22173 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22174 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22175 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22176 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22177 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22178 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22179 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22180 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22181 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22182 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22183 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22184 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22185 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22186 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22187
9c288be2
VS
221882009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22189
22190 Use search command for preliminar UUID search.
22191
22192 * commands/search.c: Split into ...
22193 * commands/search_wrap.c: ...this
22194 * commands/search.c: ...and this.
22195 * commands/search_file.c: New file.
22196 * commands/search_label.c: New file.
22197 * commands/search_uuid.c: New file.
22198 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22199 Add commands/search_wrap.c, commands/search_file.c,
22200 commands/search_label.c and commands/search_uuid.c.
22201 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22202 (search_mod_SOURCES): Set to commands/search_wrap.c.
22203 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22204 search_label.mod.
22205 (search_fs_file_mod_SOURCES): New variable.
22206 (search_fs_file_mod_CFLAGS): Likewise.
22207 (search_fs_file_mod_LDFLAGS): Likewise.
22208 (search_label_mod_SOURCES): Likewise.
22209 (search_label_mod_CFLAGS): Likewise.
22210 (search_label_mod_LDFLAGS): Likewise.
22211 (search_fs_uuid_mod_SOURCES): New variable.
22212 (search_fs_uuid_mod_CFLAGS): Likewise.
22213 (search_fs_uuid_mod_LDFLAGS): Likewise.
22214 (fs_file_mod_SOURCES): Removed.
22215 (fs_file_mod_CFLAGS): Likewise.
22216 (fs_file_mod_LDFLAGS): Likewise.
22217 (fs_uuid_mod_SOURCES): Removed.
22218 (fs_uuid_mod_CFLAGS): Likewise.
22219 (fs_uuid_mod_LDFLAGS): Likewise.
22220 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22221 Set to util/grub-install.in.
22222 * disk/fs_file.c: Removed.
22223 * disk/fs_uuid.c: Likewise.
22224 * include/grub/search.h: New file.
22225 * util/grub-install.in: Handle sparc64.
22226 Create and use load.cfg.
22227 * util/sparc64/ieee1275/grub-install.in: Removed.
22228
db943399
VS
222292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22232 Ignore return status if CF is cleared.
22233 (grub_biosdisk_get_diskinfo_standard): Likewise.
22234
3fdae612
RM
222352009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22236
22237 * term/i386/pc/at_keyboard.c
22238 (keyboard_controller_wait_untill_ready): New function.
22239 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22240 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22241 for keyboard polling, rather than duplicate the same loop. This
22242 saves a few bytes in code size.
22243
7ebaa2b4
VS
222442009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22245
22246 Support for (pxe[:server[:gateway]]) syntax and
22247 use environment variable for PXE.
22248
22249 * commands/i386/pc/pxecmd.c (options): Removed.
22250 (print_ip): Removed.
22251 (grub_cmd_pxe): Removed
22252 (grub_cmd_pxe_unload): New function.
22253 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22254 (grub_pxe_your_ip): Made static.
22255 (grub_pxe_default_server_ip): Likewise.
22256 (grub_pxe_default_gateway_ip): Likewise.
22257 (grub_pxe_blksize): Likewise.
22258 (parse_ip): New function.
22259 (grub_pxe_open): Support server and gateway specification.
22260 (grub_pxe_close): Free disk->data.
22261 (grub_pxefs_open): Use disk->data.
22262 (grub_pxefs_read): Likewise.
22263 (grub_env_write_readonly): New function.
22264 (set_mac_env): Likewise.
22265 (set_env_limn_ro): Likewise.
22266 (parse_dhcp_vendor): Likewise.
22267 (grub_pxe_detect): Set the environment variables.
22268 (set_ip_env): New function.
22269 (write_ip_env): Likewise.
22270 (grub_env_write_pxe_default_server): Likewise.
22271 (grub_env_write_pxe_default_gateway): Likewise.
22272 (grub_env_write_pxe_blocksize): Likewise.
22273 (GRUB_MOD_INIT(pxe)): Set environment variables.
22274 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22275 (grub_pxe_mac_addr_t): ... this. All users updated.
22276 (grub_pxe_your_ip): Removed.
22277 (grub_pxe_server_ip): Likewise.
22278 (grub_pxe_gateway_ip): Likewise.
22279 (grub_pxe_blksize): Likewise.
22280
ec5f98ab 222812009-12-25 Carles Pina i Estany <carles@pina.cat>
22282
22283 * commands/help.c: Include `<grub/i18n.h>'.
22284 (grub_cmd_help): Gettextizze.
22285 (GRUB_MOD_INIT): Likewise.
22286 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22287 (GRUB_MOD_INIT): Gettextizze.
22288 * commands/search.c: Include `<grub/i18n.h>'.
22289 (options): Gettextizze.
22290 (GRUB_MOD_INIT): Gettextizze.
22291 * lib/arg.c: Include `<grub/i18n.h>'.
22292 (help_options): Gettextizze.
22293 (find_long): Likewise.
22294 (grub_arg_show_help): Likewise.
22295 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22296 (read_command_list): Gettextizze.
22297 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22298 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22299
22815526
RM
223002009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22303 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22304 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22305 (led_status): New variable.
22306 (keyboard_controller_led): New function.
22307 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22308 update led status for caps lock, num lock and scroll lock.
22309
0ad46fd7
FZ
223102009-12-25 Felix Zielcke <fzielcke@z-51.de>
22311
22312 * util/hostdisk.c (open_device): Fix a comment.
22313
d0e158c2
RM
223142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 * util/grub-install.in (host_os): New variable.
22317 * util/i386/efi/grub-install.in (host_os): Likewise.
22318
401c0ad6
RM
223192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22320
22321 * util/mkisofs/write.c (padblock_write): Abort when given an
22322 excedingly large embed image, instead of silently truncating it.
22323
d14d3370
RM
223242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22325
22326 * include/multiboot.h: Indentation fixes.
22327
eeed10b4
RM
223282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22329
22330 * include/multiboot.h (struct multiboot_aout_symbol_table)
22331 (struct multiboot_elf_section_header_table): New structure
22332 declarations (stolen from GRUB Legacy).
22333 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22334 table information.
22335
22336 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22337 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22338 type aliases.
22339
681c70ab
RM
223402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22341
22342 * include/multiboot.h: Make comments src2texi-friendly.
22343
e4d47d8d
RM
223442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22345
22346 For consistency with [multiboot]/docs/boot.S.
22347
22348 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22349 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22350 (MULTIBOOT_MAGIC2): Rename from this ...
22351 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22352
a0b70bda
RM
223532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22354
22355 * include/multiboot.h: Remove `<grub/types.h>'.
22356 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22357 types. Update all users.
22358
61ba42be 223592009-12-25 Carles Pina i Estany <carles@pina.cat>
22360
22361 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22362 `couldn't' and `can not' by `cannot'.
22363 * commands/i386/pc/drivemap.c: Likewise.
22364 * disk/ata.c: Likewise.
22365 * disk/ieee1275/nand.c: Likewise.
22366 * fs/affs.c: Likewise.
22367 * fs/fat.c: Likewise.
22368 * fs/hfs.c: Likewise.
22369 * fs/hfsplus.c: Likewise.
22370 * fs/iso9660.c: Likewise.
22371 * fs/jfs.c: Likewise.
22372 * fs/minix.c: Likewise.
22373 * fs/reiserfs.c: Likewise.
22374 * fs/sfs.c: Likewise.
22375 * fs/udf.c: Likewise.
22376 * fs/ufs.c: Likewise.
22377 * fs/xfs.c: Likewise.
22378 * loader/powerpc/ieee1275/linux.c: Likewise.
22379 * loader/sparc64/ieee1275/linux.c: Likewise.
22380 * util/grub-probe.c: Likewise.
22381 * util/misc.c: Likewise.
22382
7fd0baee 223832009-12-24 Carles Pina i Estany <carles@pina.cat>
22384
22385 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22386 grub_errno calls.
22387 * commands/acpi.c: Likewise.
22388 * commands/blocklist.c: Likewise.
22389 * commands/efi/loadbios.c: Likewise.
22390 * commands/i386/pc/drivemap.c: Likewise.
22391 * commands/loadenv.c: Likewise.
22392 * commands/memrw.c: Likewise.
22393 * commands/password.c: Likewise.
22394 * commands/videotest.c: Likewise.
22395 * disk/ata.c: Likewise.
22396 * disk/ata_pthru.c: Likewise.
22397 * disk/dmraid_nvidia.c: Likewise.
22398 * disk/ieee1275/nand.c: Likewise.
22399 * disk/ieee1275/ofdisk.c: Likewise.
22400 * disk/loopback.c: Likewise.
22401 * disk/lvm.c: Likewise.
22402 * disk/mdraid_linux.c: Likewise.
22403 * disk/raid.c: Likewise.
22404 * disk/raid6_recover.c: Likewise.
22405 * disk/scsi.c: Likewise.
22406 * efiemu/main.c: Likewise.
22407 * efiemu/mm.c: Likewise.
22408 * efiemu/pnvram.c: Likewise.
22409 * efiemu/symbols.c: Likewise.
22410 * font/font.c: Likewise.
22411 * fs/cpio.c: Likewise.
22412 * fs/hfsplus.c: Likewise.
22413 * fs/iso9660.c: Likewise.
22414 * fs/jfs.c: Likewise.
22415 * fs/minix.c: Likewise.
22416 * fs/ntfs.c: Likewise.
22417 * fs/ntfscomp.c: Likewise.
22418 * fs/reiserfs.c: Likewise.
22419 * fs/ufs.c: Likewise.
22420 * fs/xfs.c: Likewise.
22421 * gettext/gettext.c: Likewise.
22422 * include/grub/auth.h: Likewise.
22423 * kern/elf.c: Likewise.
22424 * kern/file.c: Likewise.
22425 * kern/ieee1275/init.c: Likewise.
22426 * kern/ieee1275/mmap.c: Likewise.
22427 * kern/ieee1275/openfw.c: Likewise.
22428 * kern/powerpc/dl.c: Likewise.
22429 * kern/sparc64/dl.c: Likewise.
22430 * lib/arg.c: Likewise.
22431 * loader/i386/bsd.c: Likewise.
22432 * loader/i386/bsdXX.c: Likewise.
22433 * loader/i386/efi/linux.c: Likewise.
22434 * loader/i386/efi/xnu.c: Likewise.
22435 * loader/i386/ieee1275/linux.c: Likewise.
22436 * loader/i386/linux.c: Likewise.
22437 * loader/i386/multiboot.c: Likewise.
22438 * loader/i386/pc/linux.c: Likewise.
22439 * loader/i386/pc/multiboot2.c: Likewise.
22440 * loader/i386/xnu.c: Likewise.
22441 * loader/ieee1275/multiboot2.c: Likewise.
22442 * loader/macho.c: Likewise.
22443 * loader/machoXX.c: Likewise.
22444 * loader/multiboot2.c: Likewise.
22445 * loader/multiboot_loader.c: Likewise.
22446 * loader/powerpc/ieee1275/linux.c: Likewise.
22447 * loader/sparc64/ieee1275/linux.c: Likewise.
22448 * loader/xnu.c: Likewise.
22449 * loader/xnu_resume.c: Likewise.
22450 * mmap/i386/pc/mmap.c: Likewise.
22451 * normal/menu_viewer.c: Likewise.
22452 * partmap/acorn.c: Likewise.
22453 * partmap/amiga.c: Likewise.
22454 * partmap/apple.c: Likewise.
22455 * script/lexer.c: Likewise.
22456 * term/gfxterm.c: Likewise.
22457 * term/i386/pc/serial.c: Likewise.
22458 * term/i386/pc/vga.c: Likewise.
22459 * term/ieee1275/ofconsole.c: Likewise.
22460 * term/terminfo.c: Likewise.
22461 * video/bitmap.c: Likewise.
22462 * video/efi_gop.c: Likewise.
22463 * video/efi_uga.c: Likewise.
22464 * video/fb/video_fb.c: Likewise.
22465 * video/i386/pc/vbe.c: Likewise.
22466 * video/readers/tga.c: Likewise.
22467 * video/video.c: Likewise.
22468
0ad46fd7 224692009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22470
22471 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22472 * commands/lspci.c: Likewise.
22473 * commands/probe.c: Likewise.
22474 * commands/xnu_uuid.c: Likewise.
22475 * conf/i386-coreboot.rmk: Likewise.
22476 * conf/i386-efi.rmk: Likewise.
22477 * conf/i386-ieee1275.rmk: Likewise.
22478 * conf/i386-pc.rmk: Likewise.
22479 * conf/powerpc-ieee1275.rmk: Likewise.
22480 * conf/sparc64-ieee1275.rmk: Likewise.
22481 * conf/x86_64-efi.rmk: Likewise.
22482 * fs/i386/pc/pxe.c: Likewise.
22483 * gettext/gettext.c: Likewise.
22484 * include/grub/efi/graphics_output.h: Likewise.
22485 * include/grub/i386/pc/memory.h: Likewise.
22486 * kern/env.c: Likewise.
22487 * kern/i386/qemu/startup.S: Likewise.
22488 * lib/i386/pc/biosnum.c: Likewise.
22489 * lib/i386/relocator.c: Likewise.
22490 * lib/i386/relocator_asm.S: Likewise.
22491 * lib/relocator.c: Likewise.
22492 * loader/i386/bsd.c: Likewise.
22493 * loader/i386/multiboot.c: Likewise.
22494 * loader/i386/pc/chainloader.c: Likewise.
22495 * loader/i386/xnu.c: Likewise.
22496 * loader/xnu.c: Likewise.
22497 * normal/main.c: Likewise.
22498 * normal/menu_text.c: Likewise.
22499 * util/getroot.c: Likewise.
22500 * util/grub-mkconfig_lib.in: Likewise.
22501 * util/grub.d/00_header.in: Likewise.
22502 * util/i386/pc/grub-mkimage.c: Likewise.
22503 * util/mkisofs/eltorito.c: Likewise.
22504 * util/mkisofs/exclude.h: Likewise.
22505 * util/mkisofs/hash.c: Likewise.
22506 * util/mkisofs/iso9660.h: Likewise.
22507 * util/mkisofs/joliet.c: Likewise.
22508 * util/mkisofs/mkisofs.c: Likewise.
22509 * util/mkisofs/mkisofs.h: Likewise.
22510 * util/mkisofs/multi.c: Likewise.
22511 * util/mkisofs/name.c: Likewise.
22512 * util/mkisofs/rock.c: Likewise.
22513 * util/mkisofs/tree.c: Likewise.
22514 * util/mkisofs/write.c: Likewise.
22515 * video/efi_gop.c: Likewise.
22516
009ec743
VS
225172009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22518
22519 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22520 size counting.
22521
0ad46fd7 225222009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22523
22524 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22525 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22526
d3d30ea0
VS
225272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22530 (GRUB_MOD_INIT(memrw)): Update help line.
22531
a34f5c70
VS
225322009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22533
22534 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22535 Use grub_extcmd_t. All users updated.
22536 (options): New variable.
22537 (grub_cmd_read): Restructure for readability. Support "-v" option.
22538 (grub_cmd_write): Restructure for readability.
22539
0ad46fd7 225402009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22541
22542 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22543
0ad46fd7 225442009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22545
22546 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22547 with the actual contents of the correspondending make variable.
22548 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22549 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22550 specifying `*.lst' and `efiemu??.o'
22551
0ad46fd7 225522009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22553
22554 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22555 after function name.
22556 Noticed by Rene Engelhard <rene@debian.org>.
22557
dc77a799
VS
225582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22561 (options): New variable.
22562 (iospace): Likewise.
22563 (grub_lspci_iter): List IO spaces if "-i" was given.
22564 (grub_cmd_lspci): Parse options.
22565 (GRUB_MOD_INIT(lspci)): Use extcmd.
22566 (GRUB_MOD_FINI(lspci)): Likewise.
22567
0ad46fd7 225682009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22569
22570 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22571 `function' keyword.
22572 Patch by Tony Mancill <tmancill@debian.org>.
22573
b5d5993b
VS
225742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22575
22576 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22577 (grub_uhci_portstatus): Likewise.
22578 (grub_uhci_portstatus): Add necessary delay.
11d18281 22579 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22580
941903f2 225812009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22582
941903f2 22583 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22584 (GRUB_MOD_INIT): Likewise.
22585 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22586 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22587 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22588 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22589 (enable_rom_area): Likewise.
22590 (GRUB_MOD_INIT): Likewise.
22591 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22592 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22593 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22594 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22595 * commands/hexdump.c (options): Likewise.
22596 * commands/i386/cpuid.c (options): Likewise.
22597 (GRUB_MOD_INIT): Likewise.
22598 * commands/i386/pc/drivemap.c (options): Likewise.
22599 (GRUB_MOD_INIT): Likewise.
22600 * commands/i386/pc/halt (options): Likewise.
22601 (GRUB_MOD_INIT): Likewise.
22602 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22603 * commands/i386/pc/pxecmd.c (options): Likewise.
22604 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22605 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22606 * commands/keystatus.c (options): Likewise.
22607 (GRUB_MOD_INIT): Likewise.
22608 * commands/loadenv.c (options): Likewise.
22609 * commands/ls.c (options): Likewise.
22610 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22611 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22612 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22613 * commands/parttool.c (helpmsg): Likewise.
22614 * commands/probe.c (options): Likewise.
22615 * commands/read.c (GRUB_MOD_INIT): Likewise.
22616 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22617 * commands/search.c (options): Likewise.
22618 * commands/sleep.c (options): Likewise.
22619 * commands/test.c (GRUB_MOD_INIT): Likewise.
22620 * commands/true.c (GRUB_MOD_INIT): Likewise.
22621 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22622 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22623 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22624 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22625 `$(XGETTEXT)'.
98a50553 22626 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22627
0ad46fd7 226282009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22629
ef3c2c3a 22630 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22631 instead of specifying them explicit.
22632
7922f68b
RM
226332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22634
22635 * NEWS: Add grub-probe support for GNU/Hurd.
22636
537ce47f
RM
226372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22638
22639 * NEWS: gettext was added after 1.97.
22640
9b214e3a
RM
226412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22642
22643 * util/mkisofs/msdos_partition.h: New file (based on
22644 include/grub/msdos_partition.h).
22645 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22646 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22647 (ld_options, main): Recognize --protective-msdos-label.
22648 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22649 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22650 (padblock_write): If `use_protective_msdos_label' is set, patch a
22651 protective DOS-style label in the output image.
22652
22653 * util/grub-mkrescue.in: Use --protective-msdos-label.
22654
e9309813
RM
226552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22656
22657 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22658 boot.
22659
0ae56929
RM
226602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22661
22662 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22663 variables.
22664 (ld_options, main): Recognize `--embedded-boot'.
22665 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22666 declarations.
22667 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22668 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22669 (padblock_write): Likewise. Rewrite to support embedded boot image.
22670
22671 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22672 for BIOS-based disk boot instead of only ElTorito.
22673
b15937b1
RM
226742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22675
22676 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22677 build (not needed for bootstrap).
22678
52cc3ce0
RM
226792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22680
22681 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22682 from i386-pc build (not needed for bootstrap).
22683 Rewrite a pair of strings.
22684
36f5ff04
RM
226852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22686
22687 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22688
973c6c85 226892009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22690
22691 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22692
05d21547
AB
226932009-12-21 Andreas Born <futur.andy@googlemail.com>
22694
22695 * kern/env.c (grub_env_context_open): Mark exported variable for
22696 reexport.
22697
0175d51f
AB
226982009-12-21 Andreas Born <futur.andy@googlemail.com>
22699
22700 * kern/env.c (grub_env_export): Create nonexistent variables before
22701 exporting.
22702
7f39d92f 227032009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22704
7f39d92f 22705 * include/grub/auth.h: Include `<grub/i18n.h>'.
22706 (GRUB_GET_PASSWORD): Gettextizze string.
22707 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22708 menu_text.c.
22709 (grub_utf8_to_ucs4_alloc): Fix indentation.
22710 (grub_print_ucs4): Likewise.
22711 (grub_getstringwidth): Likewise.
22712 (print_message_indented): New declaration.
22713 * normal/auth.c: Include `<grub/i18n.h>'.
22714 (grub_auth_check_authentication): Gettexttize string.
22715 * normal/cmdline.c: Include `<grub/i18n.h>'.
22716 (grub_cmdline_get): Gettextizze.
22717 * normal/color.c: Include `<grub/i18n.h>'.
22718 (grub_parse_color_name_pair): Gettexttize strings.
22719 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22720 string (use `print_message_indented').
22721 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22722 `include/grub/normal.h'.
22723 (print_message_indented): Renamed to ...
22724 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22725 used in normal/main.c).
22726 (print_message): Use `grub_print_message_indented' instead of
22727 `print_message_indented'.
22728 (print_timeout): Likewise.
22729 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22730 (grub_normal_print_device_info): Gettexttize strings.
22731 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22732
3041d898
VS
227332009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22734
22735 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22736 of arguments. Return number of tokens and not arguments. All users
22737 updated.
22738
de15bf8e
VS
227392009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22740
22741 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22742 non-MSDOS paritions.
22743
e0a6ca52
VS
227442009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 * include/grub/types.h (UNUSED): Removed since it conflicts with
22747 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22748 Reported by Grégoire Sutre.
22749
b99518d1 227502009-12-19 Carles Pina i Estany <carles@pina.cat>
22751
22752 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22753 (grub_print_ucs4_alloc): Likewise.
22754 (grub_getstringwidth): Likewise.
22755 * normal/main.c (grub_normal_init_page): Gettextize version string.
22756 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22757 (getstringwidth): Renamed to ...
22758 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22759 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22760 (grub_print_ucs4): Remove `static' qualifer (now used in
22761 normal/main.c).
22762 * po/POTFILES: Add normal/main.c.
22763
bfd5e52b 227642009-12-19 Carles Pina i Estany <carles@pina.cat>
22765
22766 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22767 (print_message_indented): Add `margin_left' and `margin_right'
22768 parameters.
22769 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22770 strings.
22771 (print_timeout): Use `print_message_indented' to print the message.
22772 Deletes `second_stage' parameter.
22773 (run_menu): Update `print_timeout' calls.
22774
5a1ad2b9
VS
227752009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 Fix console palette on OpenFirmware.
22778
22779 * term/ieee1275/ofconsole.c (MAX): Removed.
22780 (colors): Redone based on VGA palette.
22781 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22782 colors are supported.
22783 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22784
b045f00a
VS
227852009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22786
22787 Fix potential EfiEmu double prepare.
22788
22789 * efiemu/main.c (prepared): New variable
22790 (grub_efiemu_unload): Set prepare to '0'.
22791 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22792
22793 set_virtual_address_map support.
22794
22795 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22796 prototype.
22797 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22798 prototype.
22799 (grub_efiemu_crc32): Likewise.
22800 (grub_efiemu_crc64): Likewise.
22801 (grub_efiemu_set_virtual_address_map): Likewise.
22802 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22803 New definition.
22804 (grub_autoefi_set_virtual_address_map): Likewise.
22805 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22806 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22807 Restructure flow to accomodate it.
22808 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22809 (grub_efiemu_crc): Recompute CRC32.
22810 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22811 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22812 * efiemu/symbols.c (relocated_handle): New variable.
22813 (grub_efiemu_free_syms): Free relocated_handle.
22814 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22815 (grub_efiemu_write_sym_markers): New function.
22816 (grub_efiemu_set_virtual_address_map): Likewise.
22817
22818 Newer XNU parameters.
22819
22820 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22821 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22822 (grub_xnu_fill_devicetree): New prototype.
22823 (grub_xnu_heap_real_start): New variable.
22824 * loader/xnu.c (get_name_ptr): New function.
22825 (grub_xnu_load_driver): Fill namelen and name.
22826
22827 64-bit xnu support.
22828
22829 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22830 and 'loader/macho64.c'.
22831 * conf/i386-pc.rmk: Likewise.
22832 * conf/x86_64-efi.rmk: Likewise.
22833 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22834 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22835 * include/grub/macho.h (grub_macho_segment64): New structure.
22836 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22837 (grub_macho_size32): ... to this.
22838 (grub_macho32_get_entry_point): Renamed from ...
22839 (grub_macho_get_entry_point32): ... to this.
22840 (grub_macho_contains_macho64): New prototype.
22841 (grub_macho_size64): Likewise.
22842 (grub_macho_get_entry_point64): Likewise.
22843 (grub_macho32_load): Renamed from ...
22844 (grub_macho_load32): ... to this.
22845 (grub_macho32_filesize): Renamed from ...
22846 (grub_macho_filesize32): ... to this.
22847 (grub_macho32_readfile): Renamed from ...
22848 (grub_macho_readfile32): ... to this.
22849 (grub_macho_filesize64): New prototype.
22850 (grub_macho_readfile64): Likewise.
22851 (grub_macho_parse32): Likewise.
22852 (grub_macho_parse64): Likewise.
22853 * loader/macho.c: Split into ...
22854 * loader/machoXX.c: ... and this. Replace 32 with XX.
22855 * loader/macho32.c: New file.
22856 * loader/macho64.c: Likewise.
22857 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22858 (grub_cmd_xnu_kernel): Make 32-bit only.
22859 (grub_cmd_xnu_kernel64): New function.
22860 (grub_xnu_load_driver): Support Mach-O 64.
22861 (grub_cmd_xnu_mkext): Likewise.
22862 * util/grub.d/30_os-prober.in (osx_entry): New function.
22863 Generate entries for 64-bit boot too.
22864
22865 Eliminate ad-hoc tree format in XNU and EfiEmu.
22866
22867 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22868 * efiemu/pnvram.c: Rewritten to use environment variables.
22869 All users updated.
22870
22871 Inline utf16_to_utf8.
22872
22873 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22874 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22875 All users updated.
22876 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22877
22878 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22879 * commands/usbtest.c (grub_usb_get_string): ... move here.
22880 (usb_print_str): Fix error handling.
22881 * include/grub/usb.h (grub_usb_get_string): Remove.
22882
22883 UTF-8 to UTF-16 transformation.
22884
22885 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22886 (charset_mod_SOURCES): New variable.
22887 (charset_mod_CFLAGS): Likewise.
22888 (charset_mod_LDFLAGS): Likewise.
22889 * include/grub/utf.h: New file.
22890 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22891
22892 Support for device properties.
22893
22894 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22895 (grub_xnu_devprop_device_header): Likewise.
22896 (grub_xnu_devprop_device_descriptor): Likewise.
22897 (grub_xnu_devprop_add_device): New prototype.
22898 (grub_xnu_devprop_remove_device): Likewise.
22899 (grub_xnu_devprop_remove_property): Likewise.
22900 (grub_xnu_devprop_add_property_utf8): Likewise.
22901 (grub_xnu_devprop_add_property_utf16): Likewise.
22902 (grub_cpu_xnu_init): Likewise.
22903 (grub_cpu_xnu_fini): Likewise.
22904 (grub_cpu_xnu_unload): Likewise.
22905 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22906 (property_descriptor): Likewise.
22907 (devices): New variable.
22908 (grub_xnu_devprop_remove_property): New function.
22909 (grub_xnu_devprop_add_device): Likewise.
22910 (grub_xnu_devprop_remove_device): Likewise.
22911 (grub_xnu_devprop_add_property): Likewise.
22912 (grub_xnu_devprop_add_property_utf8): Likewise.
22913 (grub_xnu_devprop_add_property_utf16): Likewise.
22914 (hextoval): Likewise.
22915 (grub_cpu_xnu_fill_devprop): Likewise.
22916 (grub_cmd_devprop_load): Likewise.
22917 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22918 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22919 (cmd_devprop_load): New variable.
22920 (grub_cpu_xnu_init): New function.
22921 (grub_cpu_xnu_fini): Likewise.
22922 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22923 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22924 (grub_cmd_xnu_devtree): Likewise.
22925 (hextoval): New function.
22926 (unescape): Likewise.
22927 (grub_xnu_fill_devicetree): Likewise.
22928
22929 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22930 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22931
0945f181
VS
229322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22933
22934 Workaround for broken ATI VBE.
22935
22936 * video/i386/pc/vbe.c (last_set_mode): New variable.
22937 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22938 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22939 (grub_video_vbe_setup): Don't check for reserved flag.
22940
0ad46fd7 229412009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22942
22943 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22944 the `find' command.
22945
c179ebe4
VS
229462009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22947
22948 UUID support for HFS.
22949
22950 * fs/hfs.c (grub_hfs_uuid): New function.
22951 (grub_hfs_fs): New value .uuid.
22952 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22953
0ad46fd7 229542009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22955
22956 Fix a segfault with parsing unknown long options.
22957
22958 * util/grub-mkrelpath.c (options): Zero terminate it.
22959
c4a3e41a
CPE
229602009-12-13 Carles Pina i Estany <carles@pina.cat>
22961
22962 * include/grub/misc.h (grub_puts): New declaration.
22963 (grub_puts_): Likewise.
a22008a6 22964 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22965 (grub_puts_): Likewise.
22966
2e8a7602
RM
229672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22968
22969 * util/grub-probe.c (probe): Improve error message.
22970
b50b77b9
RM
229712009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22972
22973 * loader/i386/multiboot_elfxx.c
22974 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22975 initialization.
22976
229772009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22978
22979 Relocator framework
22980
22981 * loader/i386/xnu_helper.S: Removed. All users updated.
22982 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22983 (relocator_mod_SOURCES): New variable.
22984 (relocator_mod_CFLAGS): Likewise.
22985 (relocator_mod_LDFLAGS): Likewise.
22986 (relocator_mod_ASFLAGS): Likewise.
22987 * conf/x86_64.rmk: Likewise.
22988 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22989 (grub_multiboot_payload_entry_offset): Likewise.
22990 (grub_multiboot_forward_relocator): Likewise.
22991 (grub_multiboot_forward_relocator_end): Likewise.
22992 (grub_multiboot_backward_relocator): Likewise.
22993 (grub_multiboot_backward_relocator_end): Likewise.
22994 (grub_multiboot_payload_eip): New variable.
22995 (grub_multiboot_payload_orig): Likewise.
22996 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22997 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22998 * include/grub/i386/memory.h
22999 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23000 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23001 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23002 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23003 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23004 * include/grub/i386/relocator.h: New file.
23005 * include/grub/x86_64/relocator.h: Likewise.
23006 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23007 (XNU_RELOCATOR): New macro.
23008 (grub_xnu_launcher_start): Remove.
23009 (grub_xnu_launcher_end): Likewise.
23010 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23011 (grub_xnu_heap_real_start): Remove.
23012 (grub_xnu_heap_start): Change to void *. All users updated.
23013 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23014 * lib/i386/relocator.c: New file.
23015 * lib/i386/relocator_asm.S: Likewise.
23016 * lib/i386/relocator_backward.S: Likewise.
23017 * lib/mips/relocator.c: Likewise.
23018 * lib/mips/relocator_asm.S: Likewise.
23019 * lib/relocator.c: Likewise.
23020 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23021 (entry): Removed.
23022 (playground): Likewise.
23023 (grub_multiboot_payload_orig): New variable.
23024 (grub_multiboot_payload_dest): Likewise.
23025 (grub_multiboot_payload_size): Likewise.
23026 (grub_multiboot_payload_eip): Likewise.
23027 (grub_multiboot_payload_esp): Likewise.
23028 (grub_multiboot_boot): Use grub_relocator32_boot.
23029 (grub_multiboot_unload): Free relocators.
23030 (grub_multiboot): Setup stack. Use relocators.
23031 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23032 (grub_multiboot_load_elfXX): Use relocators.
23033 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23034 (grub_multiboot_payload_size): Likewise.
23035 (grub_multiboot_payload_dest): Likewise.
23036 (grub_multiboot_payload_entry_offset): Likewise.
23037 (grub_multiboot_forward_relocator): Likewise.
23038 (grub_multiboot_backward_relocator): Likewise.
23039 (grub_multiboot_real_boot): Likewise.
23040 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23041 (grub_xnu_entry_point): Likewise.
23042 (grub_xnu_arg1): Likewise.
23043 (grub_xnu_stack): Likewise.
23044 (grub_xnu_launch): Removed.
23045 (grub_xnu_boot_resume): New function.
23046 (grub_xnu_boot): Use relocators.
23047 * loader/i386/xnu_helper.S: Removed.
23048 * loader/xnu.c (grub_xnu_heap_start): New variable.
23049 (grub_xnu_heap_size): Likewise.
23050 (grub_xnu_heap_malloc): Use relocators.
23051 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23052
29eb90c6
VS
230532009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23056 anything.
23057
31027430
CPE
230582009-12-13 Carles Pina i Estany <carles@pina.cat>
23059
23060 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23061 GRUB_ERR_NONE before calling grub_env_set.
23062
dc0c71d9
RM
230632009-12-12 Robert Millan <rmh@aybabtu.com>
23064
23065 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23066 * genmk.rb (video): New variable.
23067 (CLEANFILES, VIDEOFILES): Add #{video}.
23068 (#{video}): New target rule.
23069 * genvideolist.sh: New file.
23070 * Makefile.in (pkglib_DATA): Add video.lst.
23071 (video.lst): New target rule.
23072 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23073 `video.lst'.
23074 * util/grub.d/30_os-prober.in: Replace `vbe' with
23075 ${GRUB_VIDEO_BACKEND}.
23076
2a4bfcf0
RM
230772009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23078
23079 * THANKS: Add David Miller.
23080
2a3aa4d5
RM
230812009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23082
23083 libpciaccess support.
23084
23085 * Makefile.in (LIBPCIACCESS): New variable.
23086 (enable_grub_emu_pci): Likewise.
23087 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23088 util/pci.c and commands/lspci.c.
23089 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23090 * configure.ac (grub-emu-pci): New option.
23091 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23092 (grub_pci_device_unmap_range): Likewise.
23093 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23094 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23095 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23096 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23097 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23098 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23099 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23100 * include/grub/pciutils.h: New file.
23101 * util/pci.c: Likewise.
23102
0ad46fd7 231032009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23104
23105 * util/misc.c: Don't include <errno.h> twice.
23106
0ad46fd7 231072009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23108
23109 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23110 name in an error message.
23111 (grub_biosdisk_rw): Likewise.
23112
2e59983c
VS
231132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 Eliminate NTFS 4Gib barrier.
23116
23117 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23118 (read_run_data): Likewise.
23119 (grub_ntfs_read_run_list): Likewise.
23120 (grub_ntfs_read_block): Likewise.
23121 (grub_ntfs_iterate_dir): Likewise.
23122 (read_mft): Likewise.
23123 (read_data): Likewise.
23124 Use COM_LOG_LEN.
23125 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23126 to avoid 64-bit division
23127 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23128 (grub_ntfs_rlst): Use grub_disk_addr_t.
23129
71ee178a
VS
231302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23131
23132 Eliminate grub-fstest 4Gib barrier.
23133
23134 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23135 (read_file): Fix error reporting.
23136
2520d4b8
VS
231372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23138
23139 Eliminate hexdump 4Gib barrier.
23140
23141 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23142 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23143
e1f27065
VS
231442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23145
23146 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23147 Fixes amarsh bug.
23148
1a0f7f45
RM
231492009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23150
23151 Remove miscellaneous files in distclean target.
23152
23153 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23154
c631d9fb
CW
231552009-12-09 Colin Watson <cjwatson@ubuntu.com>
23156
23157 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23158 if they're already set. This resolves the conflict between my
23159 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23160 fixing the --grub-probe option again.
23161 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23162 change on 2009-10-06, so that we now once again source
23163 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23164
7c7b6106
RM
231652009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23166
23167 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23168 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23169 `util/devicemap.c'.
23170
e3069ec1
CPE
231712009-12-08 Carles Pina i Estany <carles@pina.cat>
23172
23173 * include/grub/misc.h (grub_printf_): New declaration.
23174 * kern/misc.c (grub_printf_): New definition.
23175 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23176 instead of `grub_printf' and `_'.
23177 * normal/menu_entry.c (store_completion): Likewise.
23178 (run): Likewise.
23179 (grub_menu_entry_run): Likewise.
23180 * normal/menu_text.c (grub_wait_after_message): Likewise.
23181 (notify_booting): Likewise.
23182 (notify_fallback): Likewise.
23183 (notify_execution_failure): Likewise.
23184
d6ceebf1
CW
231852009-12-07 Colin Watson <cjwatson@ubuntu.com>
23186
23187 * configure.ac: Check for vasprintf.
23188 * util/misc.c (asprintf): Move allocation from here ...
23189 (vasprintf): ... to here. New function.
23190 (xasprintf): New function.
23191 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23192 prototypes.
23193 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23194 * util/grub-mkfont.c (write_font): Likewise.
23195 * util/grub-probe.c (probe): Likewise.
23196 * util/hostdisk.c (make_device_name): Likewise.
23197
de6daa8b
DM
231982009-12-06 David S. Miller <davem@sunset.davemloft.net>
23199
23200 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23201 anything even prefixed with 'cdrom' as a cdrom.
23202
0ad46fd7 232032009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23204
23205 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23206 mount points.
23207
98d3dc02
CPE
232082009-12-05 Carles Pina i Estany <carles@pina.cat>
23209
23210 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23211 grub_gettext_msg_list.
23212 (grub_gettext_gettranslation_from_position): Return const char *
23213 and not char *.
a2c1332b 23214 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23215 returns from the list if existing there.
23216 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23217 (grub_gettext_delete_list): Delete the list.
23218 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23219 lang environment variable is changed.
23220 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23221
b283f108
VS
232222009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 Rename kernel.mod to kernel.img.
23225
23226 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23227 (kernel_mod_EXPORTS): Rename to ...
23228 (kernel_img_EXPORTS): ... this.
23229 (kernel_mod_SOURCES): Rename to ...
23230 (kernel_img_SOURCES): ... this.
23231 (kernel_mod_HEADERS): Rename to ...
23232 (kernel_img_HEADERS): ... this. All users updated.
23233 (kernel_mod_CFLAGS): Rename to ...
23234 (kernel_img_CFLAGS): ... this.
23235 (kernel_mod_ASFLAGS): Rename to ...
23236 (kernel_img_ASFLAGS): ... this.
23237 (kernel_mod_LDFLAGS): Rename to ...
23238 (kernel_img_LDFLAGS): ... this.
23239 * conf/x86_64-efi.rmk: Likewise.
23240 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23241 (read_kernel_image): ... this. All users updated.
23242 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23243
69055f8a
CPE
232442009-12-05 Carles Pina i Estany <carles@pina.cat>
23245
23246 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23247 (print_spaces): New function.
23248 (grub_print_ucs4): New function.
23249 (getstringwidth): New function.
23250 (print_message_indented): New function.
23251 (print_message): Gettexttize strings using print_message_indented.
23252 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23253 width.
23254 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23255 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23256 Gettextize.
23257 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23258 string.
23259 (run): Likewise.
23260 (grub_menu_entry_run): Likewise.
23261 * PO/POTFILES: Add normal/menu_entry.c.
23262
f616f51c
VS
232632009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23264
23265 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23266
57bbe3be
CPE
232672009-12-05 Carles Pina i Estany <carles@pina.cat>
23268
23269 * util/grub-install.in: Install gettext .mo files.
23270 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23271
013d67a1
CPE
232722009-12-05 Carles Pina i Estany <carles@pina.cat>
23273
23274 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23275 grub_dprintf.
23276
fb954db0
RM
232772009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23278
23279 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23280 non-firmware-dependant one in realmode.S takes precedence.
23281
6b8474f8
RM
232822009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23283
23284 * commands/halt.c: Replace misc arch-specific headers with
23285 `<grub/misc.h>'.
23286 * commands/reboot.c: Likewise.
23287 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23288 `<grub/misc.h>'.
23289 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23290 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23291 (kernel_img_SOURCES): ... to here.
23292
23293 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23294 * include/grub/i386/pc/init.h: Likewise.
23295 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23296 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23297
23298 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23299
23300 * include/grub/i386/halt.h: Remove.
23301 * include/grub/i386/reboot.h: Likewise.
23302
23303 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23304
4b2e6ca2
DM
233052009-12-03 David S. Miller <davem@sunset.davemloft.net>
23306
23307 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23308 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23309 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23310 "progname.h"
23311 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23312 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23313 (usage): Add missing comma in printf.
23314
5239348f
RM
233152009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23316
23317 Use the same reboot approach on i386 coreboot and qemu as we do on
23318 BIOS.
23319
23320 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23321 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23322 * kern/i386/reboot.c: Remove.
23323 * include/grub/i386/reboot.h (grub_reboot): Export function.
23324 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23325 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23326 0xf000:0xfff0 instead of 0xffff:0x0000.
23327 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23328 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23329
ef34cbd4
RM
233302009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23331
23332 Fix $srcdir != $objdir build.
23333
23334 * Makefile.in (po/%.po): Rewrite as ...
23335 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23336
dc9837ea
ST
233372009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23338
23339 Fix GNU/Hurd grub-install crash.
23340 * util/grub-probe.c (probe): Try to access `path' only when it is not
23341 NULL.
23342
2f857f98
VS
233432009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 Correct module naming.
23346
23347 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23348 (GRUB_MOD_INIT(efi_uga)): ... to this
23349 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23350 (GRUB_MOD_FINI(efi_uga)): ... to this
23351 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23352 (GRUB_MOD_INIT(efi_gop)): ... to this
23353 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23354 (GRUB_MOD_FINI(efi_gop)): ... to this
23355
c5448046
RM
233562009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23357
23358 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23359 translatable.
23360 (usage): Translate `arg' strings using gettext().
23361 Thanks to Jordi Mallach for the suggestion.
23362
c85184ad
VS
233632009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 GOP support. Based on patch from Bean
23366 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23367
23368 * video/efi_gop.c: New file.
23369 * include/grub/efi/graphics_output.h: Likewise.
23370 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23371 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23372 variables.
23373 * conf/x86_64-efi.rmk: Likewise.
23374
8a4c48d8
VS
233752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23376
23377 Rename efi_fb to efi_uga.
23378
23379 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23380 'efi_uga.mod'.
23381 (efi_fb_mod_SOURCES): Rename this ...
23382 (efi_uga_mod_SOURCES): ... to this.
23383 (efi_fb_mod_CFLAGS): Rename this ...
23384 (efi_uga_mod_CFLAGS): ... to this.
23385 (efi_fb_mod_LDFLAGS): Rename this ...
23386 (efi_uga_mod_LDFLAGS): ... to this.
23387 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23388 'efi_uga.mod'.
23389 (efi_fb_mod_SOURCES): Rename this ...
23390 (efi_uga_mod_SOURCES): ... to this.
23391 (efi_fb_mod_CFLAGS): Rename this ...
23392 (efi_uga_mod_CFLAGS): ... to this.
23393 (efi_fb_mod_LDFLAGS): Rename this ...
23394 (efi_uga_mod_LDFLAGS): ... to this.
23395 * video/efi_fb.c: Move this ...
23396 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23397
fb6c1a7b
RM
233982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23399
23400 * po/README: New file. Explain our PO file workflow.
23401
3bc7896c
RM
234022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23403
23404 * po/ChangeLog: Remove. Move relevant entries back to ...
23405 * ChangeLog: ... here.
23406 * po/ca.po: Remove (now handled by TLP).
23407 * po/id.po: Likewise.
23408 * po/zh_CN.po: Likewise.
23409 * Makefile.in (LINGUAS): Initialize in a way that supports
23410 empty set.
23411
9ed4841d
RM
234122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23413
23414 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23415 reliing on po/LINGUAS.
23416 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23417 (po/%.po): ... this.
23418
0ad46fd7 234192009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23420
23421 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23422 (main): Use `program_name' instead of nonexistent `progname'.
23423
e30dd392
FZ
234242009-11-26 Felix Zielcke <fzielcke@z-51.de>
23425
23426 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23427 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23428
7656de4f
RM
234292009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23430
23431 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23432 commit.
23433 * conf/i386-efi.rmk: Likewise.
23434 * conf/i386-ieee1275.rmk: Likewise.
23435 * conf/powerpc-ieee1275.rmk: Likewise.
23436 * conf/sparc64-ieee1275.rmk: Likewise.
23437 * conf/x86_64-efi.rmk: Likewise.
23438
db77c4d4
FZ
234392009-11-26 Felix Zielcke <fzielcke@z-51.de>
23440
23441 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23442
a755bb04
FZ
234432009-11-26 Felix Zielcke <fzielcke@z-51.de>
23444
23445 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23446
8a4c07fd
RM
234472009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23448
23449 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23450 (grub_mkdevicemap_SOURCES): New variable.
23451 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23452 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23453 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23454 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23455 (grub_mkdevicemap_SOURCES): Remove.
23456 * conf/i386-efi.rmk: Likewise.
23457 * conf/i386-ieee1275.rmk: Likewise.
23458 * conf/i386-pc.rmk: Likewise.
23459 * conf/powerpc-ieee1275.rmk: Likewise.
23460 * conf/sparc64-ieee1275.rmk: Likewise.
23461 * conf/x86_64-efi.rmk: Likewise.
23462 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23463 (usage): Fix strings to use `program_name'.
23464 (main): Initialize gettext.
23465 * util/grub-editenv.c: Likewise.
23466 * util/grub-emu.c: Likewise.
23467 * util/grub-fstest.c: Likewise.
23468 * util/grub-mkdevicemap.c: Likewise.
23469 * util/grub-mkfont.c: Likewise.
23470 * util/grub-mkrelpath.c: Likewise.
23471 * util/grub-pe2elf.c: Likewise.
23472 * util/grub-probe.c: Likewise.
23473 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23474 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23475 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23476
23477 * util/misc.c: Include `"progname.h"'.
23478 (progname): Remove variable.
23479 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23480
6f61ed55
FZ
234812009-11-25 Felix Zielcke <fzielcke@z-51.de>
23482
23483 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23484 printf and print a newline after the menuentry header line.
23485 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23486
f022876b
FZ
234872009-11-25 Felix Zielcke <fzielcke@z-51.de>
23488
23489 autoconf >= 2.60 support $(localedir).
23490
23491 * INSTALL: Note that autoconf 2.60 is required.
23492 * configure.ac (AC_PREREQ): Bump to 2.60.
23493 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23494 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23495
6717926e
YB
234962009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23497
23498 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23499 aclocal is run.
23500
08806a54
RM
235012009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23502
23503 * normal/main.c (grub_normal_read_line): Fix off-by-one
23504 buffer overflow.
23505
13b33fba
RM
235062009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23509 "parser.grub" in grub_command_execute() call.
23510
4a8572e9
CPE
235112009-11-24 Carles Pina i Estany <carles@pina.cat>
23512
23513 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23514 * conf/i386-efi.rmk: Likewise.
23515 * conf/i386-ieee1275.rmk: Likewise.
23516 * conf/i386-pc.rmk: Likewise.
23517 * conf/powerpc-ieee1275.rmk: Likewise.
23518 * conf/sparc64-ieee1275.rmk: Likewise.
23519 * conf/x86_64-efi.rmk: Likewise.
23520 * gettext/gettex.c: Include <grub/i18n.h>.
23521 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23522 here ...
23523 * include/grub/i18n.h: ... to here
23524 * include/grub/i18n.h: ... to here.
23525 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23526 (grub_gettext_dummy): Move above user.
4a8572e9 23527
bee48093
FZ
235282009-11-24 Felix Zielcke <fzielcke@z-51.de>
23529
23530 * util/Makefile.in (install-local): Convert a `for' into a normal
23531 shell expansion.
23532
a031e91c
RM
235332009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23534
23535 * autogen.sh: Add automake call.
23536 * config.guess: Remove.
23537 * config.sub: Likewise.
23538 * install-sh: Likewise.
23539
26bec39d
FZ
235402009-11-24 Felix Zielcke <fzielcke@z-51.de>
23541
23542 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23543
8e2532fd
FZ
235442009-11-24 Felix Zielcke <fzielcke@z-51.de>
23545
23546 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23547 function to a normal shell `for'.
23548
fefa1b7d
FZ
235492009-11-24 Felix Zielcke <fzielcke@z-51.de>
23550
23551 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23552
4501250b
FZ
235532009-11-24 Felix Zielcke <fzielcke@z-51.de>
23554
23555 * util/grub-mkrelpath.c: New file.
23556 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23557 (grub_mkrelpath_SOURCES): New variable.
23558 * include/grub/util/misc.h: New function prototype.
23559 * util/misc.c (make_system_path_relative_to_its_root): New function.
23560
23561 * util/grub-mkconfig_lib.in (bindir): New variable.
23562 (grub_mkrelpath): Likewise.
23563 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23564
23565 * util/probe.c (probe): Make the file path relative to its root.
23566 Change a info message to use the GRUB path. Enable again the
23567 check if we can read the file with GRUB facilities.
23568
23569 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23570 to its root.
23571
11d9778b
FZ
235722009-11-24 Felix Zielcke <fzielcke@z-51.de>
23573
23574 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23575 platform.
23576
4465287d
FZ
235772009-11-24 Felix Zielcke <fzielcke@z-51.de>
23578
23579 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23580 strncmp().
23581
62b47f22
FZ
235822009-11-24 Felix Zielcke <fzielcke@z-51.de>
23583
23584 * util/getroot.c (grub_util_is_dmraid): New function.
23585 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23586 devices as normal ones, not as LVM.
23587
1eafb9b9 235882009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23589
23590 * conf/common.rmk: Add grub-gettext_lib target and updates
23591 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23592 LDFLAGS.
23593 * gettext/gettext.c: New file. (Reads mo files).
23594 * include/grub/file.h (grub_file_pread): New prototype.
23595 * include/grub/i18n.h (_): New prototype.
23596 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23597 prototypes.
23598 * kern/misc.c (grub_gettext_dummy): New function.
23599 * normal/menu_text.c: Include <grub/i18n.h>.
23600 * normal/menu_text.c (print_timeout): Gettexttize string.
23601 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23602 * po/POTFILES: Add `normal/menu_text.c'.
23603 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23604 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23605 gettext module and defines locale_dir and lang in grub.cfg.
23606 * NEWS: Add gettext support.
23607
0fdb2568
RM
236082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23609
23610 * util/hostdisk.c: Include `<grub/i18n.h>'.
23611 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23612 (make_device_name): Rewrite using asprintf.
23613 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23614 (find_system_device): If a device is not found, generate one just
23615 by reusing the OS path name.
23616 (read_device_map): Make it permissible for device.map not to exist.
23617
f515aa62
RM
236182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23619
23620 * script/sh/execute.c: Move from here ...
23621 * script/execute.c: ... to here. Update all users.
23622 * script/sh/function.c: Move from here ...
23623 * script/function.c: ... to here. Update all users.
23624 * script/sh/lexer.c: Move from here ...
23625 * script/lexer.c: ... to here. Update all users.
23626 * script/sh/main.c: Move from here ...
23627 * script/main.c: ... to here. Update all users.
23628 * script/sh/parser.y: Move from here ...
23629 * script/parser.y: ... to here. Update all users.
23630 * script/sh/script.c: Move from here ...
23631 * script/script.c: ... to here. Update all users.
23632
f84b481b
RM
236332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23634
23635 * configure.ac: Detect all `emu' platforms. Define
23636 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23637 --enable-grub-emu logic. Disable include/grub/machine
23638 symlink on `emu' platforms.
23639
23640 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23641 * gensymlist.sh.in: Likewise.
23642
23643 * include/grub/i386/coreboot/machine.h: Remove file.
23644 * include/grub/i386/efi/machine.h: Likewise.
23645 * include/grub/i386/ieee1275/machine.h: Likewise.
23646 * include/grub/i386/pc/machine.h: Likewise.
23647 * include/grub/i386/qemu/machine.h: Likewise.
23648 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23649 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23650 * include/grub/x86_64/efi/machine.h: Likewise.
23651
23652 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23653 * commands/halt.c: Likewise.
23654 * commands/reboot.c: Likewise.
23655 * include/grub/autoefi.h: Likewise.
23656 * include/grub/i386/at_keyboard.h: Likewise.
23657 * include/grub/i386/kernel.h: Likewise.
23658 * include/grub/i386/loader.h: Likewise.
23659 * include/grub/i386/pc/memory.h: Likewise.
23660 * kern/dl.c: Likewise.
23661 * kern/i386/coreboot/init.c: Likewise.
23662 * loader/i386/bsd.c: Likewise.
23663 * loader/i386/linux.c: Likewise.
23664 * loader/multiboot_loader.c: Likewise.
23665 * term/i386/pc/serial.c: Likewise.
23666 * term/usb_keyboard.c: Likewise.
23667
23668 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23669 `<grub/machine/machine.h>'
23670 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23671 * util/misc.c: Remove `<grub/machine/machine.h>' and
23672 `<grub/machine/time.h>'.
23673
23674 * Makefile.in (enable_grub_emu): Remove variable.
23675 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23676
23677 * conf/any-emu.rmk: New file.
23678 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23679 (grub_emu_init.c): Move from here ...
23680 * conf/any-emu.rmk: ... to here.
23681
23682 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23683 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23684 * conf/any-emu.rmk: ... to here.
23685
4efeab03
RM
236862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23687
23688 * include/grub/parser.h (grub_parser_register): Document need
23689 of `name' parameter.
23690 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23691 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23692 "sh" to "grub".
23693
ea1dd8bf
RM
236942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23697 `$(XGETTEXT)'.
23698 * include/grub/i18n.h (N_): New macro.
23699 * util/mkisofs/mkisofs.h: Likewise.
23700 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23701 around N_().
23702 (usage): Use gettext() to translate help strings when printing them.
23703
0c140626
RM
237042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23705
23706 Based on patch from Bean
23707 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23708
23709 * video/efi_fb.c: New file.
23710 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23711 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23712 variables.
23713 * conf/x86_64-efi.rmk: Likewise.
23714
87d58298
RM
237152009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23718 * util/i386/pc/grub-setup.c: Likewise.
23719
994cc3a3
ST
237202009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23721
23722 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23723 <hurd/fs.h>
23724 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23725 file_get_storage_info to implement grub_guess_root_device.
23726
26a61d6a
FZ
237272009-11-21 Felix Zielcke <fzielcke@z-51.de>
23728
23729 * Makefile.in (target): Use make's builtin $(shell) function
23730 instead of calling directly $(SHELL) to create the locale directories,
23731 inside the $(foreach) function.
23732
74ff1dd5
FZ
237332009-11-21 Felix Zielcke <fzielcke@z-51.de>
23734
23735 * util/grub-mkrescue.in: Print an error and usage if output option
23736 has not been given.
23737
0b787d0e
FZ
237382009-11-21 Felix Zielcke <fzielcke@z-51.de>
23739
23740 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23741 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23742 root and /boot are on different devices.
23743
1164b270
RM
237442009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23745
23746 Fix build for srcdir != objdir.
23747
23748 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23749 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23750 $(srcdir).
23751 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23752 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23753 reference for input.
23754
13774a2f
RM
237552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23756
23757 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23758 or hardlinking it). Remove -J option, Joliet is not compatible with
23759 multiple source directories.
23760
efda854e
RM
237612009-11-21 Carles Pina i Estany <carles@pina.cat>
237622009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23763
23764 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23765 (process_input_dir): New function. Process an arbitrary input
23766 directory.
23767 Misc adjustments to support both "override mode" and system-wide mode.
23768
6c09890c
FZ
237692009-11-20 Felix Zielcke <fzielcke@z-51.de>
23770
23771 * configure.ac (UNIFONT_BDF): Rename to ...
23772 (FONT_SOURCE): ... this. Update all users.
23773
a797824f
FZ
237742009-11-20 Felix Zielcke <fzielcke@z-51.de>
23775
23776 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23777 to the list of unifont files to look for.
23778
cd4f42b0
RM
237792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23780
23781 Patch from Joe Auricchio <jauricchio@gmail.com>
23782 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23783 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23784 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23785
393c783d
FZ
237862009-11-19 Felix Zielcke <fzielcke@z-51.de>
23787
23788 * Makefile.in (install-local): Add a missing backslash.
23789
b2f1e327
FZ
237902009-11-19 Felix Zielcke <fzielcke@z-51.de>
23791
23792 * include/grub/x86_64/io.h: New file.
23793
f577f7a0
RM
237942009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23797 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23798 Include `"progname.h"'.
23799 (main): Initialize gettext.
23800 * util/i386/pc/grub-setup.c: Gettexttize.
23801 * util/i386/pc/grub-mkimage.c: Likewise.
23802
23803 * Makefile.in (po/*.po): Redefine as ...
23804 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23805
3bc7896c
RM
23806 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23807
c37943b6
RM
238082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23809
23810 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23811 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23812 (program_name): Remove.
23813 (main): Initialize gettext support.
6323f705
RM
23814 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23815 Include `<libintl.h>'.
23816 (_): New macro.
c37943b6
RM
23817
23818 * util/mkisofs/eltorito.c: Gettexttize.
23819 * util/mkisofs/joliet.c: Likewise.
23820 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23821 * util/mkisofs/multi.c: Likewise.
23822 * util/mkisofs/rock.c: Likewise.
23823 * util/mkisofs/tree.c: Likewise.
23824 * util/mkisofs/write.c: Likewise.
23825
3bc7896c
RM
23826 * po/POTFILES: Update with new files.
23827
5ce77c6e
RM
238282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23829
23830 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23831 * util/mkisofs/iso9660.h: Likewise.
23832 * util/mkisofs/joliet.c: Likewise.
23833 * util/mkisofs/mkisofs.c: Likewise.
23834 * util/mkisofs/mkisofs.h: Likewise.
23835 * util/mkisofs/rock.c: Likewise.
23836 * util/mkisofs/tree.c: Likewise.
23837 * util/mkisofs/write.c: Likewise.
23838
23839 * util/mkisofs/eltorito.c (rcsid): Remove.
23840 * util/mkisofs/hash.c: Likewise.
23841 * util/mkisofs/joliet.c: Likewise.
23842 * util/mkisofs/name.c: Likewise.
23843 * util/mkisofs/rock.c: Likewise.
23844 * util/mkisofs/tree.c: Likewise.
23845 * util/mkisofs/write.c: Likewise.
23846
1dabbc77
RM
238472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23848
23849 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23850 instead of static allocation.
23851 * util/mkisofs/match.h: Likewise.
23852
633877cb
RM
238532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23854
3bc7896c
RM
23855 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23856 and `util/grub.d/10_linux.in'.
633877cb
RM
23857 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23858 translatable Shell files.
23859
af1c0c85
RM
238602009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23861
23862 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23863
769ae37b
RM
238642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23865
23866 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23867 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23868 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23869 Add gettext initialization.
23870 (kfreebsd_entry): Make menuentry output translatable.
23871
238722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23873
23874 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23875 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23876 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23877 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23878 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23879 * po/LINGUAS: New file.
769ae37b
RM
23880
238812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23882
23883 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23884 other things).
23885 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23886 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23887 bindtextdomain() calls for gettext initialization.
23888
238892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23890
23891 * gnulib/progname.c: New file (imported from Gnulib).
23892 * gnulib/progname.h: Likewise.
23893 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23894 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23895 (usage): Replace `progname' with `program_name'.
23896 (main): Use set_program_name() for program name initialization.
23897
238982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23899
23900 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23901 from here ...
23902 * Makefile.in (CPPFLAGS): ... to here.
23903
239042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23905
23906 * aclocal.m4: Move from here ...
23907 * acinclude.m4: ... to here.
23908 * autogen.sh: Add call to `aclocal'.
23909 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23910
239112009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23912
23913 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23914 (LINGUAS): New variable.
23915 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23916 (install-local): Install MO files.
23917 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23918 * include/grub/i18n.h: New file.
3bc7896c
RM
23919 * po/POTFILES: New file.
23920 * po/ca.po: New file.
769ae37b
RM
23921 * util/grub.d/10_linux.in (bindir): New variable.
23922 Add gettext initialization.
23923 (linux_entry): Make menuentry output translatable.
23924 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23925 (usage): Make --help output translatable.
23926 (main): Initialize gettext.
23927
02c0a6ad
RM
239282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23929
23930 * import_gcry.py: New file (written by Vladimir with minor
23931 adjustments).
23932 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23933 ciphers.
23934 * INSTALL: Document that Python is required for bootstrap.
23935
239362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23937
23938 Import ciphers from libgcrypt 1.4.4.
23939
23940 * lib/libgcrypt/cipher/ChangeLog
23941 * lib/libgcrypt/cipher/ac.c
23942 * lib/libgcrypt/cipher/arcfour.c
23943 * lib/libgcrypt/cipher/bithelp.h
23944 * lib/libgcrypt/cipher/blowfish.c
23945 * lib/libgcrypt/cipher/camellia-glue.c
23946 * lib/libgcrypt/cipher/camellia.c
23947 * lib/libgcrypt/cipher/camellia.h
23948 * lib/libgcrypt/cipher/cast5.c
23949 * lib/libgcrypt/cipher/cipher.c
23950 * lib/libgcrypt/cipher/crc.c
23951 * lib/libgcrypt/cipher/des.c
23952 * lib/libgcrypt/cipher/dsa.c
23953 * lib/libgcrypt/cipher/ecc.c
23954 * lib/libgcrypt/cipher/elgamal.c
23955 * lib/libgcrypt/cipher/hash-common.c
23956 * lib/libgcrypt/cipher/hash-common.h
23957 * lib/libgcrypt/cipher/hmac-tests.c
23958 * lib/libgcrypt/cipher/md.c
23959 * lib/libgcrypt/cipher/md4.c
23960 * lib/libgcrypt/cipher/md5.c
23961 * lib/libgcrypt/cipher/primegen.c
23962 * lib/libgcrypt/cipher/pubkey.c
23963 * lib/libgcrypt/cipher/rfc2268.c
23964 * lib/libgcrypt/cipher/rijndael-tables.h
23965 * lib/libgcrypt/cipher/rijndael.c
23966 * lib/libgcrypt/cipher/rmd.h
23967 * lib/libgcrypt/cipher/rmd160.c
23968 * lib/libgcrypt/cipher/rsa.c
23969 * lib/libgcrypt/cipher/seed.c
23970 * lib/libgcrypt/cipher/serpent.c
23971 * lib/libgcrypt/cipher/sha1.c
23972 * lib/libgcrypt/cipher/sha256.c
23973 * lib/libgcrypt/cipher/sha512.c
23974 * lib/libgcrypt/cipher/tiger.c
23975 * lib/libgcrypt/cipher/twofish.c
23976 * lib/libgcrypt/cipher/whirlpool.c
23977
af2f93ac
RM
239782009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23979
23980 Fix build for systems without error().
23981
23982 * gnulib/error.c: New file (imported from Gnulib).
23983 * gnulib/error.h: Likewise.
23984 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23985 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23986 (this variable is now used by error()).
23987
73fb3dd5
FZ
239882009-11-16 Felix Zielcke <fzielcke@z-51.de>
23989
814f5e96
FZ
23990 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23991 instead of relying that char is signed.
73fb3dd5 23992
a691ca33
VS
239932009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23994
23995 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23996 blocksize different from specified.
23997 (grub_pxefs_read): Likewise.
23998
2af8f0f4
FZ
239992009-11-16 Felix Zielcke <fzielcke@z-51.de>
24000
24001 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24002
24003 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24004 (grub_ata_readwrite): Likewise. Update 2 format strings.
24005 (grub_atapi_read): Likewise.
24006
24007 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24008 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24009 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24010 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24011 (ata_mod_LDFLAGS): Move from here ...
24012 * conf/i386.rmk: ... to here ...
24013 * conf/x86_64-efi.rmk: ... and here.
24014 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24015 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24016
83bdecaf
RM
240172009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24018
24019 Relicense multiboot.h, with RMS' blessing.
24020
24021 * include/multiboot.h: Change to X11 license.
24022
fd6fd3d7
RM
240232009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24024
24025 Support --version in grub-mkisofs.
24026
24027 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24028 (OPTION_VERSION): New macro.
24029 (ld_options): Recognize --version.
24030 (usage): Move `program_name' from here ...
24031 (program_name): ... to here. Add `static' qualifier.
24032 (main): Recognize `OPTION_VERSION'.
24033
16a88c49
FZ
240342009-11-15 Felix Zielcke <fzielcke@z-51.de>
24035
24036 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24037 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24038
a4158476
RM
240392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24040
24041 Fix help2man generation for mkisofs.
24042
24043 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24044 (usage): Send output to stdout (rather than stderr).
24045
fc2208b0
RM
240462009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24047
24048 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24049 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24050 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24051 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24052 (bin_SCRIPTS): Add `grub-mkfloppy'.
24053 (grub_mkfloppy_SOURCES): New variable.
24054
24055 * util/grub-mkrescue.in: New file.
24056 * util/i386/pc/grub-mkfloppy.in: New file.
24057
24058 * util/i386/coreboot/grub-mkrescue.in: Remove.
24059 * util/i386/pc/grub-mkrescue.in: Remove.
24060
8d0edf4a
RM
240612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24062
24063 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24064 from here ...
24065 * include/multiboot.h (struct multiboot_header): ... to here. Update
24066 all users.
24067 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24068 from here ...
24069 * include/multiboot.h (struct multiboot_info): ... to here. Update
24070 all users.
24071 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24072 from here ...
24073 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24074 Update all users.
24075 * include/grub/multiboot.h (struct grub_mod_list): Move
24076 from here ...
24077 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24078 Update all users.
24079
a73f5969
RM
240802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24081
24082 * include/multiboot2.h (multiboot_word): Rename from this ...
24083 (multiboot2_word): ... to this. Update all users.
24084 (multiboot_header): Rename from this ...
24085 (multiboot2_header): ... to this. Update all users.
24086 (multiboot_tag_header): Rename from this ...
24087 (multiboot2_tag_header): ... to this. Update all users.
24088 (multiboot_tag_start): Rename from this ...
24089 (multiboot2_tag_start): ... to this. Update all users.
24090 (multiboot_tag_name): Rename from this ...
24091 (multiboot2_tag_name): ... to this. Update all users.
24092 (multiboot_tag_module): Rename from this ...
24093 (multiboot2_tag_module): ... to this. Update all users.
24094 (multiboot_tag_memory): Rename from this ...
24095 (multiboot2_tag_memory): ... to this. Update all users.
24096 (multiboot_tag_unused): Rename from this ...
24097 (multiboot2_tag_unused): ... to this. Update all users.
24098 (multiboot_tag_end): Rename from this ...
24099 (multiboot2_tag_end): ... to this. Update all users.
24100
1c8927f0
RM
241012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24102
24103 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24104 this platform we should support Multiboot1 first.
24105
24106 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24107 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24108 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24109
6e1e0d89
RM
241102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24111
24112 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24113 of write calls (converting them to fwrite() if they aren't already).
24114 (get_torito_desc): Likewise.
24115 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24116
7f2b34d8
RM
241172009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24118
24119 * util/i386/pc/grub-install.in: Move from here ...
24120 * util/grub-install.in: ... to here. Update all users.
24121
c0ef3311
CW
241222009-11-11 Colin Watson <cjwatson@ubuntu.com>
24123
24124 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24125
e1f240ff
RM
241262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 Support for El Torito without floppy emulation.
24129
24130 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24131 (init_boot_catalog): Improve error handling.
24132 (get_torito_desc): Don't use floppy emulation unless requested by
24133 user. Patch boot information table when requested via
24134 `-boot-info-table'.
24135 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24136 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24137 (use_boot_info_table): New variables.
24138 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24139 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24140 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24141 `--eltorito-emul-floppy'.
24142 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24143 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24144 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24145 (use_boot_info_table, get_731): New prototypes.
24146 * util/mkisofs/write.c (get_731): New function.
24147
af7d4de5
FZ
241482009-11-11 Felix Zielcke <fzielcke@z-51.de>
24149
24150 Fix the generation of the man page.
24151
24152 * util/pc/i386/grub-install.in: Source
24153 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24154
2c55dbc0
RM
241552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24156
24157 Large file support for grub-mkisofs.
24158
24159 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24160 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24161 (session_start): Upgrade type to `uint64_t'. Update all users.
24162 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24163 (struct directory_entry): Upgrade type of `starting_block' and
24164 `size' to `uint64_t'. Update all users.
24165 (struct deferred): Remove unused structure.
24166 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24167 Update all users.
24168 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24169 file is larger than `UINT32_MAX'.
24170 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24171 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24172 return value.
24173 (struct deferred_write): Upgrade type of `extent' and `size' to
24174 `uint64_t'. Update all users.
24175 (last_extent_written): Upgrade type to `uint64_t'. Update all
24176 users.
24177 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24178 Update all users. Upgrade type of `remain' to `int64_t' and
24179 `use' to `size_t'. Use error() to handle fread() errors.
24180 (write_files): Rely on write_one_file() rather than calling
24181 xfwrite() directly.
24182
6a9cead5
FZ
241832009-11-09 Felix Zielcke <fzielcke@z-51.de>
24184
24185 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24186
4825d790
RM
241872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24188
24189 * util/mkisofs/fnmatch.c: Remove.
24190 * util/mkisofs/getopt1.c: Likewise.
24191 * util/mkisofs/getopt.c: Likewise.
24192 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24193 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24194 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24195 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24196 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24197
24198 * configure.ac: Detect `mingw32msvc' host_os.
24199 Check for lstat(), getuid() and getgid().
24200
24201 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24202 instances of `u_char' with `uint8_t'.
24203
24204 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24205 [!HAVE_GETUID] (getuid): New function (stub).
24206 [!HAVE_GETGID] (getgid): Likewise.
24207 [!HAVE_LSTAT] (lstat): Likewise.
24208 [!S_IROTH] (S_IROTH): New macro (dummy).
24209 [!S_IRGRP] (S_IRGRP): Likewise.
24210
84b860d8
RM
242112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24212
24213 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24214 conditional expression).
24215
66e9b712
RM
242162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24217
24218 Import from Gnulib.
24219
24220 * gnulib/fnmatch.c: New file.
24221 * gnulib/fnmatch.h: Likewise.
24222 * gnulib/fnmatch_loop.c: Likewise.
24223 * gnulib/getopt.c: Likewise.
24224 * gnulib/getopt.h: Likewise.
24225 * gnulib/getopt1.c: Likewise.
24226 * gnulib/getopt_int.h: Likewise.
24227 * gnulib/gettext.h: Likewise.
24228
34f4a5b0
RM
242292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24232 * normal/handler.c (read_handler_list): Likewise.
24233
ac451143
RM
242342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24235
24236 Misc cleanup.
24237
24238 * kern/command.c (grub_register_command_prio): Use
24239 grub_zalloc() instead of explicitly zeroing data.
24240 * kern/list.c: Include `<grub/mm.h>'.
24241 (grub_named_list_find): Replace `0' with `NULL'.
24242 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24243 (fs_module_list): Change type to `grub_named_list_t'. Update all
24244 users.
24245 * normal/dyncmd.c (read_command_list): Add space between function
24246 call and parenthesis.
24247 * normal/handler.c (read_handler_list): Likewise.
24248
4089b167
RM
242492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24250
24251 * normal/auth.c (punishment_delay): Moved from here ...
24252 (grub_auth_strcmp): ... to here (inside function).
24253
325f5037
RM
242542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24255
24256 * include/grub/list.h (struct grub_named_list): Remove `const'
24257 qualifier from `name'.
24258 (struct grub_prio_list): Likewise.
24259
7aea29a3
RM
242602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24261
24262 * normal/auth.c: Include `<grub/time.h>'.
24263 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24264
3fd6f044
RM
242652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24266
24267 * normal/auth.c (punishment_delay): New variable.
24268 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24269 (grub_auth_check_authentication): Punish failed login attempts with
24270 an incremental (2^N) delay.
24271
a4cd68e4
RM
242722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24273
24274 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24275 path with $(srcdir).
24276
7ad12f43
VS
242772009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24280
c1129f03
RM
242812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24282
24283 * util/i386/coreboot/grub-mkrescue.in: New file.
24284 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24285 variables.
24286
24287 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24288 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24289 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24290 requirements.
24291 * util/mkisofs/defaults.h: New file.
24292 * util/mkisofs/eltorito.c: Likewise.
24293 * util/mkisofs/exclude.h: Likewise.
24294 * util/mkisofs/fnmatch.c: Likewise.
24295 * util/mkisofs/getopt.c: Likewise.
24296 * util/mkisofs/getopt1.c: Likewise.
24297 * util/mkisofs/hash.c: Likewise.
24298 * util/mkisofs/include/fctldefs.h: Likewise.
24299 * util/mkisofs/include/mconfig.h: Likewise.
24300 * util/mkisofs/include/prototyp.h: Likewise.
24301 * util/mkisofs/include/statdefs.h: Likewise.
24302 * util/mkisofs/iso9660.h: Likewise.
24303 * util/mkisofs/joliet.c: Likewise.
24304 * util/mkisofs/match.c: Likewise.
24305 * util/mkisofs/match.h: Likewise.
24306 * util/mkisofs/mkisofs.c: Likewise.
24307 * util/mkisofs/mkisofs.h: Likewise.
24308 * util/mkisofs/multi.c: Likewise.
24309 * util/mkisofs/name.c: Likewise.
24310 * util/mkisofs/rock.c: Likewise.
24311 * util/mkisofs/tree.c: Likewise.
24312 * util/mkisofs/write.c: Likewise.
24313
ec8bb77d
VS
243142009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24315
24316 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24317 being insecure.
24318
3716b12c
RM
243192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24320
24321 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24322 `grub-mkimage' (and use $0 when possible).
24323
b97b7b91
RM
243242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24325
24326 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24327 error message for excessively large memory map.
24328
04114812
RM
243292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24330
24331 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24332 executable bit.
24333
e4eb2373
RM
243342009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24335
24336 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24337 message for coreboot users.
24338
c926e1d5 243392009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24340
24341 Fix build with GNU gold.
24342
24343 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24344 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24345 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24346 link addresses.
24347 * aclocal.m4: Likewise.
24348
86e5b1db 243492009-11-04 Felix Zielcke <fzielcke@z-51.de>
24350
24351 * configure.ac (AC_PREREQ): Bump to 2.59d.
24352 * INSTALL: Make it more clear when Autoconf and Ruby are
24353 needed and when to run `./autogen.sh'.
24354
246cd78f 243552009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24356
24357 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24358 OSes.
24359
4f9dfb37 243602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24361
24362 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24363
b82bd5e1 243642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24365
24366 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24367 giving it to GNU Mach.
24368
ff1a9bca 243692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24370
24371 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24372 GNU partition number to get internal GRUB partition number.
24373
61697d9c 243742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24375
24376 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24377 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24378
a50569e1 243792009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24380
24381 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24382 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24383 case.
24384
5b153867 243852009-11-01 Felix Zielcke <fzielcke@z-51.de>
24386
24387 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24388
d9e2cd70 243892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24390
24391 Fix build problem.
24392
24393 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24394 `-isystem=$(srcdir)/include'.
24395
805111a4 243962009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24397
24398 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24399 checked (grub-install doesn't currently rely on it).
24400
fa6e945f 244012009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24402
24403 Revert SVN r2660.
24404
24405 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24406 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24407 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24408 * conf/i386-ieee1275.rmk: Likewise.
24409 * conf/i386-pc.rmk: Likewise.
24410 * conf/powerpc-ieee1275.rmk: Likewise.
24411 * conf/sparc64-ieee1275.rmk: Likewise.
24412 * conf/x86_64-efi.rmk: Likewise.
24413
cee15086 244142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24415
24416 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24417
95b9239e 244182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24419
24420 * include/grub/misc.h: Stop checking for APPLE_CC.
24421
2ed19dfd 244222009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24423
24424 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24425 doesn't cause an infinite call loop.
24426
fdcdde19 244272009-10-28 Felix Zielcke <fzielcke@z-51.de>
24428
24429 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24430 strings.
24431
cefabfe1 244322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24433
24434 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24435 variable.
24436 * Makefile.in: Likewise.
24437
ed96ab6d 244382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24439
24440 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24441
0579b753 244422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24443
24444 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24445
478df409 244462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24447
24448 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24449
083d1679 244502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24453 from here ...
24454 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24455
5947ae32 244562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24457
24458 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24459 in $(MAKEINFO) invocation. This makes it clear in output that
24460 errors are being ignored.
24461
94180ff6 244622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24465 from here ...
24466 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24467 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24468 * conf/i386-ieee1275.rmk: Likewise.
24469 * conf/i386-pc.rmk: Likewise.
24470 * conf/powerpc-ieee1275.rmk: Likewise.
24471 * conf/sparc64-ieee1275.rmk: Likewise.
24472 * conf/x86_64-efi.rmk: Likewise.
24473
9031b03a 244742009-10-26 Colin Watson <cjwatson@ubuntu.com>
24475
24476 * util/grub-editenv.c (main): If only a command is given, use
24477 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24478 (usage): FILENAME is now optional and has a default.
24479
e4f6809b 244802009-10-26 Colin Watson <cjwatson@ubuntu.com>
24481
24482 Improve grub-mkconfig performance when there are several menu
24483 entries on a single filesystem.
24484
24485 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24486 prepare_grub_to_access_device.
24487 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24488 * util/grub.d/30_os-prober.in: Likewise.
24489
67937d4d 244902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24491
24492 * util/grub.d/10_freebsd.in: Remove.
24493 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24494 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24495
ee3756cc 244962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24497
5c35048e 24498 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24499
4dea1c6f 245002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24501
24502 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24503 grub_util_error() call.
24504
042484d7 245052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24506
24507 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24508 `reserved_first_sector' member.
24509 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24510 `reserved_first_sector' to 1.
24511 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24512 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24513 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24514 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24515 filesystems which begin at first sector.
24516 (options): New option --skip-fs-probe.
24517 (main): Handle --skip-fs-probe and pass it to setup().
24518
d64448a7 245192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24520
24521 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24522 (memset): Fix function prototype.
24523
508d42ec 245242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
245252009-10-25 Vasily Averin <vvs@parallels.com>
24526
24527 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24528 `dirent.direntlen == 0'.
24529
b240e30c 245302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24531
24532 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24533 `cpio'.
24534 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24535
346e7fbe 245362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24537
24538 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24539 `__trampoline_setup' and `__ucmpdi2'.
24540 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24541 that libgcc provides.
24542
cdb308b0 245432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24544
24545 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24546 * include/grub/sparc64/libgcc.h (memset): Likewise.
24547 * include/grub/misc.h (memset, memcmp): New function prototypes.
24548
fb26abc2 245492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24552 `cpio'.
24553 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24554
f6693890 245552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24556
24557 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24558 * docs/grub.cfg: Compensate for recent change in multiboot
24559 loader (since 2009-08-14 it won't pass filename to payload).
24560 * util/grub.d/10_hurd.in: Likewise.
24561
0933cdc0 245622009-10-21 Felix Zielcke <fzielcke@z-51.de>
24563
24564 * config.guess: Update to latest version from config git
24565 repository.
24566 * config.sub: Likewise.
24567
3b2fe8c2 245682009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24569
24570 Fix build on sparc64.
24571
24572 * configure.ac: Perform checks for libgcc symbols before
24573 adding `-nostdlib' to LDFLAGS.
24574
46695a62 245752009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24576
24577 Let user specify OpenBSD root device.
24578
24579 * loader/i386/bsd.c (openbsd_root): New variable.
24580 (openbsd_opts): New option 'root'.
24581 (OPENBSD_ROOT_ARG): New macro.
24582 (grub_openbsd_boot): Use 'openbsd_root'.
24583 (grub_cmd_openbsd): Fill 'openbsd_root'.
24584
d2b6b7fc 245852009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 * NEWS: Misc adjustments.
24588
421bd7ac 245892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24590
24591 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24592
f1d29d87 245932009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24594
24595 * configure.ac: Bump version to 1.97.
24596
6f3cd880 245972009-10-16 Colin Watson <cjwatson@ubuntu.com>
24598
24599 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24600 -mno-3dnow on x86 architectures. Some toolchains enable these
24601 features by default, but they rely on registers that aren't enabled
24602 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24603
035f7122 246042009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 Make entry text a bit more readable.
24607
24608 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24609
44998e58 246102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24611
24612 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24613
cd2851b3 246142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24615
24616 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24617 operations.
24618
c6f3b249 246192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24620
24621 * configure.ac: Add missing dollar.
24622
6b5886ba 246232009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24624
24625 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24626
24627 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24628 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24629 exports.
24630 * include/grub/sparc64/libgcc.h: Likewise. Use
24631 preprocessor conditionals.
24632
e9d66f6d 246332009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24634
24635 * conf/common.rmk (grub-dumpbios): Remove rule.
24636 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24637 * util/grub-dumpbios.in: Remove file.
24638
9155bc17 246392009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24640
24641 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24642 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24643
24644 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24645 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24646 users.
24647
24648 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24649 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24650 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24651 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24652 users.
24653
bf7f7a18 246542009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24655
24656 * term/tparm.c: Switch to GPLv3.
24657
86564c26 246582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24659
24660 * include/grub/i386/cpuid.h: Add header protection.
24661
5c936493 246622009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24665
24666 * include/grub/i386/cpuid.h: New file.
24667 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24668 (has_longmode): Rename to ...
24669 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24670 `static' attribute.
24671 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24672 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24673 on a CPU that doesn't implement AMD64 instruction set.
24674
186e7cf2 246752009-10-06 Colin Watson <cjwatson@ubuntu.com>
24676
24677 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24678 that version.texi is rebuilt on version number changes.
24679
83b65c4a 246802009-10-06 Colin Watson <cjwatson@ubuntu.com>
24681
24682 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24683 Fixes bug #27602.
24684
d244281c 246852009-10-06 Colin Watson <cjwatson@ubuntu.com>
24686
24687 * util/i386/pc/grub-install.in: Source
24688 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24689 that the --grub-probe option will work.
24690 * util/sparc64/ieee1275/grub-install.in: Likewise.
24691
da25306d 246922009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24693
24694 * configure.ac: Bump version to 1.97~beta4.
24695
e8ee83c0 246962009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 Resync grub-mkdevicemap in x86_64-efi.
24699
24700 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24701 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24702 `util/devicemap.c'.
24703
50dcabcf 247042009-10-01 Colin Watson <cjwatson@ubuntu.com>
24705
24706 * util/grub-editenv.c (create_envblk_file): Write new block with a
24707 .new suffix and then rename it into place, to ensure atomic
24708 creation.
24709
0e51c3a7 247102009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24711
24712 Do not automatically install headers.
24713
24714 * Makefile.in (include_DATA): Remove. Update all users.
24715
31299a95 247162009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24717
24718 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24719 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24720
24721 * util/osdetect.lua: Remove.
24722 * script/lua/lauxlib.c: Likewise.
24723 * script/lua/ldebug.c: Likewise.
24724 * script/lua/grub_main.c: Likewise.
24725 * script/lua/lauxlib.h: Likewise.
24726 * script/lua/ldebug.h: Likewise.
24727 * script/lua/ltablib.c: Likewise.
24728 * script/lua/liolib.c: Likewise.
24729 * script/lua/lstrlib.c: Likewise.
24730 * script/lua/lualib.h: Likewise.
24731 * script/lua/ldo.c: Likewise.
24732 * script/lua/ldump.c: Likewise.
24733 * script/lua/ldo.h: Likewise.
24734 * script/lua/loslib.c: Likewise.
24735 * script/lua/lundump.c: Likewise.
24736 * script/lua/grub_lib.c: Likewise.
24737 * script/lua/ldblib.c: Likewise.
24738 * script/lua/lundump.h: Likewise.
24739 * script/lua/lmem.c: Likewise.
24740 * script/lua/grub_lib.h: Likewise.
24741 * script/lua/lmathlib.c: Likewise.
24742 * script/lua/lstate.c: Likewise.
24743 * script/lua/ltm.c: Likewise.
24744 * script/lua/lvm.c: Likewise.
24745 * script/lua/lmem.h: Likewise.
24746 * script/lua/lstate.h: Likewise.
24747 * script/lua/ltm.h: Likewise.
24748 * script/lua/ltable.c: Likewise.
24749 * script/lua/lvm.h: Likewise.
24750 * script/lua/llex.c: Likewise.
24751 * script/lua/lgc.c: Likewise.
24752 * script/lua/grub_lua.h: Likewise.
24753 * script/lua/loadlib.c: Likewise.
24754 * script/lua/lfunc.c: Likewise.
24755 * script/lua/lopcodes.c: Likewise.
24756 * script/lua/lparser.c: Likewise.
24757 * script/lua/ltable.h: Likewise.
24758 * script/lua/llex.h: Likewise.
24759 * script/lua/lgc.h: Likewise.
24760 * script/lua/lfunc.h: Likewise.
24761 * script/lua/lbaselib.c: Likewise.
24762 * script/lua/lopcodes.h: Likewise.
24763 * script/lua/lparser.h: Likewise.
24764 * script/lua/lzio.c: Likewise.
24765 * script/lua/linit.c: Likewise.
24766 * script/lua/lobject.c: Likewise.
24767 * script/lua/llimits.h: Likewise.
24768 * script/lua/lstring.c: Likewise.
24769 * script/lua/lzio.h: Likewise.
24770 * script/lua/lapi.c: Likewise.
24771 * script/lua/lcode.c: Likewise.
24772 * script/lua/lua.h: Likewise.
24773 * script/lua/lobject.h: Likewise.
24774 * script/lua/lstring.h: Likewise.
24775 * script/lua/lapi.h: Likewise.
24776 * script/lua/lcode.h: Likewise.
24777 * script/lua/luaconf.h: Likewise.
24778
cb8a2c38 247792009-09-26 Colin Watson <cjwatson@ubuntu.com>
24780
24781 * docs/grub.texi (Command-line and menu entry commands): Document
24782 date and echo commands.
24783
6b9b6276 247842009-09-24 Pavel Roskin <proski@gnu.org>
24785
24786 * include/grub/kernel.h (struct grub_module_header): Remove
24787 `grub_module_header_types'. Make `type' unsigned. Make `size'
24788 32-bit on all platforms.
24789 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24790 8-bit field. Use grub_host_to_target32() for `size'.
24791 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24792 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24793 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24794
4e5a02a7 247952009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24796
24797 Fix "lost keypress" bug in at_keyboard.
24798
24799 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24800 Checks for readyness of input buffer (without flushing it).
24801 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24802 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24803
c6dcedf6 248042009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24805
24806 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24807 size check within GRUB_MACHINE_PCBIOS section.
24808
74c958b1 248092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24810
24811 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24812 return value.
24813 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24814 KEYBOARD_ISREADY check.
24815 (grub_at_keyboard_checkkey): Rename to ...
24816 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24817 Remove gratuitous cast.
24818
ff420223 248192009-09-23 Colin Watson <cjwatson@ubuntu.com>
24820
24821 * configure.ac: Call AC_PROG_MKDIR_P.
24822 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24823 version.texi in $(builddir) rather than $(srcdir).
24824 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24825 to makeinfo's @include search path.
24826
d96875df 248272009-09-23 Felix Zielcke <fzielcke@z-51.de>
24828
24829 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24830
9b3f8365 248312009-09-23 Felix Zielcke <fzielcke@z-51.de>
24832
24833 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24834 for `*.dpkg-new'.
24835
c44c90db 248362009-09-21 Colin Watson <cjwatson@ubuntu.com>
24837
24838 Build info documentation. Some code borrowed from Automake.
24839
24840 * configure.ac: Check for makeinfo.
24841 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24842 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24843 docs/version.texi.
24844 (MOSTLYCLEANFILES): Add vti.tmp.
24845 (docs/version.texi, docs/stamp-vti): Update automatically.
24846 (docs/grub.info): Build info documentation. Use --force and ignore
24847 errors for now.
24848 (all-local): Add $(INFOS).
24849 (install-local): Install info files.
24850 (uninstall): Uninstall info files.
24851 * docs/version.texi: Remove from revision control. This file is
24852 automatically generated on build now.
24853 * gendistlist.sh: Add `*.info'.
24854
e0b37bb5 248552009-09-21 Felix Zielcke <fzielcke@z-51.de>
24856
24857 * kern/term.c: Fix indentation.
24858
5a78865b 248592009-09-21 Felix Zielcke <fzielcke@z-51.de>
24860
24861 * util/hostdisk.c: Fix a comment.
24862
dace7e8a 248632009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24864
24865 Fix regression introduced in r2539.
24866
24867 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24868 to 0xA1.
24869
a83d079b 248702009-09-19 Colin Watson <cjwatson@ubuntu.com>
24871
24872 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24873 os-prober. Under normal operation, it does not print anything to
24874 stderr; if it does, we need to debug it, and throwing away stderr
24875 makes that excessively difficult.
a83d079b 24876
be94a509 248772009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24878
24879 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24880
63f745e8 248812009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24882
24883 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24884 AC_LANG_PROGRAM from autoconf.
24885 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24886 prototypes (fixes warning).
24887
24888 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24889 `--disable-werror' was used.
24890
bbb2a70f 248912009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24892
24893 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24894 uninitialized `lastaddr'.
24895
77c24f1d 248962009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24897
0f0b8c87 24898 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24899
07197f23 249002009-09-14 Colin Watson <cjwatson@ubuntu.com>
24901
24902 * commands/test.c (get_fileinfo): Return immediately if
24903 grub_fs_probe fails.
24904
dabf1798 249052009-09-14 José Martínez <xosemp@gmail.com>
24906
24907 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24908
d52109a7 249092009-09-14 Colin Watson <cjwatson@ubuntu.com>
24910
24911 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24912 output.
24913
56532179 249142009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24915
24916 * configure.ac: Remove --enable-grub-pe2elf. Only build
24917 grub-pe2elf when needed by the build system itself.
24918 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24919
8ef070f5 249202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24921
24922 * configure.ac: Bump version to 1.97~beta3.
24923 * docs/version.texi: Likewise.
24924
61229557 249252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24926
24927 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24928 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24929 from here ...
24930 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24931 (grub_linux_setup_video): ... to here (with some adjustments).
24932
5c9f8d84 249332009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24934
24935 Fix memory corruption issue (spotted by Colin Watson).
24936
24937 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24938 causing returned size to be stored in an incorrect memory location.
24939 Fix use of uninitialized value when storing the returned size.
24940
e8f5d6e9 249412009-09-12 Yves Blusseau <blusseau@zetam.org>
24942
24943 Change clean rules to properly remove files
24944
24945 * genmk.rb: add new clean rules
24946 * Makefile.in (clean): add the new targets
24947 (mostlyclean): likewise
24948
cda2a409 249492009-09-11 Colin Watson <cjwatson@ubuntu.com>
24950
24951 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24952 to grub_uint64_t.
24953 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24954 non-resident files.
24955
86695375 249562009-09-11 Colin Watson <cjwatson@ubuntu.com>
24957
24958 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24959 part of bug #27349.
24960
8aa1541a 249612009-09-10 Felix Zielcke <fzielcke@z-51.de>
24962
24963 * util/grub-mkconfig.in: Make the created config mode 400 and
24964 print a warning if it fails.
24965
48d9bb0a 249662009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24967
24968 * util/grub.d/40_custom.in: Ask user to type custom entries below
24969 comment, rather than below 'exec tail' line.
24970
3b0521be 249712009-09-10 Colin Watson <cjwatson@ubuntu.com>
24972
24973 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24974 visible in grub.cfg.
24975
50051d55 249762009-09-10 Colin Watson <cjwatson@ubuntu.com>
24977
24978 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24979 file.
24980
c0d34387 249812009-09-10 Felix Zielcke <fzielcke@z-51.de>
24982
24983 * docs/grub.cfg: Add an example menu entry for memtest86+.
24984
80a608f3 249852009-09-09 Felix Zielcke <fzielcke@z-51.de>
24986
a2094832 24987 * config.guess: Update to latest version from config git.
80a608f3 24988 * config.sub: Likewise.
24989
99423078 249902009-09-08 Colin Watson <cjwatson@ubuntu.com>
24991
24992 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24993 unknown-command case. Fixes bug #27320.
24994
44454e4c 249952009-09-08 Felix Zielcke <fzielcke@z-51.de>
24996
24997 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24998 `help' if the command exists.
24999
e30d87ad 250002009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25001
25002 * INSTALL: Require GCC 4.1.3 or later.
25003
9a86f1ec 250042009-09-06 Yves Blusseau <blusseau@zetam.org>
25005
25006 * Makefile.in (RMKFILES): add i386-qemu.rmk
25007 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25008 $(srcdir)/stamp-h.in
25009
7f26d466 250102009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25011
25012 * util/grub-probe.c (probe): Comment out buggy codepath, which
25013 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25014 should be re-enabled after 1.97.
25015
3a613259 250162009-09-05 Felix Zielcke <fzielcke@z-51.de>
25017
25018 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25019 find searches for.
25020
197f76c7 250212009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25022
25023 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25024 unnecessary calls to grub_error.
25025
70ba68ce 250262009-09-04 Colin Watson <cjwatson@ubuntu.com>
25027
25028 * NEWS: Mention `keystatus' and Unicode fonts.
25029
4ff0d7a4 250302009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * configure.ac: Bump version to 1.97~beta2.
25033 * docs/version.texi: Likewise.
25034
77c55a87 250352009-09-03 Colin Watson <cjwatson@ubuntu.com>
25036
25037 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25038 containing unwind information in some cases where it previously did
25039 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25040 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25041 discussion.
25042
f79572cd 250432009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25044
25045 Embedding loadenv module into grub-emu
25046
25047 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25048 commands/loadenv.c
25049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25050 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25051 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25053 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25054 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25055
93a81088 250562009-09-03 Magnus Granberg <zorry@ume.nu>
25057
25058 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25059 include -fPIE in the default specs.
25060 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25061 to TARGET_CFLAGS.
25062
160034b2 250632009-09-03 Felix Zielcke <fzielcke@z-51.de>
25064
25065 * INSTALL: Note that GNU Bison 2.3 or later is required.
25066
087c07c4 250672009-09-03 Colin Watson <cjwatson@ubuntu.com>
25068
25069 * kern/i386/pc/startup.S: Fix typo.
25070
cbf978c0 250712009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25074 according to GCS.
25075
250762009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25077
25078 * docs/grub.texi (Naming convention): Describe one-based partition
25079 numbering.
25080 (Device syntax): Likewise.
25081 (File name syntax): Likewise.
25082 (Block list syntax): Likewise.
25083 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25084 menu.lst.
25085 (File name syntax): Likewise.
25086 (Command-line and menu entry commands): Document acpi, blocklist,
25087 crc, export, insmod, keystatus, ls, set, and unset commands.
25088
f3e8cdfd 250892009-09-02 Colin Watson <cjwatson@ubuntu.com>
25090
25091 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25092 to avoid implying that only one of --shift, --ctrl, or --alt may be
25093 used.
25094
c0bc232b 250952009-09-02 Colin Watson <cjwatson@ubuntu.com>
25096
25097 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25098 rather than comparing against S_IFREG, which will almost never work.
25099
aa0f752d 251002009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25101
25102 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25103 (write_blocklists): Likewise.
25104
ecb3166a 251052009-09-01 Colin Watson <cjwatson@ubuntu.com>
25106
25107 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25108 argument to grub_printf.
25109
c403a125 251102009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25111
25112 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25113 non GNU test.
31aba781 25114
b5e7312c 251152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25116
25117 * kern/file.c (grub_file_read): Spelling fix
25118
fe00f472 251192009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25122 loading of headers in some cases.
25123
cc55302e 251242009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25125
25126 * configure.ac: Bump version to 1.97~beta1.
25127 * docs/version.texi: Likewise.
25128
5c90cdd2 251292009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25130
25131 * include/grub/i386/xnu.h: Add license header.
25132 include grub/err.h explicitly.
25133
c90edae4 251342009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25135
25136 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25137 to `ufs' in the vfs.root.mountfrom kernel parameter.
25138
d8888b5c 251392009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25140
25141 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25142
25143 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25144 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25145
25146 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25147 `ARRAY_SIZE' macro.
25148
6f07b921 251492009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25150
25151 * kern/file.c (grub_file_read): Check offset.
25152 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25153 * fs/jfs.c (grub_jfs_read_file): Likewise.
25154 * fs/ntfs.c (grub_ntfs_read): Likewise.
25155 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25156 * fs/minix.c (grub_minix_read_file): Correct offset check.
25157 * fs/ufs.c (grub_ufs_read_file): Likewise.
25158
b4f34077 251592009-08-28 Colin Watson <cjwatson@ubuntu.com>
25160
25161 * term/i386/pc/console.c (bios_data_area): Cast
25162 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25163
e7c69859 251642009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25165
25166 1-bit optimised blitters.
25167
25168 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25169 prototype.
25170 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25171 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25172 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25173 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25174 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25175 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25176 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25177 function.
25178 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25179 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25180 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25181 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25182 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25183 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25184 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25185 when possible.
25186 * video/video.c (grub_video_get_blit_format): Return
25187 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25188
a57da43f 251892009-08-28 Colin Watson <cjwatson@ubuntu.com>
25190
25191 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25192 the first argument to grub_printf.
25193
4cbe67e5 251942009-08-28 Colin Watson <cjwatson@ubuntu.com>
251952009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25196
25197 Add `getkeystatus' terminal method. Add a new `keystatus' command
25198 to query it.
25199
25200 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25201 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25202 modifier key bitmasks.
25203 (struct grub_term_input): Add `getkeystatus' member.
25204 (grub_getkeystatus): Add prototype.
25205 * kern/term.c (grub_getkeystatus): New function.
25206
25207 * include/grub/i386/pc/memory.h
25208 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25209 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25210 Data Area layout.
25211 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25212 (grub_console_term_input): Set `getkeystatus' member.
25213 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25214 constants.
25215 (grub_usb_keyboard_getreport): Likewise.
25216 (grub_usb_keyboard_checkkey): Likewise.
25217 (grub_usb_keyboard_getkeystatus): New function.
25218 (grub_usb_keyboard_term): Set `getkeystatus' member.
25219
25220 * commands/keystatus.c: New file.
25221 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25222 (keystatus_mod_SOURCES): New variable.
25223 (keystatus_mod_CFLAGS): Likewise.
25224 (keystatus_mod_LDFLAGS): Likewise.
25225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25226 commands/keystatus.c.
25227 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25229 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25231 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25232 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25233
6e2a9085 252342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25235
25236 Split befs.mod and afs.mod into *_be.mod and *.mod
25237
25238 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25239 (grub_fstest_SOURCES): Likewise.
25240 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25241 (afs_be_mod_SOURCES): New variable.
25242 (afs_be_mod_CFLAGS): Likewise.
25243 (afs_be_mod_LDFLAGS): Likewise.
25244 (befs_be_mod_SOURCES): Likewise.
25245 (befs_be_mod_CFLAGS): Likewise.
25246 (befs_be_mod_LDFLAGS): Likewise.
25247 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25248 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25250 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25251 (grub_emu_SOURCES): Likewise.
25252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25253 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25254 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25255 * fs/afs_be.c: New file.
25256 * fs/befs_be.c: New file.
25257 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25258 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25259 (U16): Replaced with ...
25260 (grub_afs_to_cpu16): ...this. All users updated.
25261 (U32): Replaced with ...
25262 (grub_afs_to_cpu32): ...this. All users updated.
25263 (U64): Replaced with ...
25264 (grub_afs_to_cpu64): ...this. All users updated.
25265 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25266 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25267 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25268 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25269 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25270 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25271 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25272 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25273 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25274 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25275 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25276
32a71655 252772009-08-26 Bean <bean123ch@gmail.com>
25278
25279 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25280 64-bit number.
25281 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25282 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25283 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25284
552bf6c5 252852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25286
25287 NetBSD memory map support.
25288
25289 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25290 (grub_netbsd_btinfo_mmap_header): New structure.
25291 (grub_netbsd_btinfo_mmap_entry): Likewise.
25292 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25293
1ae2078c 252942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25295
25296 Enable bsd.mod on coreboot.
25297
25298 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25299 (bsd_mod_SOURCES): New variable.
25300 (bsd_mod_CFLAGS): Likewise.
25301 (bsd_mod_LDFLAGS): Likewise.
25302 (bsd_mod_ASFLAGS): Likewise.
25303 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25304 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25305
beefc598 253062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25307
25308 Cleanup NetBSD root support.
25309
25310 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25311 grub_bsd_get_device.
25312 Fix typo.
25313
3b76e68b 253142009-08-25 Felix Zielcke <fzielcke@z-51.de>
25315
25316 * util/grub.d/00_header.in: Move check for the video backend of
25317 gfxterm from here ...
25318 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25319 a suitable video backend.
25320
aea664ea 253212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 Fix breakage in grub-setup.
25324
25325 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25326 "msdos_partition_map".
25327
ff747d50 253282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 Fix breakage in normal/auth.c.
25331
25332 * normal/auth.c (grub_iswordseparator): New function.
25333
e7e1f93f 253342009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25335
25336 Authentication support.
25337
25338 * commands/password.c: New file.
25339 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25340 (password_mod_SOURCES): New variable.
25341 (password_mod_CFLAGS): Likewise.
25342 (password_mod_LDFLAGS): Likewise.
25343 (normal_mod_SOURCES): Add normal/auth.c.
25344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25345 normal/auth.c.
25346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25348 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25350 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25351 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25352 * include/grub/auth.h: New file.
25353 * include/grub/err.h (grub_err_t): New enum value
25354 GRUB_ERR_ACCESS_DENIED.
25355 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25356 'users'.
25357 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25358 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25359 users updated.
25360 * normal/auth.c: New file.
25361 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25362 (grub_cmdline_run): Don't allow to go to command line without
25363 authentication.
25364 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25365 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25366 menuentry without superuser rights.
25367 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25368 user isn't a superuser.
25369
70f1161d 253702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25371
25372 Save space by inlining misc.c functions.
25373
25374 * kern/misc.c (grub_iswordseparator): Made static.
25375 * kern/misc.c (grub_strcat): Moved from here ...
25376 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25377 * kern/misc.c (grub_strncat): Moved from here ...
25378 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25379 * kern/misc.c (grub_strcasecmp): Moved from here ...
25380 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25381 * kern/misc.c (grub_strncasecmp): Moved from here ...
25382 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25383 * kern/misc.c (grub_isalpha): Moved from here ...
25384 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25385 * kern/misc.c (grub_isdigit): Moved from here ...
25386 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25387 * kern/misc.c (grub_isgraph): Moved from here ...
25388 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25389 * kern/misc.c (grub_tolower): Moved from here ...
25390 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25391
48e40bff 253922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 * script/sh/function.c (grub_script_function_find): Cut error message
25395 not to flood terminal.
25396 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25397 limit.
25398 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25399
c385bfc3 254002009-08-24 Colin Watson <cjwatson@ubuntu.com>
25401
25402 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25403 `report' grub_uint8_t *.
25404 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25405 Use a 50-millisecond timeout rather than just repeating
25406 grub_usb_keyboard_getreport 50 times.
25407 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25408
2d21e3e8 254092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 Rename *_partition_map to part_*
25412
25413 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25414 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25415 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25416 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25417 All users updated.
25418 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25419 All users updated.
25420 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25421 * util/grub-probe.c (probe_partmap): Don't transform partition name
25422 to get module name.
25423
dd103c4e 254242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 Fix OpenBSD and NetBSD support.
25427
25428 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25429 memory address conflict.
25430 (OPENBSD_MMAP_ACPI): New definition.
25431 (OPENBSD_MMAP_NVS): Likewise.
25432 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25433 and OPENBSD_MMAP_NVS.
25434 Add memory map terminator
25435 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25436 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25437
16c84d74 254382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25439
25440 Let user specify NetBSD root device.
25441
25442 * loader/i386/bsd.c (netbsd_root): New variable.
25443 (netbsd_opts): New option 'root'.
25444 (NETBSD_ROOT_ARG): New macro.
25445 (grub_netbsd_boot): Use 'netbsd_root'.
25446 (grub_bsd_unload): Free 'netbsd_root'.
25447 (grub_cmd_netbsd): Fill 'netbsd_root'.
25448
adb29902 254492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25450
25451 Support for 64-bit NetBSD.
25452
25453 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25454 point when booting non-FreeBSD.
25455
f5ae9f74 254562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25457
25458 Support --no-smp and --no-acpi for NetBSD.
25459
25460 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25461 (NETBSD_AB_NOACPI): Likewise.
25462 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25463 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25464
de74f136 254652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25466
25467 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25468 errors.
25469 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25470 errors. Call grub_error when needed.
25471
e9a925da 254722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25473
25474 * commands/search.c (search_fs): Try searching without autoload first.
25475 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25476 filesystem module explicitly for faster booting.
25477
5174302b 254782009-08-23 Colin Watson <cjwatson@ubuntu.com>
25479
25480 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25481
c8c80635 254822009-08-23 Colin Watson <cjwatson@ubuntu.com>
25483
25484 * util/grub.d/30_os-prober.in: Disable os-prober if
25485 `GRUB_DISABLE_OS_PROBER' was set to true.
25486
71acf5e5 254872009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25488
25489 * partmap/pc.c: Rename to ...
25490 * partmap/msdos.c: ... this. Update all users.
25491 (grub_pc_partition_map): Rename to ...
25492 (grub_msdos_partition_map): ... this. Update all users.
25493
25494 * parttool/pcpart.c: Rename to ...
25495 * parttool/msdospart.c: ... this. Update all users.
25496
25497 * include/grub/pc_partition.h: Rename to ...
25498 * include/grub/msdos_partition.h: ... this. Update all users.
25499 (grub_pc_partition_bsd_entry): Rename to ...
25500 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25501 (grub_pc_partition_disk_label): Rename to ...
25502 (grub_msdos_partition_disk_label): ... this. Update all users.
25503 (grub_pc_partition_entry): Rename to ...
25504 (grub_msdos_partition_entry): ... this. Update all users.
25505 (grub_pc_partition_mbr): Rename to ...
25506 (grub_msdos_partition_mbr): ... this. Update all users.
25507 (grub_pc_partition): Rename to ...
25508 (grub_msdos_partition): ... this. Update all users.
25509 (grub_pc_partition_is_empty): Rename to ...
25510 (grub_msdos_partition_is_empty): ... this. Update all users.
25511 (grub_pc_partition_is_extended): Rename to ...
25512 (grub_msdos_partition_is_extended): ... this. Update all users.
25513 (grub_pc_partition_is_bsd): Rename to ...
25514 (grub_msdos_partition_is_bsd): ... this. Update all users.
25515
25516 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25517 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25518 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25519 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25520 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25521 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25522 (gpt_mod_LDFLAGS): Rename to ...
25523 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25524 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25525 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25526 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25527 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25528 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25529 (part_gpt_mod_LDFLAGS): ... this.
25530 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25531 `pcpart.mod' to `msdospart.mod'.
25532 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25533 to ...
25534 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25535 (msdospart_mod_LDFLAGS): ... this.
25536
c11fded5 255372009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25540 (openbsd_opts): Likewise.
25541 (netbsd_opts): Likewise.
25542 (freebsd_flags): Added 0 terminator.
25543 (openbsd_flags): Likewise.
25544 (netbsd_flags): Likewise.
25545 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25546 (grub_cmd_freebsd): Transformed into extended command.
25547 (grub_cmd_openbsd): Likewise.
25548 (grub_cmd_netbsd): Likewise.
25549 (cmd_freebsd): Changed type to grub_extcmd_t.
25550 (cmd_openbsd): Likewise.
25551 (cmd_netbsd): Likewise.
25552 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25553 grub_cmd_openbsd as extended commands.
25554 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25555 cmd_netbsd and cmd_openbsd
25556
11d1c769 255572009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25558
25559 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25560
7a9094e5 255612009-08-21 Pavel Roskin <proski@gnu.org>
25562
5496c37e 25563 * Makefile.in (install-local): When checking if a file is in the
25564 build directory, use "test -e" to detect symlinks.
25565
7a9094e5 25566 * Makefile.in (install-local): Remove all files in
25567 $(DESTDIR)$(pkglibdir) before installing new files there.
25568
e53cea11 255692009-08-18 Felix Zielcke <fzielcke@z-51.de>
25570
25571 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25572 grub-mkelfimage.
25573
9aced544 255742009-08-18 Felix Zielcke <fzielcke@z-51.de>
25575
25576 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25577 explicitly specified by the user.
25578
b7da6bab 255792009-08-18 Pavel Roskin <proski@gnu.org>
25580
25581 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25582 grub_uint8_t pointer for data.
25583 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25584 Likewise.
25585 * video/fb/fbutil.c: Remove unnecessary casts.
25586
19f1b335 255872009-08-17 Michal Suchanek <hramrach@centrum.cz>
25588
25589 VBE cleanup.
25590
25591 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25592 (grub_vbe_set_video_mode): Save active mode info
25593 only after setting the mode.
25594 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25595 second argument.
25596
2f467aa9 255972009-08-17 Michal Suchanek <hramrach@centrum.cz>
25598
25599 Rename variables for clarity.
25600
25601 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25602 (active_vbe_mode_info): ... this. All users updated.
25603 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25604 All users updated.
25605 (initial_mode): Rename to ...
25606 (initial_vbe_mode): ... this. All users updated.
25607 (mode_in_use): Rename to ..
25608 (vbe_mode_in_use): ... this. All users updated.
25609 (mode_list): Rename to ..
25610 (vbe_mode_list): ... this. All users updated.
25611 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25612 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25613 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25614 'mode_list_size' to 'vbe_mode_list_size'.
25615 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25616 'best_mode_info' to 'best_vbe_mode_info' and
25617 'best_mode' to 'best_vbe_mode'
25618
6025fcd7 256192009-08-17 Michal Suchanek <hramrach@centrum.cz>
25620
25621 Remove duplicate grub_video_fb_get_video_ptr.
25622
25623 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25624 (grub_video_fb_get_video_ptr): ... this.
25625 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25626 * video/fb/fbutil.c: Add comment about addressing.
25627 (get_data_ptr): Rename to ...
25628 (grub_video_fb_get_video_ptr): ... this. All users updated.
25629 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25630
cc8c6faf 256312009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25632
25633 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25634 grub_dprintf() that was just added.
25635
08aa61f0 256362009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25637
25638 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25639 (DEFAULT_VIDEO_MODE): Remove macros.
25640 (grub_linux_boot): Remove assumption that Linux has FB support,
25641 and use "text" as default video mode.
25642
7cef4f75 256432009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25646 grub_dprintf.
25647 * fs/fat.c (grub_fat_read_data): Likewise.
25648
e1f39873 256492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25650
25651 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25652 payload.
25653 (grub_module): Likewise.
25654
c166d79e 256552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25656
25657 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25658 mbi->cmdline but free playground.
25659
c60cee8e 256602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25661
25662 Handle group offset on UFS1.
25663
25664 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25665 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25666
c0d8b5d4 256672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 Split ufs.mod into ufs1.mod and ufs2.mod.
25670
25671 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25672 (grub_fstest_SOURCES): Likewise.
25673 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25674 (ufs_mod_SOURCES): Remove.
25675 (ufs_mod_CFLAGS): Likewise.
25676 (ufs_mod_LDFLAGS): Likewise.
25677 (ufs1_mod_SOURCES): New variable.
25678 (ufs1_mod_CFLAGS): Likewise.
25679 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25680 (ufs2_mod_SOURCES): New variable.
25681 (ufs2_mod_CFLAGS): Likewise.
25682 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25683 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25684 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25685 Likewise.
25686 (grub_emu_SOURCES): Likewise.
25687 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25688 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25689 (grub_setup_SOURCES): Likewise.
25690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25691 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25692 (grub_setup_SOURCES): Likewise.
25693 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25694 Likewise.
25695 * fs/ufs2.c: New file.
25696 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25697
d3539132 256982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25699
25700 Framebuffer split.
25701
25702 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25703 subsystem at the end.
25704 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25705 (video_fb_mod_SOURCES): New variable.
25706 (video_fb_mod_CFLAGS): Likewise.
25707 (video_fb_mod_LDFLAGS): Likewise.
25708 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25709 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25710 * video/i386/pc/vbeblit.c: Moved from here ...
25711 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25712 * video/i386/pc/vbefill.c: Moved from here ...
25713 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25714 * video/i386/pc/vbeutil.c: Moved from here ...
25715 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25716 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25717 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25718 * include/grub/i386/pc/vbefill.h: Moved from here ...
25719 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25720 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25721 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25722 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25723 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25724 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25725 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25726 (grub_video_adapter): Added 'get_info_and_fini'.
25727 (grub_video_get_info_and_fini): New prototype.
25728 (grub_video_set_mode): make modestring const char *.
25729 * loader/i386/linux.c (grub_linux_setup_video): Use
25730 grub_video_get_info_and_fini.
25731 (grub_linux_boot): Move modesetting just before booting.
25732 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25733 grub_video_get_info_and_fini.
25734 * video/i386/pc/vbe.c: Moved framebuffer part ...
25735 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25736 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25737 grub_video_fbstd_colors and grub_video_fb_set_palette.
25738 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25739 grub_video_fb_init.
25740 (grub_video_vbe_fini): Use grub_video_fb_fini.
25741 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25742 render_target and use grub_video_fb_set_active_render_target and
25743 grub_video_fb_set_palette.
25744 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25745 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25746 (grub_video_vbe_adapter): Use framebuffer.
25747 * video/video.c (grub_video_get_info_and_fini): New function.
25748 (grub_video_set_mode): Make modestring const char *.
25749 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25750 values are already initialised.
25751
d404ee56 257522009-08-14 Pavel Roskin <proski@gnu.org>
25753
25754 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25755 ABS and APPLE_CC.
25756 * boot/i386/pc/diskboot.S: Likewise.
25757 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25758 sectors allow compilation on MacOSX.
25759 * conf/i386-pc.rmk: Enable unconditional compilation of
25760 lnxboot.img.
25761
9a10df16 257622009-08-13 Colin Watson <cjwatson@ubuntu.com>
25763
25764 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25765 * util/grub.d/00_header.in: Enter interruptible sleep if
25766 GRUB_HIDDEN_TIMEOUT is set.
25767
be3c9ca7 257682009-08-13 Yves Blusseau <blusseau@zetam.org>
25769
25770 * include/grub/symbol.h: Add the LOCAL macro.
25771 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25772 starting with "L_".
25773
1f9e557e 257742009-08-13 Pavel Roskin <proski@gnu.org>
25775
9ca62843 25776 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25777 any modern compilers we support.
25778
1f9e557e 25779 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25780 Use local labels starting with "L_" so that Apple assembler
25781 knows they are local.
25782
81623db6 257832009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25784
25785 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25786 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25787 (bsd_kernel_types): ... this enum.
25788
25789 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25790 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25791 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25792
25793 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25794 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25795 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25796 messages.
25797
f5d35e7a 257982009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25799
25800 * util/grub-dumpdevtree: Moved from here ...
25801 * util/i386/efi/grub-dumpdevtree: ... to here.
25802 (hexify): New function. Converts a string to its hex version.
25803 Generate hex versions of "efi" and "device-properties" by calling
25804 hexify() on the ASCII strings rather than by hardcoding numbers.
25805
d1e1d527 258062009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25807
25808 * fs/jfs.c: Update copyright year.
25809
1ebbe064 258102009-08-08 Felix Zielcke <fzielcke@z-51.de>
25811
25812 * util/grub.d/00_header.in: Fix a comment.
25813 * util/grub.d/10_linux.in: Likewise.
25814 * util/grub.d/10_windows.in: Likewise.
25815 * util/grub.d/10_hurd.in: Likewise.
25816
a78c8d24 258172009-08-08 Felix Zielcke <fzielcke@z-51.de>
25818
25819 * util/grub-mkconfig.in: Allow the user to specify the used font
25820 with GRUB_FONT.
25821
29a6b9e8 258222009-08-08 Pavel Roskin <proski@gnu.org>
25823
b5f16cc4 25824 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25825 available, xfs.mod needs it now.
25826
2f5cb827 25827 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25828 the "g" modifier in sed when the intention is to strip something
25829 once. This fixes comparison of kernels with multiple dashes.
25830
29a6b9e8 25831 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25832 on it. Add missing space before closing bracket. Fix
25833 misleading formatting.
25834
892a3d98 258352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25836
25837 * docs/grub.texi: Major overhaul. Remove all sections that are
25838 specific to GRUB Legacy, or mostly composed of Legacy-specific
25839 information.
25840
ed94253f 258412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25842
25843 * docs/version.texi: New file. Provides version information for
25844 grub.texi.
25845
126d6628 258462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25847
25848 * docs/grub.texi: Update CVS information to SVN.
25849 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25850
998b5aa9 258512009-08-07 Felix Zielcke <fzielcke@z-51.de>
25852
25853 * util/grub-mkconfig.in: Remove a wrong `fi'.
25854
818e094a 258552009-08-07 Felix Zielcke <fzielcke@z-51.de>
25856
25857 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25858 (grub_jfs_uuid): New function.
25859 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25860
b969c52f 258612009-08-07 Felix Zielcke <fzielcke@z-51.de>
25862
25863 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25864 of it to ...
25865 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25866 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25867
7a4894cc 258682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25871 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25872 Update all users.
25873
25874 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25875 not just "vmlinu[zx]".
25876 Moved from here ...
25877 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25878 all users.
25879
25880 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25881 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25882 all users.
25883
4e2171f8 258842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25885
25886 * util/grub.d/10_freebsd.in: Use an absolute device path for
25887 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25888
6dcfcb32 258892009-08-06 Felix Zielcke <fzielcke@z-51.de>
25890
25891 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25892 handling of multiple abstraction modules.
25893
f56a8756 258942009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25895
25896 Fix a bug resulting in black screen when loading Linux using a
25897 packed video mode.
25898
25899 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25900 function.
25901
25902 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25903 (grub_vbe_bios_getset_dac_palette_width): New function.
25904 (grub_vbe_bios_get_dac_palette_width)
25905 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25906 grub_vbe_bios_getset_dac_palette_width()).
25907
25908 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25909 check for return status.
25910 (grub_vbe_get_video_mode_info): When getting information for a packed
25911 mode (<= 8 bpp), obtain DAC palette width using
25912 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25913 {red,green,blue}_mark_size.
25914
222671b2 259152009-08-04 Felix Zielcke <fzielcke@z-51.de>
25916
ecb1a6d9 25917 * commands/search.c (options): Fix help output to match actual code.
222671b2 25918
f84114f5 259192009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25920
25921 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25922 of homegrown code.
25923
bd288a20 259242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25925
25926 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25927 on XFS or ReiserFS.
25928
8aab5e25 259292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25930
25931 Support Apple partition map with sector size different from 512 bytes.
25932
25933 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25934 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25935 and 'apart.partmap_size'.
25936
6ad6258a 259372009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
259382009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25939
25940 Fix cpuid command.
25941
25942 * commands/i386/cpuid.c (options): New variable.
25943 (grub_cmd_cpuid): Return real error.
25944 (GRUB_MOD_INIT(cpuid)): Declare options.
25945
67459bc6 259462009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25949 valid.
25950
fbc6ab54 259512009-07-31 Bean <bean123ch@gmail.com>
25952
25953 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25954 log2_inode.
25955 (grub_fshelp_node): Move inode field to the end.
25956 (grub_xfs_data): Remove inode field.
25957 (grub_xfs_inode_block): Calculate inode size using sblock.
25958 (grub_xfs_inode_offset): Likewise.
25959 (grub_xfs_read_inode): Calculate inode size using sblock.
25960 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25961 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25962 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25963 to match inode size.
25964 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25965 not accessible when data is null.
25966 (grub_xfs_open): Likewise.
25967
f45d6cfc 259682009-07-31 Bean <bean123ch@gmail.com>
25969
25970 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25971 Don't change pv->disk if it's already set.
25972
25973 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25974 (grub_raid_register): ... here.
25975 (grub_raid_rescan): Removed.
25976
25977 * include/grub/raid.h (grub_raid_rescan): Removed.
25978
25979 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25980 (fstest): Replace grub_raid_rescan with module fini function followed
25981 by init function.
25982
25983 * util/grub-probe.c: Add include file <grub/raid.h>.
25984 (probe_raid_level): New function.
25985 (probe): Detect abstraction by walking the disk device, support two
25986 level of abstraction (LVM on RAID) when detecting partition map.
25987
24443b5a 259882009-07-31 Pavel Roskin <proski@gnu.org>
25989
25990 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25991 to grub_zalloc(), it was erroneous.
25992 Reported by Bean <bean123ch@gmail.com>
25993
a275d9e7 259942009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25995
25996 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25997 embedding zone, not only the first one.
a275d9e7 25998
56c5a47f 259992009-07-29 Joe Auricchio <jauricchio@gmail.com>
26000
26001 * term/gfxterm.c (clear_char): New function.
26002 (grub_virtual_screen_setup): Use clear_char.
26003 (scroll_up): Likewise.
26004 (grub_virtual_screen_cls): Likewise.
26005
67bb323a 260062009-07-29 Felix Zielcke <fzielcke@z-51.de>
26007
26008 * util/deviceiter.c (get_acceleraid_disk_name): New static
26009 function.
26010 (grub_util_iterate_devices): Handle Accelraid devices.
26011 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26012
388a7c75 260132009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26016 separator for the suggested gfxpayload string (';' collides with the
26017 parser and needs escaping).
26018
3bb7abcf 260192009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26020
26021 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26022 Clear direction flag before jumping to OS.
26023 (grub_multiboot2_real_boot): Likewise.
26024
2ddd36d7 260252009-07-28 Felix Zielcke <fzielcke@z-51.de>
26026
26027 * util/i386/pc/grub-install: Fix parsing of --disk-module
26028 option.
26029
c521b62b 260302009-07-28 Felix Zielcke <fzielcke@z-51.de>
26031
26032 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26033 when embedding.
26034
880e0a0c 260352009-07-26 Felix Zielcke <fzielcke@z-51.de>
26036
26037 * util/grub-mkconfig.in (package_version): New variable.
26038 Use it do display the version.
26039
2366e356 260402009-07-25 Felix Zielcke <fzielcke@z-51.de>
26041
26042 * kern/file.c (grub_file_open): Revert to previous check with
26043 grub_errno.
26044
7ad8c80e 260452009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26048 from help line. It's out of sync with code.
26049
72b9658b 260502009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26053 entries on failed boot.
26054
77435277 260552009-07-25 Felix Zielcke <fzielcke@z-51.de>
26056
26057 * kern/file.c (grub_file_open): Fix an error check.
26058
fcaa8b21 260592009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26060
35d16c74 26061 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26062 partition map couldn't be identified.
fcaa8b21 26063
48904cd1 260642009-07-23 Pavel Roskin <proski@gnu.org>
26065
ef3c317f 26066 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26067 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26068 case of little endian words becomes just an optimization.
26069 Respect const modifier.
ad8ea1f4 26070 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26071
48904cd1 26072 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26073 to avoid loss of upper bits if align is unsigned and shorter
26074 than addr.
26075
260c9a89 260762009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26077
26078 UUID support for UFS
26079
26080 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26081 (grub_ufs_uuid): New function.
26082 (grub_ufs_fs): add .uuid
26083
f76ce889 260842009-07-21 Pavel Roskin <proski@gnu.org>
26085
26086 * kern/dl.c (grub_dl_check_header): Make static.
26087
6a6cbcaf 260882009-07-21 Felix Zielcke <fzielcke@z-51.de>
26089
26090 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26091 add drivemap for Vista. It breaks Windows 7.
26092
cffcddb2 260932009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26094
26095 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26096 128 bytes
26097
1ef44b80 260982009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26099
26100 Add BFS support
26101
26102 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26103 (grub_fstest_SOURCES): Likewise.
26104 (pkglib_MODULES): Add befs.mod.
26105 (befs_mod_SOURCES): New variable.
26106 (befs_mod_CFLAGS): Likewise.
26107 (befs_mod_LDFLAGS): Likewise.
26108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26109 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26110 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26111 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26112 (grub_setup_SOURCES): Likewise.
26113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26114 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26115 (grub_setup_SOURCES): Likewise.
26116 * fs/befs.c: New file.
26117 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26118 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26119 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26120 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26121 (B_KEY_INDEX_ALIGN): New declaration.
26122 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26123 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26124 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26125 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26126 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26127 (grub_afs_mount) [MODE_BFS]: Likewise.
26128 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26129 (grub_afs_fs): Use GRUB_AFS_FSNAME
26130 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26131 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26132 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26133 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26134
4f253044 261352009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26136
26137 * util/getroot.c (find_root_device): Add support for MacOSX.
26138 * util/hostdisk.c: Likewise.
26139
57a55913 261402009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * font/font.c (find_glyph): Check whether a font is present to avoid
26143 segmentation fault.
75421ca9 26144
261452009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26146
26147 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26148
e98cd0c2 261492009-07-20 Pavel Roskin <proski@gnu.org>
26150
26151 * configure.ac: Trim excessively wordy excuses.
26152
1d2d169a 261532009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26154
26155 Add symlink, mtime and label support to AtheFS.
26156
26157 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26158 (grub_afs_iterate_dir): Handle symlinks.
26159 (grub_afs_open): Use grub_afs_read_symlink.
26160 (grub_afs_dir): Likewise.
26161 Pass mtime.
26162 (grub_afs_label): New function.
26163 (grub_afs_fs): Add grub_afs_label.
26164 (grub_afs_read_symlink): New function.
26165
186f3189 261662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26167
26168 Fix AtheFS support.
26169
26170 * fs/afs.c: Fix comments style.
26171 (grub_afs_blockrun): Declare as packed.
26172 (grub_afs_datastream): Likewise.
26173 (grub_afs_bnode): Likewise.
26174 (grub_afs_btree): Likewise.
26175 (grub_afs_sblock): Likewise.
26176 Declare `name' as char.
26177 (grub_afs_inode): Declare as packed.
26178 Change void *vnode to grub_uint32_t unused.
26179 (grub_afs_iterate_dir): Check that key_size is positive.
26180 (grub_afs_mount): Don't read superblock twice.
75421ca9 26181 (grub_afs_dir): Don't free node in case of error,
186f3189 26182 grub_fshelp_find_file already handles this.
26183 (grub_afs_open): Likewise.
26184
5680109e 261852009-07-19 Pavel Roskin <proski@gnu.org>
26186
26187 * Makefile.in: Remove LIBLZO and enable_lzo.
26188 * conf/i386-pc.rmk: Remove lzo support.
26189 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26190 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26191 support.
26192 * kern/i386/pc/lzo1x.S: Remove.
26193 * kern/i386/pc/startup.S: Remove lzo support.
26194 * util/i386/pc/grub-mkimage.c: Likewise.
26195
ac70fa32 261962009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26197
26198 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26199 * fs/xfs.c (grub_xfs_dir): Likewise.
26200 * fs/afs.c (grub_afs_dir): Likewise.
26201 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26202 (grub_iso9660_open): Likewise.
26203 * fs/jfs.c (grub_jfs_open): Likewise.
26204 * fs/ext2.c (grub_ext2_dir): Likewise.
26205 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26206 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26207
eab58da2 262082009-07-16 Pavel Roskin <proski@gnu.org>
26209
d2838156 26210 * configure.ac: Never add "-c" to CFLAGS.
26211
55c70904 26212 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26213
43e6200c 26214 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26215 grub_cv_cc_efiemu should be used.
26216
ce7a733d 26217 * configure.ac: Typo fixes.
26218
eab58da2 26219 * kern/mm.c (grub_zalloc): New function.
26220 (grub_debug_zalloc): Likewise.
26221 * include/grub/mm.h: Declare grub_zalloc() and
26222 grub_debug_zalloc().
26223 * util/misc.c (grub_zalloc): New function.
26224 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26225 instead of grub_malloc(), remove unneeded initializations.
26226 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26227 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26228 * commands/parttool.c (grub_cmd_parttool): Likewise.
26229 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26230 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26231 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26232 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26233 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26234 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26235 (grub_cmd_efiemu_pnvram): Likewise.
26236 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26237 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26238 (grub_iso9660_iterate_dir): Likewise.
26239 * fs/jfs.c (grub_jfs_opendir): Likewise.
26240 * fs/ntfs.c (list_file): Likewise.
26241 (grub_ntfs_mount): Likewise.
26242 * kern/disk.c (grub_disk_open): Likewise.
26243 * kern/dl.c (grub_dl_load_core): Likewise.
26244 * kern/elf.c (grub_elf_file): Likewise.
26245 * kern/env.c (grub_env_context_open): Likewise.
26246 (grub_env_set): Likewise.
26247 (grub_env_set_data_slot): Likewise.
26248 * kern/file.c (grub_file_open): Likewise.
26249 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26250 * loader/i386/multiboot.c (grub_module): Likewise.
26251 * loader/xnu.c (grub_xnu_create_key): Likewise.
26252 (grub_xnu_create_value): Likewise.
26253 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26254 (read_config_file): Likewise.
26255 * normal/menu_entry.c (make_screen): Likewise.
26256 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26257 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26258 * script/sh/script.c (grub_script_parse): Likewise.
26259 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26260 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26261 * video/readers/png.c (grub_png_output_byte): Likewise.
26262 (grub_video_reader_png): Likewise.
26263
830afef7 262642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26265
26266 Enable all targets that can be built by default
26267
830afef7 26268 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26269 grub-mkfont and grub-fstest if they can be built
26270
ee293aee 262712009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26272
26273 Fix hang and segmentation fault in grub-emu-usb
26274
26275 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26276 * util/usb.c (grub_libusb_devices): likewise
26277 (grub_libusb_init): rename to ...
26278 (GRUB_MOD_INIT (libusb)):...this
26279 (grub_libusb_fini): rename to ..
26280 (GRUB_MOD_FINI (libusb)):...this
26281 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26282 * include/grub/disk.h (grub_raid_init): removed, it's useless
26283 (grub_raid_fini): likewise
26284 (grub_lvm_init): likewise
26285 (grub_lvm_fini): likewise
26286 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26287 by grub_init_all
26288
94414221 262892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 Fix libusb
26292
26293 * Makefile.in (LIBUSB): new macro
26294 * genmk.rb (Utility/print_tail): new method
26295 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26296 (top level): call util.print_tail at the end.
26297
59ade63d 262982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26299
26300 Make FreeBSD accept zpool.cache
26301
26302 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26303 type is /boot/zfs/zpool.cache
26304
a58da8c7 263052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26306
26307 Fix 64-bit efiemu
26308
26309 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26310 correct wrong typedef
26311 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26312
20591577 263132009-07-15 Pavel Roskin <proski@gnu.org>
26314
560ca572 26315 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26316 * kern/disk.c (struct grub_disk_cache): Likewise.
26317
e8e8e4fd 26318 * commands/probe.c (options): Typo fix.
26319
fde24e10 26320 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26321 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26322 accordingly.
26323 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26324
379c54c1 26325 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26326 the end of "Error" to make the message more readable.
26327
7bd8f5bf 26328 * boot/i386/pc/boot.S (kernel_segment): Remove.
26329 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26330 for destination.
26331
40b132c5 26332 * boot/i386/pc/boot.S (boot_version): Remove.
26333 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26334 Remove.
26335
20591577 26336 * include/grub/i386/pc/boot.h: Sort all offsets.
26337 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26338 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26339 * boot/i386/pc/boot.S: Assert location of every offset listed in
26340 include/grub/i386/pc/boot.h.
26341
2df32b2c 263422009-07-13 Pavel Roskin <proski@gnu.org>
26343
44b5d879 26344 * include/grub/i386/coreboot/machine.h: Rename
26345 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26346 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26347 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26348
17dc3751 26349 * kern/dl.c: Force native word size to suppress warnings when
26350 compiling grub-emu.
26351
2df32b2c 26352 * kern/device.c (grub_device_iterate): Change struct part_ent to
26353 hold the name, not a pointer to it. Use one grub_malloc() per
26354 partition, not two. Free partition_name if grub_malloc() fails.
26355 Set ents to NULL only before grub_partition_iterate() is called.
26356
75c59f59 263572009-07-11 Bean <bean123ch@gmail.com>
26358
26359 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26360 childname.
26361
0ae1bf88 263622009-07-10 Bean <bean123ch@gmail.com>
263632009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26364
26365 * kern/ieee1275/openfw.c (grub_children_iterate)
26366 (grub_devalias_iterate): Fix size evaluation for property or path
26367 strings, which was broken since r2132.
26368
8279cade 263692009-07-07 Pavel Roskin <proski@gnu.org>
26370
7d8a52d3 26371 * commands/search.c (search_file): Merge into ...
26372 (search_fs): ... this. Accept search type as argument.
26373 (grub_cmd_search): Pass search type to search_fs().
26374
25f9a05a 26375 * include/grub/util/console.h: New file.
26376 * util/console.c: Use it instead of grub/machine/console.h.
26377 * util/grub-emu.c: Likewise.
26378
8279cade 26379 * lib/arg.c (find_long_option): Remove.
26380 (find_long): Add `len' argument, make `s' const char *.
26381 (grub_arg_parse): Parse long options in place, not in a
26382 temporary buffer.
26383
4a11b60f 263842009-07-06 Pavel Roskin <proski@gnu.org>
26385
99f68041 26386 * commands/search.c (search_fs): Fix potential NULL pointer
26387 dereference.
26388
4a11b60f 26389 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26390 function pointer.
26391
e110f4de 263922009-07-06 Daniel Mierswa <impulze@impulze.org>
26393
26394 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26395 comparison.
26396
46eeb6a2 263972009-07-05 Pavel Roskin <proski@gnu.org>
26398
bab74958 26399 * include/grub/i386/linux.h (struct linux_kernel_params):
26400 Restore padding3, it's still needed.
26401
46eeb6a2 26402 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26403 FreeBSD.
26404 * util/osdetect.lua: Likewise.
26405
b4a1dc79 264062009-07-05 Bean <bean123ch@gmail.com>
26407
26408 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26409
26410 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26411 (grub_lua_getenv): Likewise.
26412 (grub_lua_setenv): Likewise.
26413 (save_errno): New function.
26414 (push_result): Likewise.
26415 (grub_lua_enum_device): Likewise.
26416 (grub_lua_enum_file): Likewise.
26417 (grub_lua_file_open): Likewise.
26418 (grub_lua_file_close): Likewise.
26419 (grub_lua_file_seek): Likewise.
26420 (grub_lua_file_read): Likewise.
26421 (grub_lua_file_getline): Likewise.
26422 (grub_lua_file_getsize): Likewise.
26423 (grub_lua_file_getpos): Likewise.
26424 (grub_lua_file_eof): Likewise.
26425 (grub_lua_file_exist): Likewise.
26426 (grub_lua_add_menu): Likewise.
26427
26428 * script/lua/grub_lua.h (isupper): New inline function.
26429 (islower): Likewise.
26430 (ispunct): Likewise.
26431 (isxdigit): Likewise.
26432 (strcspn): Change to normal function.
26433 (strpbkr): New function declaration.
26434 (memchr): Likewise.
26435
26436 * script/lua/grub_main.c (scan_str): New function.
26437 (strcspn): Likewise.
26438 (strpbrk): Likewise.
26439 (memchr): Likewise.
26440
26441 * script/lua/linit.c (lualibs): Enable the string library.
26442
26443 * util/osdetect.lua: New file.
26444
2da92295 264452009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26448 `capabilities' member.
26449
b2582ec9 264502009-07-02 Pavel Roskin <proski@gnu.org>
26451
26452 * genparttoollist.sh: Add missing newline at the end.
26453
32622956 264542009-07-01 Pavel Roskin <proski@gnu.org>
26455
87a7339e 26456 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26457
d23af54e 26458 * util/hostdisk.c (open_device): Remove `const' from
26459 `sysctl_size', as sysctlbyname() can change it (in this case it
26460 doesn't actually happen).
26461
c94b18a9 26462 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26463 using signed long int constants.
26464
c6cd3ef0 26465 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26466 constant to avoid a warning on FreeBSD.
26467
0df63420 26468 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26469 where it's needed.
26470
999577f1 26471 * Makefile.in: Install include/grub/machine symlink.
26472
6f41557f 26473 * Makefile.in: When installing symlinks, use "cp -fR", which
26474 works on FreeBSD and MacOSX.
26475 From Yves Blusseau <cl7m42e02@sneakemail.com>
26476
c8d22988 26477 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26478 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26479
1b96e952 26480 * util/misc.c: Move grub_reboot() and grub_halt() ...
26481 * util/grub-emu.c: ... here. Make main_env static.
26482 * include/grub/util/misc.h: Remove main_env.
26483
2ef0084d 26484 * kern/mm.c: Use correct format to print size_t.
26485
32622956 26486 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26487 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26488 * kern/powerpc/dl.c: Likewise.
26489 * kern/sparc64/dl.c: Likewise.
26490 * kern/x86_64/dl.c: Likewise.
26491
3f7f0cd0 264922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26493
26494 Fix grub-emu build on sparc64-ieee1275.
26495
75421ca9 26496 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26498
211d06b5 264992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26500
26501 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26502 (grub_reboot, grub_halt): New functions.
26503
26504 * util/i386/pc/misc.c: Delete. Update all users.
26505 * util/sparc64/ieee1275/misc.c: Likewise.
26506 * util/powerpc/ieee1275/misc.c: Likewise.
26507
aaf53e3c 265082009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26509
26510 * conf/i386.rmk (setjmp_mod_SOURCES)
26511 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26512 * conf/common.rmk (setjmp_mod_SOURCES)
26513 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26514 to use $(target_cpu).
26515 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26516 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26517 * conf/powerpc-ieee1275.rmk: Likewise.
26518 * conf/sparc64-ieee1275.rmk: Likewise.
26519
26520 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26521 $(target_cpu) for kern/$(target_cpu)/dl.c.
26522 * conf/i386-efi.rmk: Likewise.
26523 * conf/i386-ieee1275.rmk: Likewise.
26524 * conf/x86_64-efi.rmk: Likewise.
26525 * conf/i386-coreboot.rmk: Likewise.
26526 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26527 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26528 kern/$(target_cpu)/cache.S.
26529 * conf/sparc64-ieee1275.rmk: Likewise.
26530
a337130b 265312009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26534 type to `grub_uint8_t', and adjust `padding9' accordingly.
26535
c6fe4d53 265362009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26537
b09db61d 26538 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26539
c6fe4d53 26540 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26541 assembly in final jump, using register constraints.
26542
b09db61d 26543 (grub_linux_boot): For text mode, initialize `have_vga' using
26544 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26545
26546 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26547 right before the final jump.
26548
26549 Set `video_mode' to 0x3.
26550
26551 Document initialization of `video_page', `video_mode' and
26552 `video_ega_bx'.
26553
28333ad0 265542009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26555
26556 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26557 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26558 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26559
02164e1b 265602009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26561
26562 Fix build on Debian / sparc.
26563
26564 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26565
18b6c557 265662009-06-28 Pavel Roskin <proski@gnu.org>
26567
85f2aab6 26568 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26569 fix a warning.
26570
18b6c557 26571 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26572
ad760f81 265732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26576 `err'.
26577
87a4623b 265782009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26579
26580 Revert r2338.
26581
26582 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26583 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26584 grub_errno / grub_errmsg appropriately.
87a4623b 26585 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26586
8231fb77 265872009-06-27 Pavel Roskin <proski@gnu.org>
265882009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * include/grub/dl.h: Include grub/elf.h.
26591 (struct grub_dl): Add symtab field.
26592 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26593 GRUB_MODULES_MACHINE_READONLY.
26594 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26595 of the header for read-only modules.
26596 (grub_dl_unload): Free mod->symtab for read-only modules.
26597 * kern/i386/dl.c: Use mod->symtab.
26598 * kern/powerpc/dl.c: Likewise.
26599 * kern/sparc64/dl.c: Likewise.
26600 * kern/x86_64/dl.c: Likewise.
26601
26602 * conf/i386-qemu.rmk: New file.
26603 * kern/i386/qemu/startup.S: Likewise.
26604 * kern/i386/qemu/mmap.c: Likewise.
26605 * boot/i386/qemu/boot.S: Likewise.
26606 * include/grub/i386/qemu/time.h: Likewise.
26607 * include/grub/i386/qemu/serial.h: Likewise.
26608 * include/grub/i386/qemu/kernel.h: Likewise.
26609 * include/grub/i386/qemu/console.h: Likewise.
26610 * include/grub/i386/qemu/boot.h: Likewise.
26611 * include/grub/i386/qemu/init.h: Likewise.
26612 * include/grub/i386/qemu/machine.h: Likewise.
26613 * include/grub/i386/qemu/loader.h: Likewise.
26614 * include/grub/i386/qemu/memory.h: Likewise.
26615
26616 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26617 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26618 [qemu] (pkglib_IMAGES): Add `boot.img'.
26619 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26620 [qemu] (boot_img_FORMAT): New variables.
26621 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26622 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26623 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26624 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26625 [qemu] (kernel_img_FORMAT): New variables.
26626
26627 * configure.ac: Recognise `i386-qemu'.
26628
26629 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26630 (for no compression).
26631 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26632 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26633 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26634 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26635 ifdefs).
26636
97fe384e 266372009-06-27 Pavel Roskin <proski@gnu.org>
26638
26639 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26640 read.
26641 * efiemu/prepare32.c: Likewise.
26642 * efiemu/prepare64.c: Likewise.
26643
c402ab17 266442009-06-26 Pavel Roskin <proski@gnu.org>
26645
26646 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26647 * include/grub/elf.h: Define symbols without "32" or "64" based
26648 on GRUB_TARGET_WORDSIZE.
26649 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26650 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26651 ELF definitions.
26652 * efiemu/loadcore64.c: Likewise.
26653 * loader/i386/bsd32.c: Likewise.
26654 * loader/i386/bsd64.c: Likewise.
26655 * kern/dl.c: Remove own ELF definitions.
26656 * util/i386/efi/grub-mkimage.c: Likewise.
26657
9bbdfd4d 266582009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26661 segment 0x0 unconditionally, because the reference generated by
26662 GAS is an absolute address.
26663
a42ce6e9 266642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26665
26666 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26667 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26668
c952cf92 266692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26670
26671 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26672 indexes. Check for -f explicitly.
cc3752ad 26673 (search_file): Improve error message.
26674 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26675
132a0a59 266762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26677
26678 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26679 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26680
387a140c 266812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26682
26683 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26684 * conf/i386-ieee1275.rmk: Likewise.
26685 * conf/i386-coreboot.rmk: Likewise.
26686
26687 * kern/i386/pc/startup.S (grub_stop): Remove function.
26688 * kern/i386/ieee1275/startup.S: Likewise.
26689 * kern/i386/coreboot/startup.S: Likewise.
26690 * kern/i386/misc.S (grub_stop): New function.
26691
41da9665 266922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26693
26694 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26695 * kern/i386/realmode.S (real_to_prot): ... to here.
26696
bf337234 266972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26698
26699 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26700 with `kernel.img'.
26701 (kernel_elf_SOURCES): Rename to ...
26702 (kernel_img_SOURCES): ... this.
26703 (kernel_elf_HEADERS): Rename to ...
26704 (kernel_img_HEADERS): ... this. Update all users.
26705 (kernel_elf_ASFLAGS): Rename to ...
26706 (kernel_img_ASFLAGS): ... this.
26707 (kernel_elf_CFLAGS): Rename to ...
26708 (kernel_img_CFLAGS): ... this.
26709 (kernel_elf_LDFLAGS): Rename to ...
26710 (kernel_img_LDFLAGS): ... this.
26711 * conf/i386-coreboot.rmk: Likewise.
26712 * conf/powerpc-ieee1275.rmk: Likewise.
26713
26714 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26715 with "kernel.img".
26716
f52196ff 267172009-06-21 Pavel Roskin <proski@gnu.org>
26718
c3cee413 26719 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26720 to match nested functions.
26721 * loader/sparc64/ieee1275/linux.c: Likewise.
26722
f52196ff 26723 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26724
58750afc 267252009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26728 all i386 platforms.
26729
15355c7d 267302009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 Fix asm file handling on ELF, and remove workarounds.
26733
26734 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26735 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26736 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26737 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26738
3f3ec72b 267392009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26740
26741 Load BSD ELF modules
26742
26743 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26744 and loader/i386/bsd64.c
26745 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26746 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26747 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26748 (grub_freebsd_load_elfmodule32): New declaration
26749 (grub_freebsd_load_elfmoduleobj64): Likewise
26750 (grub_freebsd_load_elf_meta32): Likewise
26751 (grub_freebsd_load_elf_meta64): Likewise
26752 (grub_freebsd_add_meta): Likewise
26753 (grub_freebsd_add_meta_module): Likewise
26754 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26755 (grub_freebsd_add_meta_module): Likewise and move module-specific
26756 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26757 (grub_cmd_freebsd): Add elf-kernel specific parts
26758 based on grub_freebsd_add_meta_module
26759 (grub_cmd_freebsd_module): Add type parsing moved from
26760 grub_freebsd_add_meta_module
26761 (grub_cmd_freebsd_module_elf): New function
26762 (cmd_freebsd_module_elf): New variable
26763 (GRUB_MOD_INIT): Register freebsd_module_elf
26764 * loader/i386/bsd32.c: New file
26765 * loader/i386/bsd64.c: Likewise
26766 * loader/i386/bsdXX.c: Likewise
26767 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26768 (grub_elf64_load): Likewise
26769 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26770 All users updated
26771 (grub_elf64_load_hook_t): Likewise
26772
0db15301 267732009-06-21 Colin Watson <cjwatson@ubuntu.com>
26774
26775 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26776 variable.
26777 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26778 don't write a menu entry for recovery mode.
26779
546796c1 267802009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26783 after it's no longer needed.
26784
cd7310d5 267852009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26786
26787 * include/grub/i386/loader.h (grub_linux_prot_size)
26788 (grub_linux_tmp_addr, grub_linux_real_addr)
26789 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26790 GRUB_MACHINE_PCBIOS.
26791 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26792 common grub_util_info() call to ...
26793 (generate_image): ... here.
26794 Fix use of uninitialized memory, comparison of signed with
26795 unsigned integers and memory leak.
26796 Remove bogus module address message.
26797
ab32d3b5 267982009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26801 grub_raid_register
26802 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26803
024ef597 268042009-06-19 Pavel Roskin <proski@gnu.org>
26805
26806 * configure.ac: Remove stray AC_MSG_CHECKING.
26807
3ac72b51 268082009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26809
26810 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26811
e14cd814 268122009-06-18 Pavel Roskin <proski@gnu.org>
26813
26814 * conf/common.rmk: Add fs_file.mod.
26815 * disk/fs_file.c: New file.
26816 * include/grub/disk.h (enum grub_disk_dev_id): Add
26817 GRUB_DISK_DEVICE_FILE_ID.
26818
26586d98 268192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26820
26821 Fix build with Apple's toolchain. Part 2
26822
26823 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26824 a fake start
26825
26de2bcd 268262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 Fix build with Apple's toolchain. Part 1
26829
26830 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26831 for long calls
26832 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26833 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26834 Apple's toolchain
26835
09b3490b 268362009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 Fix warnings
26839
26840 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26841 (decomp_block): initialize ch
26842 use grub_memcpy instead of memcpy
26843
c22a006a 268442009-06-17 Pavel Roskin <proski@gnu.org>
26845
d3638678 26846 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26847 version, use declarations needed to use vga_text as the startup
26848 console.
26849
c22a006a 26850 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26851 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26852 the kernel.
26853 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26854 and grub_at_keyboard_fini(), it's done on module load and
26855 unload.
26856
05b129e0 268572009-06-17 Felix Zielcke <fzielcke@z-51.de>
26858
26859 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26860 file can't be found.
26861 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26862
cf24ed9e 268632009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26864
26865 Fix newline handling
26866
26867 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26868 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26869 (grub_script_yylex): don't segfault on unterminated script
26870 newline terminates command and variable
26871
74aa8e4b 268722009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26873
26874 avoid double grub_adjust_range call. Bug reported by David Simner
26875
26876 * kern/disk.c (grub_disk_write): change to raw disk access before
26877 calling disk_read
26878
1bd265f3 268792009-06-17 Colin Watson <cjwatson@ubuntu.com>
26880
26881 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26882 spaces, for the benefit of help2man.
26883 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26884
a2d08c06 268852009-06-16 Pavel Roskin <proski@gnu.org>
26886
26887 * kern/i386/halt.c: Include grub/machine/init.h.
26888 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26889
b97bcb19 268902009-06-16 Felix Zielcke <fzielcke@z-51.de>
26891
26892 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26893 drivemap menuentry.
26894
0644f96c 268952009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26896
26897 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26898 `echo' command.
26899
3ef17a2e 269002009-06-16 Pavel Roskin <proski@gnu.org>
26901
26902 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26903 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26904 save %dx, we only need %dl and we never change it.
26905 * boot/i386/pc/cdboot.S: Don't set the root drive.
26906 * boot/i386/pc/pxeboot.S: Likewise.
26907 * include/grub/i386/pc/boot.h: Remove
26908 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26909 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26910 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26911 * kern/i386/pc/init.c (make_install_device): Remove references
26912 to grub_root_drive.
26913 * kern/i386/pc/startup.S: Likewise.
26914 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26915
693fe637 269162009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 xnu_uuid command
26919
26920 * commands/xnu_uuid.c: new file
26921 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26922 (xnu_uuid_mod_SOURCES): new variable
26923 (xnu_uuid_mod_CFLAGS): likewise
26924 (xnu_uuid_mod_LDFLAGS): likewise
26925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26926 * conf/i386-ieee1275.rmk: likewise
26927 * conf/i386-pc.rmk: likewise
26928 * conf/powerpc-ieee1275.rmk: likewise
26929 * conf/sparc64-ieee1275.rmk: likewise
26930 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26931
c9da87d0 269322009-06-16 Pavel Roskin <proski@gnu.org>
26933
26934 * configure.ac: Avoid '==' in test command, it's not portable.
26935
9c6f4596 269362009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26937
26938 Probe command
26939
26940 * commands/probe.c: new file
26941 * conf/common.rmk (pkglib_MODULES): add probe.mod
26942 (probe_mod_SOURCES): new variable
26943 (probe_mod_CFLAGS): likewise
26944 (probe_mod_LDFLAGS): likewise
26945 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26946 * conf/i386-ieee1275.rmk: likewise
26947 * conf/i386-pc.rmk: likewise
26948 * conf/powerpc-ieee1275.rmk: likewise
26949 * conf/sparc64-ieee1275.rmk: likewise
26950
70b7f9fd 269512009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 Fix handling of string like \"hello\" and "a
26954 b"
26955
26956 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26957 (grub_script_yylex): fix parsing of quoting, escaping and newline
26958
71c79a6b 269592009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26960
dd74360c 26961 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26962 handling
dd74360c 26963
0644f96c 269642009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26965
26966 * util/grub-mkconfig.in: Fix parsing of --output option.
26967
e40893c3 269682009-06-12 Pavel Roskin <proski@gnu.org>
26969
26970 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26971 genmk.rb don't need to be generated or installed.
26972
3a1acfe2 269732009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26974
26975 * commands/i386/pc/drivemap_int13h.S: add more comments
26976
3a4575d4 269772009-06-11 Pavel Roskin <proski@gnu.org>
26978
0658e928 26979 * Makefile.in (uninstall): Uninstall manuals.
26980
ca0388f0 26981 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26982 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26983 and update-grub_lib in two places.
26984 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26985
e3b27c39 26986 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26987 a compiler warning.
26988
3a4575d4 26989 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26990 `entry_lo' to fix variable shadowing.
26991
af1f4f55 269922009-06-11 Christian Franke <franke@computer.org>
26993
26994 * kern/misc.c (__enable_execute_stack): Add missing return type
26995 to prevent gcc warning.
26996
5225e649 269972009-06-11 Felix Zielcke <fzielcke@z-51.de>
26998
26999 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27000
7d83bd47 270012009-06-11 Pavel Roskin <proski@gnu.org>
27002
c1cb63ba 27003 * Makefile.in: Don't rely on any scripts being executable.
27004 Always use $(SHELL) to run shell scripts.
27005
7d83bd47 27006 * configure.ac: Always define ___main if using -nostdlib. This
27007 fixes tests on Cygwin.
27008
948f48e7 270092009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27010
27011 UDF fix
27012
7d83bd47 27013 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27014 is in bytes and not in blocks
7d83bd47 27015
8ada9bc1 270162009-06-11 Pavel Roskin <proski@gnu.org>
27017
27018 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27019 warning.
27020
25ad2323 270212009-06-11 Felix Zielcke <fzielcke@z-51.de>
27022
27023 * util/grub.d/30_os-prober.in: Fix a comment. Source
27024 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27025 to set the root device. Place drivemap command in the generated
27026 chain entry.
27027
e65acb0c 270282009-06-11 Pavel Roskin <proski@gnu.org>
27029
27030 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27031 have long been resolved.
27032
f285fe2d 270332009-06-11 Colin Watson <cjwatson@ubuntu.com>
27034
bd47b0b5 27035 * util/grub.d/10_linux.in: Capitalise "Linux".
27036
f285fe2d 27037 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27038
a0c62e4e 270392009-06-11 Pavel Roskin <proski@gnu.org>
27040
b6783cb2 27041 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27042 fix a gcc warning and ensure that the function won't ever exit.
27043
dde032e8 27044 * kern/i386/ieee1275/init.c: Add missing prototype for
27045 grub_stop_floppy().
27046
22cd079d 27047 * loader/ieee1275/multiboot2.c [__i386__]: Include
27048 grub/cpu/multiboot.h.
27049
a0c62e4e 27050 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27051 casts to short - they are not portable and cause warnings. Fix
27052 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27053
63963d17 270542009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27055
27056 Drivemap fixes
27057
27058 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27059 new function
27060 (grub_get_root_biosnumber_saved): new variable
27061 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27062 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27063 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27064 %dx after the call if necessary
27065 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27066 (boot_mod_SOURCES): remove
27067 (boot_mod_CFLAGS): remove
27068 (boot_mod_LDFLAGS): remove
27069 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27070 (boot_mod_SOURCES): new variable
27071 (boot_mod_CFLAGS): likewise
27072 (boot_mod_LDFLAGS): likewise
27073 * conf/i386-efi.rmk: likewise
27074 * conf/i386-ieee1275.rmk: likewise
27075 * conf/i386-pc.rmk: likewise
27076 * conf/powerpc-ieee1275.rmk: likewise
27077 * conf/sparc64-ieee1275.rmk: likewise
27078 * conf/x86_64-efi.rmk: likewise
27079 * include/grub/i386/pc/biosnum.h: new file
27080 * lib/i386/pc/biosnum.c: likewise
27081 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27082 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27083 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27084
33abf7ae 270852009-06-10 Pavel Roskin <proski@gnu.org>
27086
5ac35b35 27087 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27088 Use separate variables. Read only the file size at the end, but
27089 not the checksum that we don't use.
27090
5c5215d5 27091 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27092 Adjust all callers.
27093
27d5fef7 27094 * kern/ieee1275/openfw.c: Remove libc includes.
27095 * kern/ieee1275/cmain.c: Likewise.
27096 * include/grub/ieee1275/ieee1275.h: Likewise.
27097
33abf7ae 27098 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27099 compiler warnings.
27100
19d50c2b 271012009-06-10 Felix Zielcke <fzielcke@z-51.de>
27102
27103 * Makefile.in: Remove all trailing whitespace.
27104 * conf/i386-pc.rmk: Likewise.
27105 * conf/powerpc-ieee1275.rmk: Likewise.
27106 * conf/sparc64-ieee1275.rmk: Likewise.
27107 * docs/grub.texi: Likewise.
27108 * docs/texinfo.tex: Likewise.
27109 * disk/fs_uuid.c: Likewise.
27110 * disk/lvm.c: Likewise.
27111 * disk/scsi.c: Likewise.
27112 * disk/ata.c: Likewise.
27113 * disk/ieee1275/ofdisk.c: Likewise.
27114 * disk/i386/pc/biosdisk.c: Likewise.
27115 * disk/host.c: Likewise.
27116 * disk/raid.c: Likewise.
27117 * disk/efi/efidisk.c: Likewise.
27118 * disk/usbms.c: Likewise.
27119 * disk/memdisk.c: Likewise.
27120 * disk/loopback.c: Likewise.
27121 * kern/powerpc/dl.c: Likewise.
27122 * kern/device.c: Likewise.
27123 * kern/dl.c: Likewise.
27124 * kern/sparc64/dl.c: Likewise.
27125 * kern/ieee1275/ieee1275.c: Likewise.
27126 * kern/term.c: Likewise.
27127 * kern/fs.c: Likewise.
27128 * kern/i386/dl.c: Likewise.
27129 * kern/i386/pc/startup.S: Likewise.
27130 * kern/i386/pc/init.c: Likewise.
27131 * kern/i386/pc/mmap.c: Likewise.
27132 * kern/i386/pc/lzo1x.S: Likewise.
27133 * kern/i386/ieee1275/init.c: Likewise.
27134 * kern/i386/realmode.S: Likewise.
27135 * kern/i386/tsc.c: Likewise.
27136 * kern/partition.c: Likewise.
27137 * kern/corecmd.c: Likewise.
27138 * kern/file.c: Likewise.
27139 * kern/efi/efi.c: Likewise.
27140 * kern/efi/init.c: Likewise.
27141 * kern/efi/mm.c: Likewise.
27142 * kern/main.c: Likewise.
27143 * kern/err.c: Likewise.
27144 * kern/env.c: Likewise.
27145 * kern/disk.c: Likewise.
27146 * kern/generic/millisleep.c: Likewise.
27147 * kern/generic/rtc_get_time_ms.c: Likewise.
27148 * kern/misc.c: Likewise.
27149 * kern/parser.c: Likewise.
27150 * genmk.rb: Likewise.
27151 * configure.ac: Likewise.
27152 * boot/i386/pc/diskboot.S: Likewise.
27153 * boot/i386/pc/pxeboot.S: Likewise.
27154 * boot/i386/pc/boot.S: Likewise.
27155 * boot/i386/pc/lnxboot.S: Likewise.
27156 * boot/i386/pc/cdboot.S: Likewise.
27157 * parttool/pcpart.c: Likewise.
27158 * video/readers/tga.c: Likewise.
27159 * video/video.c: Likewise.
27160 * video/bitmap.c: Likewise.
27161 * lib/envblk.c: Likewise.
27162 * lib/i386/setjmp.S: Likewise.
27163 * fs/xfs.c: Likewise.
27164 * fs/afs.c: Likewise.
27165 * fs/fat.c: Likewise.
27166 * fs/ntfs.c: Likewise.
27167 * fs/udf.c: Likewise.
27168 * fs/affs.c: Likewise.
27169 * fs/iso9660.c: Likewise.
27170 * fs/hfs.c: Likewise.
27171 * fs/fshelp.c: Likewise.
27172 * fs/ext2.c: Likewise.
27173 * fs/jfs.c: Likewise.
27174 * fs/reiserfs.c: Likewise.
27175 * fs/hfsplus.c: Likewise.
27176 * fs/minix.c: Likewise.
27177 * fs/cpio.c: Likewise.
27178 * fs/sfs.c: Likewise.
27179 * fs/ufs.c: Likewise.
27180 * efiemu/prepare.c: Likewise.
27181 * efiemu/loadcore_common.c: Likewise.
27182 * efiemu/runtime/efiemu.sh: Likewise.
27183 * efiemu/runtime/efiemu.S: Likewise.
27184 * efiemu/runtime/efiemu.c: Likewise.
27185 * efiemu/pnvram.c: Likewise.
27186 * efiemu/main.c: Likewise.
27187 * efiemu/i386/pc/cfgtables.c: Likewise.
27188 * efiemu/i386/loadcore64.c: Likewise.
27189 * efiemu/i386/loadcore32.c: Likewise.
27190 * efiemu/loadcore.c: Likewise.
27191 * efiemu/symbols.c: Likewise.
27192 * efiemu/mm.c: Likewise.
27193 * include/grub/autoefi.h: Likewise.
27194 * include/grub/datetime.h: Likewise.
27195 * include/grub/term.h: Likewise.
27196 * include/grub/hfs.h: Likewise.
27197 * include/grub/lvm.h: Likewise.
27198 * include/grub/i386/tsc.h: Likewise.
27199 * include/grub/i386/linux.h: Likewise.
27200 * include/grub/i386/xnu.h: Likewise.
27201 * include/grub/i386/efiemu.h: Likewise.
27202 * include/grub/i386/pc/biosdisk.h: Likewise.
27203 * include/grub/i386/pc/memory.h: Likewise.
27204 * include/grub/i386/pc/vbe.h: Likewise.
27205 * include/grub/parttool.h: Likewise.
27206 * include/grub/video.h: Likewise.
27207 * include/grub/memory.h: Likewise.
27208 * include/grub/fs.h: Likewise.
27209 * include/grub/partition.h: Likewise.
27210 * include/grub/xnu.h: Likewise.
27211 * include/grub/efi/api.h: Likewise.
27212 * include/grub/efi/pe32.h: Likewise.
27213 * include/grub/efi/memory.h: Likewise.
27214 * include/grub/multiboot.h: Likewise.
27215 * include/grub/usbdesc.h: Likewise.
27216 * include/grub/multiboot2.h: Likewise.
27217 * include/grub/acpi.h: Likewise.
27218 * include/grub/efiemu/efiemu.h: Likewise.
27219 * include/grub/disk.h: Likewise.
27220 * include/grub/ieee1275/ieee1275.h: Likewise.
27221 * include/grub/net.h: Likewise.
27222 * include/grub/machoload.h: Likewise.
27223 * include/grub/macho.h: Likewise.
27224 * include/multiboot.h: Likewise.
27225 * genmoddep.awk: Likewise.
27226 * normal/main.c: Likewise.
27227 * normal/menu_entry.c: Likewise.
27228 * normal/menu_viewer.c: Likewise.
27229 * normal/completion.c: Likewise.
27230 * normal/cmdline.c: Likewise.
27231 * normal/misc.c: Likewise.
27232 * normal/datetime.c: Likewise.
27233 * bus/usb/usbtrans.c: Likewise.
27234 * bus/usb/ohci.c: Likewise.
27235 * bus/usb/uhci.c: Likewise.
27236 * bus/usb/usb.c: Likewise.
27237 * mmap/efi/mmap.c: Likewise.
27238 * mmap/i386/pc/mmap_helper.S: Likewise.
27239 * mmap/i386/pc/mmap.c: Likewise.
27240 * mmap/i386/mmap.c: Likewise.
27241 * mmap/i386/uppermem.c: Likewise.
27242 * mmap/mmap.c: Likewise.
27243 * commands/acpi.c: Likewise.
27244 * commands/echo.c: Likewise.
27245 * commands/blocklist.c: Likewise.
27246 * commands/loadenv.c: Likewise.
27247 * commands/usbtest.c: Likewise.
27248 * commands/boot.c: Likewise.
27249 * commands/parttool.c: Likewise.
27250 * commands/search.c: Likewise.
27251 * commands/cat.c: Likewise.
27252 * commands/i386/pc/play.c: Likewise.
27253 * commands/i386/pc/drivemap.c: Likewise.
27254 * commands/i386/pc/vbeinfo.c: Likewise.
27255 * commands/i386/pc/acpi.c: Likewise.
27256 * commands/i386/pc/vbetest.c: Likewise.
27257 * commands/ls.c: Likewise.
27258 * commands/cmp.c: Likewise.
27259 * commands/test.c: Likewise.
27260 * commands/efi/acpi.c: Likewise.
27261 * commands/gptsync.c: Likewise.
27262 * commands/help.c: Likewise.
27263 * partmap/amiga.c: Likewise.
27264 * partmap/apple.c: Likewise.
27265 * partmap/acorn.c: Likewise.
27266 * partmap/pc.c: Likewise.
27267 * partmap/sun.c: Likewise.
27268 * partmap/gpt.c: Likewise.
27269 * script/sh/lexer.c: Likewise.
27270 * script/sh/function.c: Likewise.
27271 * font/font.c: Likewise.
27272 * font/font_cmd.c: Likewise.
27273 * loader/powerpc/ieee1275/linux.c: Likewise.
27274 * loader/efi/chainloader.c: Likewise.
27275 * loader/multiboot_loader.c: Likewise.
27276 * loader/macho.c: Likewise.
27277 * loader/i386/multiboot.c: Likewise.
27278 * loader/i386/linux.c: Likewise.
27279 * loader/i386/pc/linux.c: Likewise.
27280 * loader/i386/pc/multiboot2.c: Likewise.
27281 * loader/i386/pc/chainloader.c: Likewise.
27282 * loader/i386/pc/xnu.c: Likewise.
27283 * loader/i386/bsd_trampoline.S: Likewise.
27284 * loader/i386/efi/linux.c: Likewise.
27285 * loader/i386/multiboot_elfxx.c: Likewise.
27286 * loader/i386/bsd_helper.S: Likewise.
27287 * loader/i386/bsd.c: Likewise.
27288 * loader/i386/linux_trampoline.S: Likewise.
27289 * loader/i386/xnu_helper.S: Likewise.
27290 * loader/i386/xnu.c: Likewise.
27291 * loader/i386/bsd_pagetable.c: Likewise.
27292 * loader/i386/multiboot_helper.S: Likewise.
27293 * loader/xnu.c: Likewise.
27294 * loader/xnu_resume.c: Likewise.
27295 * io/gzio.c: Likewise.
27296 * term/efi/console.c: Likewise.
27297 * term/terminfo.c: Likewise.
27298 * term/ieee1275/ofconsole.c: Likewise.
27299 * term/i386/pc/serial.c: Likewise.
27300 * term/i386/pc/vesafb.c: Likewise.
27301 * term/i386/pc/vga.c: Likewise.
27302 * term/usb_keyboard.c: Likewise.
27303 * term/gfxterm.c: Likewise.
27304 * aclocal.m4: Likewise.
27305 * util/lvm.c: Likewise.
27306 * util/grub.d/30_os-prober.in: Likewise.
27307 * util/grub.d/10_hurd.in: Likewise.
27308 * util/console.c: Likewise.
27309 * util/grub-macho2img.c: Likewise.
27310 * util/grub-probe.c: Likewise.
27311 * util/hostfs.c: Likewise.
27312 * util/i386/pc/grub-mkimage.c: Likewise.
27313 * util/i386/pc/grub-setup.c: Likewise.
27314 * util/i386/efi/grub-mkimage.c: Likewise.
27315 * util/grub-mkconfig.in: Likewise.
27316 * util/raid.c: Likewise.
27317 * util/resolve.c: Likewise.
27318 * util/grub-mkdevicemap.c: Likewise.
27319 * util/grub-emu.c: Likewise.
27320 * util/getroot.c: Likewise.
27321 * util/hostdisk.c: Likewise.
27322 * util/usb.c: Likewise.
27323 * util/grub-editenv.c: Likewise.
27324 * util/misc.c: Likewise.
27325
d2d49665 273262009-06-10 Felix Zielcke <fzielcke@z-51.de>
27327
27328 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27329 `genparttoollist.sh'.
27330 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27331 Add `*.sh' to the list find searches for and change `mdate.sh'
27332 to `mdate-sh'.
27333
fe052e37 273342009-06-10 Pavel Roskin <proski@gnu.org>
27335
2763ac18 27336 * include/grub/multiboot2.h: Provide compatibility defines for
27337 multiboot2.h.
27338 * include/multiboot2.h: Include stdint.h only if needed, using
27339 angle brackets.
27340 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27341 grub/multiboot2.h.
27342 * loader/ieee1275/multiboot2.c: Likewise.
27343 * loader/multiboot2.c: Likewise.
27344 * loader/multiboot_loader.c: Likewise.
27345
437e6adc 27346 * configure.ac: Use -nostdlib when probing for the target. It
27347 should not be required to have libc for the target.
27348
06a6836c 27349 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27350 they fail without libc headers for the target.
27351 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27352 exports.
27353 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27354 preprocessor conditionals.
27355
fe052e37 27356 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27357 build system doesn't need to be aware of the tar.c internals.
27358
afd22553 273592009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27360
afd22553 27361 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27362
6b787c4f 273632009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27364
27365 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27366 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27367
273682009-06-09 Felix Zielcke <fzielcke@z-51.de>
27369
27370 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27371 aren't available if ata.mod gets used.
6b787c4f 27372
473d1e45 273732009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27374
473d1e45 27375 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27376 initialising controller.
473d1e45 27377 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27378
255a27d4 273792009-06-08 Felix Zielcke <fzielcke@z-51.de>
27380
27381 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27382 to choose between ata and biosdisk module on i386-pc.
27383
473d1e45 273842009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27385
d55842d8 27386 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27387 Subclass and Programming Interface fields in terms of the 3 byte
27388 Class Code register.
27389 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27390
fa5db0b1 27391 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27392 interface is OHCI. Add grub_dprintf for symmetry with
27393 bus/usb/uhci.c.
27394 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27395 interface is UHCI. Add interf variable for programming
27396 interface. Print interface with class/subclass.
27397
c0947beb 27398 * bus/usb/ohci.c: Set interf with correct field.
27399
69da8877 27400 * bus/usb/uhci.c: Remove unneeded doubled lines.
27401 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27402 Remove whitespace inside comment.
27403
9e172e30 274042009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27405
27406 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27407 as fallback an equivalent option without depth.
27408
de65ee2b 274092009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27410
27411 Not fail if unable to retrieve C/H/S on LBA disks
27412
473d1e45 27413 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27414 if unable to retrieve C/H/S on LBA disks
27415
b57ea2c9 274162009-06-08 Pavel Roskin <proski@gnu.org>
27417
27418 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27419 about aliasing.
27420
af361263 274212009-06-08 Felix Zielcke <fzielcke@z-51.de>
27422
27423 * Makefile.in (uninstall): Remove all $lib_DATA files.
27424
4c9ec6b3 274252009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27426
27427 Bugfix: install on partitionless device
27428
27429 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27430 is a whole disk
27431
e76fc924 274322009-06-08 Felix Zielcke <fzielcke@z-51.de>
27433
27434 * Makefile.in (uninstall): Remove all $include_DATA files.
27435
ba5a0d05 274362009-06-08 Felix Zielcke <fzielcke@z-51.de>
27437
27438 * commands/true.c: New file. Implement the true and false commands.
27439 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27440 (true_mod_SOURCES): New variable.
27441 (true_mod_CFLAGS): Likewise.
27442 (true_mod_LDFLAGS): Likewise.
27443
c8048e32 274442009-06-05 Colin D Bennett <colin@gibibit.com>
27445
27446 Optimized font character lookup using binary search instead of linear
27447 search. Fonts now are required to have the character index ordered by
27448 code point.
27449
27450 * font/font.c (load_font_index): Verify that fonts have ordered
27451 character indices.
27452 (find_glyph): Use binary search instead of linear search to find a
27453 character in a font.
27454
408305be 274552009-06-05 Michael Scherer <misc@mandriva.org>
27456
27457 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27458 uses case sensitive btree.
27459 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27460 only for case insensitive filesystems.
27461
8ee1e0d9 274622009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27463
27464 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27465 * conf/common.rmk (search_mod_CFLAGS): likewise
27466
a9966eb1 274672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27468
473d1e45 27469 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27470 compensate a compiler bug
27471
9e7100fb 274722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27473
473d1e45 27474 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27475 instead of '\b'
473d1e45 27476
ede21d71 274772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 Definitions for creating asm symbols with Apple's CC
27480
27481 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27482 [APPLE_CC] (VARIABLE): likewise
27483
9dbf7653 274842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27485
27486 Disable lnxboot.img when compiled
27487 with Apple's CC
27488
27489 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27490 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27491 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27492 [! APPLE_CC] (CODE_LENG): skip
27493 [! APPLE_CC] (setup_sects): likewise
27494 [! APPLE_CC]: skip filling
473d1e45 27495
e93cdc3d 274962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27497
27498 Address in trampolines based on 32-bit registers when compiled
27499 with Apple's CC
27500
473d1e45 27501 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27502 for addresses
27503 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27504
6c688477 275052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27506
27507 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27508
27509 * kern/misc.c [APPLE_CC] (memcpy): new function
27510 [APPLE_CC] (memmove): likewise
27511 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27512 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27513 (memset): likewise
27514 (abort): likewise
27515 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27516 APPLE_CC are defined
27517 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27518 (grub_assert_fail): make prototype conditional
27519
e37ffc5c 275202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27521
27522 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27523
473d1e45 27524 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27525 grub-macho2img
e37ffc5c 27526 (CLEANFILES): add grub-macho2img
27527 (grub_macho2img_SOURCES): new variable
27528 * kern/i386/pc/startup.S (bss_start): new variable
27529 (bss_end): likewise
27530 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27531 * util/grub-macho2img.c: new file
27532
cf00df31 275332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27534
27535 Use objconv when compiling with Apple's CC
27536
27537 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27538 (efiemu64.o): likewise
27539 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27540 when compiling with Apple's CC
27541 (efiemu64_s.o): likewise
27542 * configure.ac: check for objconv when compiling with Apple's CC
27543 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27544
d119a20c 275452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27546
27547 Define segment as well as section when compiling with
27548 Apple's CC
27549
27550 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27551 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27552 (efiemu_convert_pointer): likewise
27553 (efiemu_set_virtual_address_map): likewise
27554 (efiemu_convert_pointer): likewise
27555 (efiemu_getcrc32): likewise
27556 (init_crc32_table): likewise
27557 (reflect): likewise
27558 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27559 (GRUB_MOD_DEP): likewise
473d1e45 27560
c8600122 275612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27562
27563 Allow a compilation without -mcmodel=large
27564
27565 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27566 when compiled without -mcmodel=large
473d1e45 27567 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27568 without -mcmodel=large
473d1e45 27569 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27570 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27571
e8df1d4e 275722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 Remove nested functions in efiemu core
27575
27576 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27577
cc6c3ac1 275782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27579
27580 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27581
27582 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27583 temporary storage
473d1e45 27584 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27585 using Apple's CC
cc6c3ac1 27586 (grub_cpu_is_tsc_supported): likewise
27587 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27588
3e325901 275892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27590
27591 Absolute addressing through constant with Apple's cc
27592
27593 * kern/i386/pc/startup.S: Define necessary constants
27594 and address through it when using ABS with Apple's CC
27595 * boot/i386/pc/diskboot.S: likewise
27596 * boot/i386/pc/boot.S: likewise
27597 * boot/i386/pc/lnxboot.S: likewise
27598 * boot/i386/pc/cdboot.S: likewise
27599 * mmap/i386/pc/mmap_helper.S: likewise
27600 * commands/i386/pc/drivemap_int13h.S: likewise
27601
2b167a72 276022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27603
27604 Check if compiler is apple cc
27605
27606 * Makefile.in (ASFLAGS): new variable
27607 (TARGET_ASFLAGS): likewise
27608 (TARGET_MODULE_FORMAT): likewise
27609 (TARGET_APPLE_CC): likewise
27610 (OBJCONV): likewise
27611 (TARGET_IMG_CFLAGS): likewise
27612 (TARGET_CPPFLAGS): add includedir
27613 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27614 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27615 Check for linker script only if compiler isn't Apple's CC
27616 (TARGET_MODULE_FORMAT): set
27617 (TARGET_APPLE_CC): likewise
27618 (TARGET_ASFLAGS): likewise
27619 (ASFLAGS): likewise
27620 Check for objcopy only if compiler isn't Apple's CC
27621 Check for BSS symbol only if compiler isn't Apple's CC
27622 * genmk.rb: adapt nm options if we use Apple's utils
27623 * aclocal.m4 (grub_apple_cc): new test
27624 (grub_apple_target_cc): likewise
473d1e45 27625
fb14123e 276262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 Simplify sed expressions and improve awk
27629
27630 * Makefile.in (install-local): simplify sed expression
27631 * gencmdlist.sh: likewise
27632 * genmoddep.awk: avoid adding module as a dependency of itself
27633
5b889789 276342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 Add missing start symbols
27637
27638 * boot/i386/pc/boot.S: add start
fb14123e 27639 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27640
fd2bf2e3 276412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27644
27645 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27646 (relocate_addresses): consider both r_addend and value at offset
27647 (make_mods_section): zerofill modinfo and header
27648 (convert_elf): write prefix here
473d1e45 27649
5389763d 276502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 Use .asciz instead of .string
27653
27654 * i386/pc/diskboot.S: use .asciz instead of .string
27655 * i386/pc/boot.S: likewise
27656 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27657 (GRUB_MOD_NAME): likewise
473d1e45 27658
3eb5ed4e 276592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27660
27661 gfxpayload support
27662
27663 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27664 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27665 (grub_video_setup): remove
27666 (grub_video_set_mode): new prototype
27667 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27668 (vid_mode): remove
27669 (linux_vesafb_res): compile only on PCBIOS
27670 (grub_linux_boot): support gfxpayload
27671 * loader/i386/pc/xnu.c (video_hook): new function
27672 (grub_xnu_set_video): support gfxpayload
27673 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27674 (DEFAULT_VIDEO_HEIGHT): likewise
27675 (DEFAULT_VIDEO_FLAGS): likewise
27676 (DEFAULT_VIDEO_MODE): new definition
27677 (video_hook): new function
27678 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27679 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27680 loading xnu
27681 * video/video.c (grub_video_setup): removed
473d1e45 27682 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27683 grub_video_setup
27684
4b0e1143 276852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 Avoid calling biosdisk in drivemap
27688
27689 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27690 (revparse_biosdisk): likewise
27691 (list_mappings): derive name from id directly
27692 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27693
fda6cb98 276942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27695
27696 Script fixes
27697
27698 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27699 (grub_lexer_param): add tokenonhold
27700 (grub_script_create_cmdline): remove cmdline. All callers updated
27701 (grub_script_function_create): make functionname
27702 grub_script_arg. All callers updated
27703 (grub_script_execute_argument_to_string): new prototype
27704 * kern/parser.c (state_transitions): reorder
27705 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27706 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27707 make global
27708 (grub_script_execute_cmdline): use new format
27709 * script/sh/function.c (grub_script_function_create): make functionname
27710 grub_script_arg. All callers updated
473d1e45 27711 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27712 (grub_script_yylex): remove
27713 (grub_script_yylex2): renamed to ...
27714 (grub_script_yylex): ...renamed
27715 parse the expressions like a${b}c
27716 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27717 (GRUB_PARSER_TOKEN_VAR): remove
27718 (GRUB_PARSER_TOKEN_NAME): likewise
27719 ("if"): declare as typeless
27720 ("while"): likewise
27721 ("function"): likewise
27722 ("else"): likewise
27723 ("then"): likewise
27724 ("fi"): likewise
27725 (text): remove
27726 (argument): likewise
27727 (script): accept empty scripts and make exit on error
27728 (arguments): use GRUB_PARSER_TOKEN_ARG
27729 (function): likewise
27730 (command): move error handling to script
27731 (menuentry): move grub_script_lexer_ref before
473d1e45 27732 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27733 argument. All callers updated
27734
f4448a07 277352009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27736
27737 Prevent GRUB from probing floppies during boot.
27738
27739 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27740 * commands/search.c (options): Add --no-floppy.
27741 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27742 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27743 --no-floppy when searching for UUIDs.
27744
2bf5885a 277452009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27746
27747 Simplify the code duplication in commands/search.c.
27748
27749 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27750 (search_fs): ... this. Update all users.
27751
f6fd460a 277522009-06-03 Felix Zielcke <fzielcke@z-51.de>
27753
27754 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27755
cbb3c83e 277562009-05-28 Pavel Roskin <proski@gnu.org>
27757
57788cfd 27758 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27759 Remove the original symlink explicitly.
27760
cbb3c83e 27761 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27762 just one slash. That's how grub_fshelp_find_file() does it.
27763
cd0d5e30 277642009-05-26 Pavel Roskin <proski@gnu.org>
27765
f0f8bbe2 27766 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27767 to `str'.
27768
cd0d5e30 27769 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27770 possibly unused.
27771
8c2cab51 277722009-05-25 Christian Franke <franke@computer.org>
27773
27774 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27775 register.
27776 (grub_atapi_identify): Add wait after drive select.
27777 (grub_ata_identify): Do more strict status register check before
27778 calling grub_atapi_identify (). Suppress error message if status
27779 register is 0x00 after command failure. Add status register
27780 check after PIO read to avoid bogus identify due to stuck DRQ.
27781 Thanks to Pavel Roskin for testing.
27782 (grub_device_initialize): Remove unsafe status register check.
27783 Thanks to 'phcoder' for problem report and patch.
27784 Prevent sign extension in debug message.
27785
230c0ad6 277862009-05-23 Colin D Bennett <colin@gibibit.com>
27787
27788 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27789 definition file, and functions defined in `normal/menu.c' have had
27790 their prototypes moved to `include/grub/menu.h' for consistency.
27791
27792 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27793 from normal.h.
27794 (grub_menu_get_entry): Likewise.
27795 (grub_menu_get_timeout): Likewise.
27796 (grub_menu_set_timeout): Likewise.
27797 (grub_menu_execute_entry): Likewise.
27798 (grub_menu_execute_with_fallback): Likewise.
27799 (grub_menu_entry_run): Likewise.
27800
27801 * include/grub/normal.h: Re-ordered and grouped function
27802 prototypes by file that the function is defined in.
27803 (grub_menu_execute_callback): Removed; moved to menu.h.
27804 (grub_menu_get_entry): Likewise.
27805 (grub_menu_get_timeout): Likewise.
27806 (grub_menu_set_timeout): Likewise.
27807 (grub_menu_execute_entry): Likewise.
27808 (grub_menu_execute_with_fallback): Likewise.
27809 (grub_menu_entry_run): Likewise.
27810 (grub_menu_addentry): Renamed from this ...
27811 (grub_normal_add_menu_entry): ... to this.
27812
27813 * normal/main.c (grub_menu_addentry): Renamed from this ...
27814 (grub_normal_add_menu_entry): ... to this.
27815
27816 * script/sh/execute.c (grub_script_execute_menuentry): Update
27817 reference to renamed grub_menu_addentry function.
27818
861f03a5 278192009-05-23 Felix Zielcke <fzielcke@z-51.de>
27820
27821 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27822
96b1619a 278232009-05-22 Pavel Roskin <proski@gnu.org>
27824
bf6a5fb2 27825 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27826 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27827 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27828 compiling for the i386 targets, but not for the utilities.
27829
96b1619a 27830 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27831 to grub_uint8_t.
27832 (grub_root_drive): Likewise.
27833 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27834 remove alignment.
27835 (grub_root_drive): Change size to byte.
27836 (grub_start_addr): Remove.
27837 (grub_end_addr): Likewise.
27838 (grub_apm_bios_info): Likewise.
27839
b729776b 278402009-05-21 Felix Zielcke <fzielcke@z-51.de>
27841
27842 * normal/i386: Remove.
27843 * normal/powerpc: Likewise.
27844 * normal/sparc64: Likewise.
27845 * normal/x86_64: Likewise.
27846
0a15ce80 278472009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27848
27849 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27850 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27851 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27852
33db9015 278532009-05-18 Colin D Bennett <colin@gibibit.com>
27854
d6da58e6 27855 Display error messages when parsing a Lua statement fails.
27856 Previously, executing a syntactically invalid statement like
27857 ")foo" or "bar;" would silently fail.
33db9015 27858
27859 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27860 (grub_lua_parse_line): Improved reporting of Lua parser and
27861 execution errors.
33db9015 27862
46422c89 278632009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27864
27865 Remove -Werror which causes build to fail on some systems
27866
27867 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27868 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27869 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27870
22f53a96 278712009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27872
27873 trampoline for linux on 64-bit platform
27874
18f547ad 27875 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27876 loader/i386/efi/linux_trampoline.S
27877 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27878 declaration
d6da58e6 27879 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27880 here
22f53a96 27881 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27882 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27883 trampoline
22f53a96 27884 (jumpvector): removed
27885 (grub_linux_trampoline_start): new declaration
27886 (grub_linux_trampoline_end): likewise
27887 (grub_linux_boot): use trampoline when on 64-bit platform
27888 * loader/i386/linux.c: likewise
27889
cb5a0f40 278902009-05-16 Pavel Roskin <proski@gnu.org>
27891
27892 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27893 const to avoid a warning.
27894 (grub_lua_setenv): Likewise.
27895 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27896 lmsg to fix a warning.
27897
334f2c28 278982009-05-16 Felix Zielcke <fzielcke@z-51.de>
27899
27900 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27901 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27902 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27903 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27904 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27905 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27906 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27907 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27908
59e5d3ec 279092009-05-16 Felix Zielcke <fzielcke@z-51.de>
27910
27911 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27912
9d87a1ba 279132009-05-16 Bean <bean123ch@gmail.com>
27914
27915 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27916 (lua_mod_SOURCES): New variable.
27917 (lua_mod_CFLAGS): Likewise.
27918 (lua_mod_LDFLAGS): Likewise.
27919
27920 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27921 (setjmp_mod_SOURCES): New variable.
27922 (setjmp_mod_CFLAGS): Likewise.
27923 (setjmp_LDFLAGS): Likewise.
27924
27925 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27926 (setjmp_mod_SOURCES): New variable.
27927 (setjmp_mod_CFLAGS): Likewise.
27928 (setjmp_LDFLAGS): Likewise.
27929
27930 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27931 (setjmp_mod_SOURCES): New variable.
27932 (setjmp_mod_CFLAGS): Likewise.
27933 (setjmp_LDFLAGS): Likewise.
27934
27935 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27936 (setjmp_mod_SOURCES): New variable.
27937 (setjmp_mod_CFLAGS): Likewise.
27938 (setjmp_LDFLAGS): Likewise.
27939
27940 * normal/i386/setjmp.S: Moved from here ...
27941 * lib/i386/setjmp.S: ... Moved here
27942 * normal/x86_64/setjmp.S: Moved from here ...
27943 * lib/x86_64/setjmp.S: ... Moved here
27944 * normal/powerpc/setjmp.S: Moved from here ...
27945 * lib/powerpc/setjmp.S: ... Moved here
27946 * normal/sparc64/setjmp.S: Moved from here ...
27947 * lib/sparc64/setjmp.S: ... Moved here
27948
27949 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27950 returns_twice in mingw.
27951
27952 * script/lua/grub_lib.c: New file.
27953 * script/lua/grub_lib.h: Likewise.
27954 * script/lua/grub_lua.h: Likewise.
27955 * script/lua/grub_main.c: Likewise.
27956 * script/lua/lapi.c: Likewise.
27957 * script/lua/lapi.h: Likewise.
27958 * script/lua/lauxlib.c: Likewise.
27959 * script/lua/lauxlib.h: Likewise.
27960 * script/lua/lbaselib.c: Likewise.
27961 * script/lua/lcode.c: Likewise.
27962 * script/lua/lcode.h: Likewise.
27963 * script/lua/ldblib.c: Likewise.
27964 * script/lua/ldebug.c: Likewise.
27965 * script/lua/ldebug.h: Likewise.
27966 * script/lua/ldo.c: Likewise.
27967 * script/lua/ldo.h: Likewise.
27968 * script/lua/ldump.c: Likewise.
27969 * script/lua/lfunc.c: Likewise.
27970 * script/lua/lfunc.h: Likewise.
27971 * script/lua/lgc.c: Likewise.
27972 * script/lua/lgc.h: Likewise.
27973 * script/lua/linit.c: Likewise.
27974 * script/lua/liolib.c: Likewise.
27975 * script/lua/llex.c: Likewise.
27976 * script/lua/llex.h: Likewise.
27977 * script/lua/llimits.h: Likewise.
27978 * script/lua/lmathlib.c: Likewise.
27979 * script/lua/lmem.c: Likewise.
27980 * script/lua/lmem.h: Likewise.
27981 * script/lua/loadlib.c: Likewise.
27982 * script/lua/lobject.c: Likewise.
27983 * script/lua/lobject.h: Likewise.
27984 * script/lua/lopcodes.c: Likewise.
27985 * script/lua/lopcodes.h: Likewise.
27986 * script/lua/loslib.c: Likewise.
27987 * script/lua/lparser.c: Likewise.
27988 * script/lua/lparser.h: Likewise.
27989 * script/lua/lstate.c: Likewise.
27990 * script/lua/lstate.h: Likewise.
27991 * script/lua/lstring.c: Likewise.
27992 * script/lua/lstring.h: Likewise.
27993 * script/lua/lstrlib.c: Likewise.
27994 * script/lua/ltable.c: Likewise.
27995 * script/lua/ltable.h: Likewise.
27996 * script/lua/ltablib.c: Likewise.
27997 * script/lua/ltm.c: Likewise.
27998 * script/lua/ltm.h: Likewise.
27999 * script/lua/lua.h: Likewise.
28000 * script/lua/luaconf.h: Likewise.
28001 * script/lua/lualib.h: Likewise.
28002 * script/lua/lundump.c: Likewise.
28003 * script/lua/lundump.h: Likewise.
28004 * script/lua/lvm.c: Likewise.
28005 * script/lua/lvm.h: Likewise.
28006 * script/lua/lzio.c: Likewise.
28007 * script/lua/lzio.h: Likewise.
28008
5e898c9d 280092009-05-16 Bean <bean123ch@gmail.com>
28010
28011 * include/grub/kernel.h (grub_module_header_types): Add type
28012 OBJ_TYPE_CONFIG.
28013
28014 * kern/main.c (grub_load_config): New function.
28015 (grub_main): Call grub_load_config to read boot config.
28016
28017 * grub-mkimage (generate_image): New parameter config_path.
28018 (options): New option --config.
28019 (main): Parse --config option, and pass it to generate_image.
28020
cf353a47 280212009-05-14 Christian Franke <franke@computer.org>
28022
28023 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28024 This fixes build on Cygwin.
28025
3834887f 280262009-05-14 Pavel Roskin <proski@gnu.org>
28027
28028 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28029 jump. This saves two bytes, so the typical case of 2 swapped
28030 drives would fit 32 bytes.
28031
8090fc01 280322009-05-13 Pavel Roskin <proski@gnu.org>
28033
ac963883 28034 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28035 grub_uint32_t to avoid a warning.
28036
8090fc01 28037 * loader/i386/linux.c (allocate_pages): When assigning
28038 real_mode_mem, cast through grub_size_t to fix a warning. The
28039 code already makes sure that the value would fit a pointer.
28040 (grub_linux_setup_video): Cast render_target->data to
28041 grub_size_t to fix a warning.
28042
18f547ad 280432009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28044
28045 * commands/i386/pc/drivemap.c: New file - implement drivemap
28046 command.
28047 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28048 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28049
6f6a8b28 280502009-05-13 Pavel Roskin <proski@gnu.org>
28051
28052 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28053 embedding_area_exists.
28054
15fbf4c4 280552009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28056
28057 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28058 it easier to understand / work with.
59978c8a 28059 Improve warning messages for cases where there's no embedding area,
28060 or when it is too small (or core.img too large).
15fbf4c4 28061
238e871f 280622009-05-13 Pavel Roskin <proski@gnu.org>
28063
0ab3a9a4 28064 * loader/i386/pc/multiboot2.c: Add necessary includes for
28065 grub_multiboot2_real_boot().
28066
a2c8c5f8 28067 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28068 PX record is always little-endian. We only need the lower 2
28069 bytes of the mode.
28070
faec96af 28071 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28072 facilitate code reuse.
28073 (grub_cpio_mount): Use "struct head", not a char buffer. This
28074 fixes a warning reported by gcc 4.4.
28075
238e871f 28076 * kernel/disk.c (grub_disk_read): Use void pointer for the
28077 buffer.
28078 (grub_disk_write): Use const void pointer for the buffer.
28079 Adjust all callers. Remove unnecessary casts.
28080
901d2f0c 280812009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28082
28083 * util/i386/pc/grub-install.in: Update copyright year.
28084
18f547ad 280852009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28086
28087 gptsync
28088
28089 * commands/gptsync.c: new file
28090 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28091 (gptsync_mod_SOURCES): new variable
28092 (gptsync_mod_CFLAGS): likewise
28093 (gptsync_mod_LDFLAGS): likewise
18f547ad 28094 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28095 new definition
28096 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28097 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28098 * conf/i386-ieee1275.rmk: likewise
28099 * conf/i386-pc.rmk: likewise
28100 * conf/powerpc-ieee1275.rmk: likewise
28101
b4ba690a 281022009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28103
28104 Fixed grub-emu
28105
28106 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28107 (grub_dl_ref): likewise
28108
317e1a44 281092009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28112 split in two functions (one for msdos and one for gpt).
28113
041b8094 281142009-05-08 Pavel Roskin <proski@gnu.org>
28115
752473c2 28116 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28117 not modified.
28118
041b8094 28119 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28120 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28121 Initialize them with -1. Add sanity check for bad1. Eliminate
28122 nerr variable.
28123
172800ce 281242009-05-08 David S. Miller <davem@davemloft.net>
28125
28126 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28127
29aa5e81 281282009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28129
28130 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28131 existence.
29aa5e81 28132
96613b62 281332009-05-05 Felix Zielcke <fzielcke@z-51.de>
28134
28135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28136 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28137
eef73c8a 281382009-05-05 David S. Miller <davem@davemloft.net>
28139
28140 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28141
119494b5 281422009-05-05 Pavel Roskin <proski@gnu.org>
28143
28144 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28145 of grub_dl_ref() and grub_dl_unref().
28146 * commands/parttool.c: Remove preprocessor conditionals around
28147 grub_dl_ref() and grub_dl_unref().
28148 * fs/affs.c: Likewise.
28149 * fs/afs.c: Likewise.
28150 * fs/cpio.c: Likewise.
28151 * fs/ext2.c: Likewise.
28152 * fs/fat.c: Likewise.
28153 * fs/hfs.c: Likewise.
28154 * fs/hfsplus.c: Likewise.
28155 * fs/iso9660.c: Likewise.
28156 * fs/jfs.c: Likewise.
28157 * fs/minix.c: Likewise.
28158 * fs/ntfs.c: Likewise.
28159 * fs/reiserfs.c: Likewise.
28160 * fs/sfs.c: Likewise.
28161 * fs/udf.c: Likewise.
28162 * fs/ufs.c: Likewise.
28163 * fs/xfs.c: Likewise.
28164 * include/grub/dl.h: Likewise.
28165 * loader/xnu.c: Likewise.
28166
de5fd76e 281672009-05-04 Pavel Roskin <proski@gnu.org>
28168
28169 * commands/acpi.c: Remove unused variable my_mod.
28170 * partmap/amiga.c: Likewise.
28171 * partmap/apple.c: Likewise.
28172 * partmap/gpt.c: Likewise.
28173 * partmap/pc.c: Likewise.
28174 * partmap/sun.c: Likewise.
28175 * term/gfxterm.c: Likewise.
28176 * term/i386/pc/vesafb.c: Likewise.
28177 * term/i386/pc/vga.c: Likewise.
28178
983598ad 281792009-05-04 David S. Miller <davem@davemloft.net>
28180
28181 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28182 pointer args to grub_ieee1275_get_property().
28183
8aadec43 28184 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28185
9554b15e 28186 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28187 devices, and do not traverse down under controller nodes.
28188
67e23c90 28189 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28190 (grub_ofdisk_open): Use it to un-escape "," characters.
28191 * kern/disk.c (find_part_sep): New.
28192 (grub_disk_open): Use it to find the first non-escaped ','
28193 character in the disk name.
28194 * util/ieee1275/devicemap.c (escape_of_path): New.
28195 (grub_util_emit_devicemap_entry): Use it.
28196 * util/sparc64/ieee1275/grub-install.in: Update script to
28197 strip partition specifiers properly by not triggering on
28198 '\' escaped ',' characters.
28199
74bfdd2f 282002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28203 to 0x300.
28204 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28205 resolutions.
28206 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28207 on documentation from Wikipedia).
28208
4241d2b1 282092009-05-04 Pavel Roskin <proski@gnu.org>
28210
28211 * disk/ata.c: Spelling fixes.
28212 * disk/raid.c: Likewise.
28213 * disk/usbms.c: Likewise.
28214 * disk/dmraid_nvidia.c: Likewise.
28215 * kern/ieee1275/openfw.c: Likewise.
28216 * kern/ieee1275/init.c: Likewise.
28217 * kern/ieee1275/cmain.c: Likewise.
28218 * boot/i386/pc/cdboot.S: Likewise.
28219 * video/readers/png.c: Likewise.
28220 * video/i386/pc/vbe.c: Likewise.
28221 * fs/udf.c: Likewise.
28222 * fs/hfs.c: Likewise.
28223 * fs/reiserfs.c: Likewise.
28224 * efiemu/runtime/efiemu.c: Likewise.
28225 * efiemu/main.c: Likewise.
28226 * efiemu/mm.c: Likewise.
28227 * include/grub/elf.h: Likewise.
28228 * include/grub/xnu.h: Likewise.
28229 * include/grub/usbdesc.h: Likewise.
28230 * include/grub/usb.h: Likewise.
28231 * include/grub/script_sh.h: Likewise.
28232 * include/grub/lib/LzmaEnc.h: Likewise.
28233 * include/grub/efiemu/efiemu.h: Likewise.
28234 * include/grub/command.h: Likewise.
28235 * normal/menu.c: Likewise.
28236 * normal/main.c: Likewise.
28237 * normal/datetime.c: Likewise.
28238 * bus/usb/uhci.c: Likewise.
28239 * mmap/i386/uppermem.c: Likewise.
28240 * mmap/mmap.c: Likewise.
28241 * commands/acpi.c: Likewise.
28242 * commands/test.c: Likewise.
28243 * partmap/apple.c: Likewise.
28244 * font/font.c: Likewise.
28245 * loader/sparc64/ieee1275/linux.c: Likewise.
28246 * loader/macho.c: Likewise.
28247 * loader/i386/bsd_trampoline.S: Likewise.
28248 * loader/i386/bsd.c: Likewise.
28249 * loader/xnu.c: Likewise.
28250 * term/i386/pc/vesafb.c: Likewise.
28251 * term/usb_keyboard.c: Likewise.
28252 * util/resolve.c: Likewise.
28253 * util/getroot.c: Likewise.
28254
0cfc0083 282552009-05-04 Felix Zielcke <fzielcke@z-51.de>
28256
28257 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28258
7c1d00cd 282592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28260
28261 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28262 build error.
28263
b01f0548 282642009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28265
28266 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28267 parameter only available on BIOS.
28268
ecc3eb22 282692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 Removed wrong semicolon in declaration
28272
28273 * grub/misc.h (grub_dprintf): remove semicolon
28274
112972a9 282752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28276
28277 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28278 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28279 is done by grub_cmd_linux() now).
28280 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28281 restore video to text mode.
28282 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28283 indicates lack of "vga=" parameter. "vga=0" is mapped to
28284 `GRUB_LINUX_VID_MODE_NORMAL'.
28285
afd5c115 282862009-05-04 Felix Zielcke <fzielcke@z-51.de>
28287
28288 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28289 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28290 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28291 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28292 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28293 `grub_script.tab.c'.
28294
28295 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28296 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28298 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28300
faa517ce 28301 * Makefile.in: Remove duplicated 2008 in Copyright line.
28302
ae0c0bdc 283032009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28304
473d1e45 28305 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28306 unconditionally.
28307 * include/grub/util/misc.h (grub_util_warn): New declaration.
28308
28309 * util/i386/pc/grub-install.in: Understand --force and pass it down
28310 to grub-setup.
28311
28312 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28313 down to setup().
28314 (setup): Improve error messages and add warnings when requested to
28315 install in odd layouts. Refuse to install using blocklists unless
28316 --force was set.
28317
18f547ad 283182009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28319
28320 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28321
6d260daa 283222009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28323
28324 Updated copyright year
28325
28326 * fs/hfsplus.c: updated copyright year
18f547ad 28327
69f853f8 283282009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 HFS+ UUID
28331
18f547ad 28332 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28333 in the space previously used by unused3
28334 (grub_hfsplus_uuid): new function
28335 (grub_hfsplus_fs): added uuid field
28336
4c402e73 283372009-05-03 Pavel Roskin <proski@gnu.org>
28338
28339 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28340 suppress warnings. It's no longer needed.
28341 * disk/host.c: Likewise.
28342 * disk/ata_pthru.c: Likewise.
28343 * disk/loopback.c: Likewise.
28344 * hook/datehook.c: Likewise.
28345 * parttool/pcpart.c: Likewise.
28346 * fs/i386/pc/pxe.c: Likewise.
28347 * fs/ntfscomp.c: Likewise.
28348 * efiemu/main.c: Likewise.
28349 * mmap/mmap.c: Likewise.
28350 * commands/crc.c: Likewise.
28351 * commands/hexdump.c: Likewise.
28352 * commands/hdparm.c: Likewise.
28353 * commands/acpi.c: Likewise.
28354 * commands/echo.c: Likewise.
28355 * commands/minicmd.c: Likewise.
28356 * commands/blocklist.c: Likewise.
28357 * commands/memrw.c: Likewise.
28358 * commands/loadenv.c: Likewise.
28359 * commands/usbtest.c: Likewise.
28360 * commands/lsmmap.c: Likewise.
28361 * commands/boot.c: Likewise.
28362 * commands/parttool.c: Likewise.
28363 * commands/configfile.c: Likewise.
28364 * commands/search.c: Likewise.
28365 * commands/ieee1275/suspend.c: Likewise.
28366 * commands/cat.c: Likewise.
28367 * commands/i386/pc/pxecmd.c: Likewise.
28368 * commands/i386/pc/play.c: Likewise.
28369 * commands/i386/pc/halt.c: Likewise.
28370 * commands/i386/pc/vbeinfo.c: Likewise.
28371 * commands/i386/pc/vbetest.c: Likewise.
28372 * commands/lspci.c: Likewise.
28373 * commands/date.c: Likewise.
28374 * commands/handler.c: Likewise.
28375 * commands/ls.c: Likewise.
28376 * commands/test.c: Likewise.
28377 * commands/cmp.c: Likewise.
28378 * commands/efi/loadbios.c: Likewise.
28379 * commands/efi/fixvideo.c: Likewise.
28380 * commands/halt.c: Likewise.
28381 * commands/help.c: Likewise.
28382 * commands/reboot.c: Likewise.
28383 * hello/hello.c: Likewise.
28384 * script/sh/main.c: Likewise.
28385 * loader/xnu.c: Likewise.
28386 * term/terminfo.c: Likewise.
28387 * term/i386/pc/serial.c: Likewise.
28388 * term/usb_keyboard.c: Likewise.
28389
515b5079 283902009-05-03 David S. Miller <davem@davemloft.net>
28391
28392 * normal/menu.c: Include grub/parser.h
28393
dfc31a22 283942009-05-03 Pavel Roskin <proski@gnu.org>
28395
2fee74f1 28396 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28397 not char*.
28398 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28399 Suggested by Javier Martín <lordhabbit@gmail.com>
28400
dfc31a22 28401 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28402 efiemu??.o doesn't exist.
28403 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28404 copying.
28405
18f547ad 284062009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28407
28408 FreeBSD 64-bit support
28409
18f547ad 28410 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28411 and loader/i386/bsd_trampoline.S
28412 (bsd_mod_ASFLAGS): new variable
28413 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28414 (FREEBSD_MODTYPE_KERNEL64): likewise
28415 (grub_bsd64_trampoline_start): likewise
28416 (grub_bsd64_trampoline_end): likewise
28417 (grub_bsd64_trampoline_selfjump): likewise
28418 (grub_bsd64_trampoline_gdt): likewise
28419 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28420 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28421 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28422 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28423 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28424 of "attrib" member
28425 * loader/i386/bsd_pagetable.c: new file
28426 * loader/i386/bsd_trampoline.S: likewise
28427 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28428 (ALIGN_VAR): likewise
28429 (entry_hi): new variable
28430 (kern_end_mdofs): likewise
28431 (is_64bit): likewise
28432 (grub_freebsd_add_meta): use ALIGN_VAR
28433 (grub_e820_mmap): new declaration
28434 (grub_freebsd_add_mmap): new function
28435 (grub_freebsd_add_meta_module): support 64 bit kernels
28436 (grub_freebsd_list_modules): use ALIGN_VAR
28437 (gdt_descriptor): new declaration
28438 (grub_freebsd_boot): support 64 bit kernels
28439 (grub_bsd_elf64_hook): new function
28440 (grub_bsd_load_elf): support elf64
28441
038c5720 284422009-05-03 Bean <bean123ch@gmail.com>
28443
28444 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28445 after we get the result of if statement.
28446
fc45fb58 284472009-05-03 Bean <bean123ch@gmail.com>
28448
28449 * Makefile.in (enable_efiemu): New variable.
28450
28451 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28452 set.
28453 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28454 path.
28455 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28456 path, add -mno-red-zone option.
28457 (efiemu64_s.o): Likewise.
28458 (efiemu64.o): Use macro $^ for source file.
28459
28460 * configure.ac (--enable-efiemu): New option.
28461
bbee0f2b 284622009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28463
28464 xnu support
28465
28466 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28467 (pkglib_MODULES): add xnu.mod
28468 (xnu_mod_SOURCES): new variable
28469 (xnu_mod_CFLAGS): likewise
28470 (xnu_mod_LDFLAGS): likewise
28471 (xnu_mod_ASFLAGS): likewise
28472 * conf/i386-pc.rmk: likewise
28473 * conf/x86_64-efi.rmk: likewise
7dd4a573 28474 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28475 new declaration
28476 * include/grub/i386/macho.h: new file
28477 * include/grub/i386/xnu.h: likewise
28478 * include/grub/macho.h: likewise
28479 * include/grub/machoload.h: likewise
28480 * include/grub/x86_64/macho.h: likewise
28481 * include/grub/x86_64/xnu.h: likewise
28482 * include/grub/xnu.h: likewise
28483 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28484 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28485 * loader/i386/efi/xnu.c: new file
28486 * loader/i386/pc/xnu.c: likewise
28487 * loader/i386/xnu.c: likewise
28488 * loader/i386/xnu_helper.S: likewise
28489 * loader/macho.c: likewise
28490 * loader/xnu.c: likewise
28491 * loader/xnu_resume.c: likewise
28492 * util/grub-dumpdevtree: likewise
28493 * include/grub/i386/pit.h: include grub/err.h
28494 (grub_pit_wait): export
28495 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28496
5caf964d 284972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28498
28499 Efiemu
7dd4a573 28500
5caf964d 28501 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28502 _linux_efi, linux_efi.
28503 new files in grub-emu
5caf964d 28504 new targets efiemu32.o and efiemu64.o
28505 * loader/linux_normal_efiemu.c: likewise
28506 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28507 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28508 files to copy
28509 * include/grub/autoefi.h: new file
7dd4a573 28510 * include/grub/i386/efiemu.h: likewise
5caf964d 28511 * include/grub/i386/pc/efiemu.h: likewise
28512 * include/grub/efi/api.h: add LL suffix when necessary
28513 new definitions relating to tables
28514 * include/grub/efiemu/efiemu.h: new file
28515 * include/grub/efiemu/runtime.h: likewise
28516 * efiemu/prepare.c: likewise
28517 * efiemu/loadcore_common.c: likewise
28518 * efiemu/loadcore64.c: likewise
28519 * efiemu/runtime/efiemu.sh: likewise
28520 * efiemu/runtime/efiemu.S: likewise
28521 * efiemu/runtime/efiemu.c: likewise
28522 * efiemu/runtime/config.h: likewise
28523 * efiemu/prepare32.c: likewise
28524 * efiemu/main.c: likewise
28525 * efiemu/modules/pnvram.c: likewise
28526 * efiemu/modules/i386: likewise
28527 * efiemu/modules/i386/pc: likewise
28528 * efiemu/modules/acpi.c: likewise
28529 * efiemu/i386/pc/cfgtables.c: likewise
28530 * efiemu/i386/loadcore64.c: likewise
28531 * efiemu/i386/loadcore32.c: likewise
28532 * efiemu/prepare64.c: likewise
28533 * efiemu/loadcore.c: likewise
28534 * efiemu/symbols.c: likewise
28535 * efiemu/mm.c: likewise
28536 * efiemu/loadcore32.c: likewise
7dd4a573 28537
285382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28539
28540 ACPI spoofing
28541
28542 * commands/acpi.c: new file
28543 * commands/i386/pc/acpi.c: likewise
28544 * commands/efi/acpi.c: likewise
28545 * include/grub/acpi.h: likewise
28546 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28547 (acpi_mod_SOURCES): new variable
28548 (acpi_mod_CFLAGS): likewise
28549 (acpi_mod_LDFLAGS): likewise
28550 * conf/i386-efi.rmk: likewise
28551 * conf/x86_64-efi.rmk: likewise
28552
7dd4a573 285532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28554
28555 Missing part from mmap patch
28556
28557 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28558 (grub_mmap_unregister)
28559 (grub_mmap_free_and_unregister): use grub_mmap_register
28560
7dd4a573 285612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28562
28563 Mmap services
28564
28565 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28566 * loader/i386/linux.c (find_mmap_size): likewise
28567 (allocate_pages): likewise
28568 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28569 (grub_fill_multiboot_mmap): likewise
28570 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28571 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28572 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28573 (OPENBSD_MMAP_RESERVED): likewise
28574 * include/grub/i386/pc/memory.h: include grub/memory.h
28575 (grub_lower_mem): removed
28576 (grub_upper_mem): likewise
28577 (GRUB_MACHINE_MEMORY_ACPI): new definition
28578 (GRUB_MACHINE_MEMORY_NVS): likewise
28579 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28580 (GRUB_MACHINE_MEMORY_HOLE): likewise
28581 (grub_machine_mmap_register): likewise
28582 (grub_machine_mmap_unregister): likewise
28583 (grub_machine_get_upper): likewise
28584 (grub_machine_get_lower): likewise
28585 (grub_machine_get_post64): likewise
28586 * include/grub/i386/efi/memory.h: new file
28587 * include/grub/x86_64/efi/memory.h: likewise
28588 * include/grub/efi/memory.h: likewise
28589 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28590 (mmap_mod_SOURCES): new variable
28591 (mmap_mod_LDFLAGS): likewise
28592 (mmap_mod_ASFLAGS): likewise
28593 * conf/i386-coreboot.rmk: likewise
28594 * conf/i386-ieee1275.rmk: likewise
28595 * conf/i386-efi.rmk: likewise
28596 * conf/x86_64-efi.rmk: likewise
28597 * include/grub/types.h (UINT_TO_PTR): new macro
28598 (PTR_TO_UINT32): likewise
28599 (PTR_TO_UINT64): likewise
28600 * include/grub/memory.h: new file
28601 * mmap/i386/pc/mmap.c: likewise
28602 * mmap/i386/pc/mmap_helper.S: likewise
28603 * mmap/i386/uppermem.c: likewise
28604 * mmap/mmap.c: likewise
28605 * mmap/efi/mmap.c: likewise
7dd4a573 28606 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28607 grub_upper_mem
28608 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28609 (grub_upper_mem): likewise
28610 (grub_machine_init): don't use grub_upper_mem,
28611 make grub_lower_mem local
28612 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28613 grub_mmap_iterate and grub_mmap_get_upper
28614 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28615
d558e6b5 286162009-05-02 Bean <bean123ch@gmail.com>
28617
28618 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28619 script/sh/parser.y.
28620 (pkglib_MODULES): Add normal.mod and sh.mod.
28621 (normal_SOURCES): New variable.
28622 (normal_mod_CFLAGS): Likewise.
28623 (normal_mod_LDFLAGS): Likewise.
28624 (sh_mod_SOURCES): Likewise.
28625 (sh_mod_CFLAGS): Likewise.
28626 (sh_mod_LDFLAGS): Likewise.
28627
28628 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28629 script/sh/lexer.c_DEPENDENCIES.
28630 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28631 kern/rescue_reader.c and kern/rescue_parser.c.
28632 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28633 (grub_emu_SOURCES): Change source files.
28634 (pkglib_MODULES): Remove normal.mod.
28635 (normal_SOURCES): Removed.
28636 (normal_mod_CFLAGS): Likewise.
28637 (normal_mod_LDFLAGS): Likewise.
28638 * conf/i386-coreboot.rmk: Likewise.
28639 * conf/i386-efi.rmk: Likewise.
28640 * conf/i386-ieee1276.rmk: Likewise.
28641 * conf/powerpc-ieee1275.rmk: Likewise.
28642 * conf/sparc64-ieee1275.rmk: Likewise.
28643 * conf/x86_64-efi.rmk: Likewise.
28644
28645 * include/grub/command.h (grub_command_execute): New inline function.
28646
28647 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28648
28649 * include/grub/normal.h: Remove <grub/setjmp.h>.
28650 (grub_fs_module_list): Moved to normal/autofs.c.
28651 (grub_exit_env): Removed.
28652 (grub_command_execute): Likewise.
28653 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28654 parameter script.
28655 (read_command_list): New function declaration.
28656 (read_fs_list): Likewise.
28657
28658 * include/parser.h: Include <grub/reader.h>.
28659 (grub_parser_split_cmdline): Change type of getline parameter.
28660 (grub_parser): New structure.
28661 (grub_parser_class): New variable.
28662 (grub_parser_execute): New function declaration.
28663 (grub_register_rescue_parser): Likewise.
28664 (grub_parser_register): New inline function.
28665 (grub_parser_unregister): Likewise.
28666 (grub_parser_get_current): Likewise.
28667 (grub_parser_set_current): Likewise.
28668
28669 * include/grub/reader.h: New file.
28670 * kern/reader.c: Likewise.
28671 * kern/rescue_parser.c: Likewise.
28672 * kern/rescue_reader.c: Likewise.
28673 * normal/autofs.c: Likewise.
28674 * normal/dyncmd.c: Likewise.
28675
28676 * include/grub/rescue.h: Removed.
28677 * normal/command.h: Likewise.
28678
28679 * include/grub/script.h: Moved to ...
28680 * include/grub/script_sh.h: ... Moved here.
28681 * normal/execute.c: Moved to ...
28682 * script/sh/execute.c: ... Moved here.
28683 * normal/function.c: Moved to ...
28684 * script/sh/function.c: ... Moved here.
28685 * normal/lexer.c: Moved to ...
28686 * script/sh/lexer.c: ... Moved here.
28687 * normal/parser.y: Moved to ...
28688 * script/sh/parser.y: ... Moved here.
28689 * normal/script.c: Moved to ...
28690 * script/sh/script.c: ... Moved here.
28691
28692 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28693 <grub/reader.h>.
28694 (grub_exit_env): Removed.
28695 (fs_module_list): Moved to normal/autofs.c.
28696 (grub_file_getline): Don't handle comment here.
28697 (free_menu): Skip removed field entry->commands.
28698 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28699 script parameter.
28700 (read_config_file): Removed nested parameter, change getline function.
28701 (grub_enter_normal_mode): Removed.
28702 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28703 (read_command_list): Likewise.
28704 (autoload_fs_module): Moved to normal/autofs.c.
28705 (read_fs_list): Likewise.
28706 (reader_nested): New variable.
28707 (grub_normal_execute): Run parser.sh to switch to sh parser.
28708 (grub_cmd_rescue): Removed.
28709 (cmd_normal): Removed.
28710 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28711 rescue command.
28712 (grub_cmdline_run): New function.
28713 (grub_normal_reader_init): Likewise.
28714 (grub_normal_read_line): Likewise.
28715 (grub_env_write_pager): Likewise.
28716 (cmdline): New variable.
28717 (grub_normal_reader): Likewise.
28718 (GRUB_MOD_INIT): Register normal reader and set as current, register
28719 pager hook, register normal command with grub_register_command_prio,
28720 so that it won't show up in command.lst.
28721 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28722 grub_fs_autoload_hook.
28723
28724 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28725 (grub_menu_execute_entry): Replace grub_script_execute with
28726 grub_parser_execute, change parameter to grub_command_execute.
28727
28728 * normal/menu_text.c: Remove <grub/script.h>.
28729
28730 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28731 and <grub/parser.h>.
28732 (run): Change editor_getline to use new parser interface. Change
28733 parameter to grub_command_execute.
28734
28735 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28736 <grub/reader.h> and <grub/parser.h>.
28737 (grub_load_normal_mode): Execute normal command.
28738 (grub_main): Call grub_register_core_commands,
28739 grub_register_rescue_parser and grub_register_rescue_reader, use
28740 grub_reader_loop to enter input loop.
28741
7dd4a573 28742 * kern/parser.c (grub_parser_split_cmdline): Change type of
28743 getline parameter.
d558e6b5 28744 (grub_parser_class): New variable.
28745 (grub_parser_execute): New function.
28746
28747 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28748 * loader/multiboot2.c: Likewise.
28749 * loader/sparc64/ieee1275/linux.c: Likewise.
28750
28751 * util/grub-emu.c (read_command_list): New dummy function.
28752
18db813d 287532009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28754
28755 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28756 count to 16 for CCISS and IDA.
28757
6c67de15 287582009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * normal/menu_text.c (grub_wait_after_message): Print a newline
28761 after waiting for user input.
28762
28763 * loader/i386/linux.c: Include `<grub/normal.h>'.
28764 (grub_cmd_linux): Improve the error message about `ask' mode, by
28765 waiting for user input so it's not missed (we can do this, since
28766 user requested interaction).
28767
d9dc87b0 287682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28769
28770 Added missing lst to grub-mkrescue
28771
28772 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28773 and ${input_dir}/parttool.lst
28774
ac8a2baa 287752009-04-30 David S. Miller <davem@davemloft.net>
28776
ad22a610 28777 * util/hostdisk.c (device_is_wholedisk): New function.
28778 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28779 zero only if device_is_wholedisk() returns true.
28780
6966215d 28781 * util/hostdisk.c (convert_system_partition_to_system_disk):
28782 Handle virtual disk devices named /dev/vdiskX as found on sparc
28783 and powerpc.
28784
ac8a2baa 28785 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28786 lettered partition specifier is found, convert to numbered.
28787
979b4fb4 287882009-04-29 David S. Miller <davem@davemloft.net>
28789
e2bf39b2 28790 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28791 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28792
3c64e104 28793 * normal/command.c: Add missing newline at end of file.
28794
979b4fb4 28795 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28796 warnings.
28797 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28798 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28799 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28800 ihandles have a 32-bit type but need to be stored in a "void *".
28801
136d9f82 288022009-04-28 Pavel Roskin <proski@gnu.org>
28803
9459c306 28804 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28805 not disk. Adjust all dependencies.
2e08a26a 28806 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28807 grub_disk_close().
28808
136d9f82 28809 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28810 parent's partition, don't copy it by reference, as it gets freed
28811 on close.
28812
7dd4a573 288132009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28814
28815 Preboot hooks support
28816
28817 * commands/boot.c (struct grub_preboot_t): new declaration
28818 (preboots_head): new variable
28819 (preboots_tail): likewise
28820 (grub_loader_register_preboot_hook): new function
28821 (grub_loader_unregister_preboot_hook): likewise
28822 (grub_loader_set): launch preboot hooks
28823 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28824 (grub_loader_register_preboot_hook): new declaration
28825 (grub_loader_unregister_preboot_hook): likewise
28826
5af922b5 288272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28828
28829 Warning fix
28830
7dd4a573 28831 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28832 calling grub_dprintf
28833
a5562c30 288342009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 Bug and warning fixes
28837
7dd4a573 28838 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28839 declaration
28840 * commands/test.c (test_parse): fixed bug with file tests and corrected
28841 declaration of find_file
28842
4006f85c 288432009-04-26 Pavel Roskin <proski@gnu.org>
28844
28845 * Makefile.in: Don't install empty manual pages if help2man is
28846 missing. Use help2man option for output, not shell redirection.
28847
5c77c3de 288482009-04-26 David S. Miller <davem@davemloft.net>
28849
28850 * util/grub-mkdevicemap.c (make_device_map): Add missing
28851 NESTED_FUNC_ATTR to process_device().
28852
033b10a8 288532009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28854
28855 Test command
28856
28857 * commands/test.c: rewritten to use bash-like test
28858
e4343593 288592009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28860
28861 Parttool autoloading and improvements
28862
7dd4a573 28863 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28864 (parttool.lst): new target
28865 * genmk.rb: generate parttool-*
28866 (CLEANFILES): add #{parttool}
28867 (PARTTOOLFILES): new variable
28868 * genparttoollist.sh: new file
7dd4a573 28869 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28870 (grub_pcpart_type): likewise
28871 * commands/parttool.c (helpmsg): new variable
28872 (grub_cmd_parttool): output help if not enough arguments are supplied
28873 autoload modules
28874 (GRUB_MOD_INIT(parttool)): use helpmsg
28875
0d312500 288762009-04-24 David S. Miller <davem@davemloft.net>
28877
7dd4a573 28878 Avoiding opening same device multiple times in device iterator.
0d312500 28879
28880 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28881 and use it to build a list of partitions in iterate_disk() and
0d312500 28882 iterate_partition().
28883
ac20caff 28884 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28885 on disk->data.
28886
0dcf7495 28887 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28888 grub_devalias_iterate() result instead of unconditional 0.
28889 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28890 Also, capture hook return value, either directly or via
28891 grub_children_iterate(), and propagate to caller.
28892 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28893 grub_children_iterate): Return value is now 'int' instead of
28894 'grub_err_t'.
28895 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28896 like a proper iterator, stopping when hooks return non-zero.
28897 (grub_devalias_iterate): Likewise.
28898
c8c08833 288992009-04-23 David S. Miller <davem@davemloft.net>
28900
28901 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28902
f01005a8 289032009-04-22 David S. Miller <davem@davemloft.net>
28904
28905 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28906 is larger than address_cells, use that value for address_cells too.
28907
4e8269da 28908 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28909 IEEE1275_MAX_PATH_LEN): Define.
28910 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28911 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28912 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28913 'devtype'. Explicitly NULL terminate devalias expansion.
28914
a1447506 28915 * util/sparc64/ieee1275/misc.c: New file.
28916 * util/sparc64/ieee1275/grub-setup.c: New file.
28917 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28918 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28919 * util/sparc64/ieee1275/grub-install.in: New file.
28920 * util/ieee1275/ofpath.c: New file.
28921 * util/ieee1275/devicemap.c: New file.
28922 * util/devicemap.c: New file.
28923 * util/deviceiter.c: New file.
28924 * kern/sparc64/ieee1275/init.c: New file.
28925 * include/grub/util/ofpath.h: New file.
28926 * include/grub/util/deviceiter.h: New file.
28927 * util/grub-mkdevicemap.c: Include deviceiter.h.
28928 Implement using grub_util_emit_devicemap_entry and
28929 grub_util_iterate_devices.
28930 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28931 util/devicemap.c into grub-mkdevicemap
28932 * conf/i386-efi.rmk: Likewise.
28933 * conf/i386-ieee1275.rmk: Likewise.
28934 * conf/i386-pc.rmk: Likewise.
28935 * conf/powerpc-ieee1275.rmk: Likewise.
28936 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28937 images and installation utilities. Build kernel as image
28938 instead of as elf binary. Use common rules as much as possible.
28939
7dd4a573 289402009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28941
28942 Correct GPT definition
28943
7dd4a573 28944 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28945 of "attrib" member
28946
c6c5219f 289472009-04-19 Felix Zielcke <fzielcke@z-51.de>
28948
28949 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28950
0552ff9f 289512009-04-19 David S. Miller <davem@davemloft.net>
28952
28953 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28954 (grub_rescue_cmd_linux): Rename to...
28955 (grub_cmd_linux): and fix prototype.
28956 (grub_rescue_cmd_initrd): Rename to...
28957 (grub_cmd_initrd): and fix prototype.
28958 (cmd_linux, cmd_initrd): New.
28959 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28960 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28961
d1a282fc 289622009-04-17 Pavel Roskin <proski@gnu.org>
28963
07c5039f 28964 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28965 format.
28966 (grub_ohci_transfer): Likewise.
28967
b012002d 28968 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28969
1bc09c35 28970 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28971 return without a value. Fix inconsistent indentation.
28972
e0ff9126 28973 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28974 match struct grub_fs.
28975
d1a282fc 28976 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28977 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28978 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28979 * commands/lspci.c (grub_lspci_iter): Likewise.
28980
a96df3f2 289812009-04-16 Bean <bean123ch@gmail.com>
28982
28983 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28984 value.
28985
41bb0fe9 289862009-04-15 Pavel Roskin <proski@gnu.org>
28987
28988 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28989 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28990 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28991 definitions.
28992
596c6970 289932009-04-15 Felix Zielcke <fzielcke@z-51.de>
28994
28995 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28996 that no multiple data or metadata areas are supported and `Unknown
596c6970 28997 metadata header'.
28998
7dd4a573 289992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29000
29001 Move loader out of the kernel
29002
29003 * kern/loader.c: moved to ...
29004 * commands/boot.c: ... moved here
29005 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29006 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29007 * include/grub/kernel.h (grub_machine_fini): export
29008 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29009 (grub_loader_set): likewise
29010 (grub_loader_unset): likewise
29011 (grub_loader_boot): likewise
29012 * conf/common.rmk: new module boot.mod
29013 (pkglib_MODULES): add boot.mod
29014 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29015 (grub_emu_SOURCES): likewise
29016 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29017 (grub_emu_SOURCES): likewise
29018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29019 (grub_emu_SOURCES): likewise
29020 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29021 (grub_emu_SOURCES): likewise
29022 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29023 (grub_emu_SOURCES): likewise
7dd4a573 29024 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29025 (grub_emu_SOURCES): likewise
0d5d5653 29026 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29027 (grub_emu_SOURCES): likewise
0d5d5653 29028
7dd4a573 290292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29030
29031 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29032
5999d619 29033 * kern/misc.c (grub_itoa): Removed function
29034 (grub_ltoa): likewise
29035 (grub_vsprintf): use grub_lltoa
29036
7dd4a573 290372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29038
29039 Restore grub-emu
29040
29041 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29042 * conf/i386-coreboot.rmk: likewise
29043 * conf/i386-ieee1275.rmk: likewise
29044 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29045
20318222 290462009-04-15 Felix Zielcke <fzielcke@z-51.de>
29047
29048 * INSTALL: Add that `./autogen.sh' needs to be run before
29049 `./configure.'.
29050
d05f0df3 290512009-04-14 Bean <bean123ch@gmail.com>
29052
29053 * Makefile.in (pkglib_DATA): Add handler.lst.
29054 (handler.lst): New rule.
29055
29056 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29057 * conf/i386-coreboot.rmk: Likewise.
29058 * conf/i386-ieee1275.rmk: Likewise.
29059 * conf/i386-efi.rmk: Likewise.
29060 * conf/x86_64-efi.rmk: Likewise.
29061 * conf/powerpc-ieee1275.rmk: Likewise.
29062 * conf/sparc64-ieee1275.rmk: Likewise.
29063
29064 * genhandlerlist.sh: New file.
29065
29066 * genmk.rb: Add rules to generate handler.lst.
29067
29068 * include/grub/normal.h (grub_file_getline): New function definition.
29069 (read_handler_list): Likewise.
29070 (free_handler_list): Likewise.
29071
29072 * include/grub/term.h (grub_term_register_input): Add name parameter
29073 for auto generation of handler.lst.
29074 (grub_term_register_output): Likewise.
29075
29076 * normal/handler.c: New file.
29077
29078 * normal/main.c (get_line): Renamed to grub_file_getline.
29079 (read_config_file): Use the newly renamed grub_file_getline.
29080 (read_command_list): Likewise.
29081 (read_fs_list): Likewise.
29082 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29083 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29084
29085 * term/efi/console.c (grub_console_init): Add name parameter for auto
29086 generation of handler.lst.
29087 * term/gfxterm.c: Likewise.
29088 * term/i386/pc/at_keyboard.c: Likewise.
29089 * term/i386/pc/console.c: Likewise.
29090 * term/i386/pc/serial.c: Likewise.
29091 * term/i386/pc/vesafb.c: Likewise.
29092 * term/i386/pc/vga.c: Likewise.
29093 * term/i386/pc/vga_text.c: Likewise.
29094 * term/ieee1275/ofconsole.c: Likewise.
29095 * term/usb_keyboard.c: Likewise.
29096
33c846be 290972009-04-14 Bean <bean123ch@gmail.com>
29098
29099 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29100 properly with null character.
29101
4484e01e 291022009-04-14 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * configure: Remove.
29105 * config.h.in: Likewise.
f93d668e 29106 * stamp-h.in: Likewise.
4484e01e 29107 * DISTLIST: Likewise.
29108 * conf/common.mk: Likewise.
29109 * conf/i386-coreboot.mk: Likewise.
29110 * conf/i386-efi.mk: Likewise.
29111 * conf/i386-ieee1275.mk: Likewise.
29112 * conf/i386.mk: Likewise.
29113 * conf/i386-pc.mk: Likewise.
29114 * conf/powerpc-ieee1275.mk: Likewise.
29115 * conf/sparc64-ieee1275.mk: Likewise.
29116 * conf/x86_64-efi.mk: Likewise.
29117
29118 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29119 develop on GRUB.
29120
7dd4a573 291212009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29122 David S. Miller <davem@davemloft.net>
29123
29124 * util/hostdisk.c (make_device_name): Fix buffer length
29125 calculations.
29126
e25b5a8c 291272009-04-14 Felix Zielcke <fzielcke@z-51.de>
29128
29129 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29130 <sys/param.h> and <sys/sysctl.h>.
29131 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29132 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29133 opening the device and reset them afterwards.
29134
1f1f580c 291352009-04-13 Pavel Roskin <proski@gnu.org>
29136
29137 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29138 Reported by John Stanley <jpsinthemix@verizon.net>
29139
7ebc2d6b 291402009-04-13 Robert Millan <rmh@aybabtu.com>
29141
29142 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29143 that name for menuentries when appropriate.
7ebc2d6b 29144
d8ba3667 291452009-04-13 Felix Zielcke <fzielcke@z-51.de>
29146
29147 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29148
cba416eb 291492009-04-13 Robert Millan <rmh@aybabtu.com>
29150
29151 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29152 to Linux, simply abort telling the user it's no longer supported.
29153
a547a745 291542009-04-13 Felix Zielcke <fzielcke@z-51.de>
29155
29156 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29157 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29158 `freebsd_loadenv' only when devices.hints exist.
29159
232a769c 291602009-04-13 Pavel Roskin <proski@gnu.org>
29161
29162 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29163
c3012039 291642009-04-13 Felix Zielcke <fzielcke@z-51.de>
29165
29166 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29167 partition number.
29168 (grub_drive): Likewise.
29169
234022fe 291702009-04-13 David S. Miller <davem@davemloft.net>
29171
29172 * kern/sparc64/ieee1275/ieee1275.c: New file.
29173 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29174 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29175 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29176 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29177 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29178 grub_ieee1275_alloc_physmem): Declare new exported functions.
29179
d8e1836c 29180 * include/grub/sparc64/ieee1275/loader.h: New file.
29181 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29182 * include/grub/sparc64/kernel.h: Likewise.
29183 * loader/sparc64/ieee1275/linux.c: Likewise.
29184
96bd81ec 29185 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29186 (grub_fstest_SOURCES): Likewise.
29187
6a4737e5 29188 * util/hostdisk.c (make_device_name): Do not make any assumptions
29189 about the length of drive names.
29190
1d7a72fd 29191 * kern/dl.c (grub_dl_load_file): Close file immediately when
29192 we are done using it.
29193
56bc2471 291942009-04-12 David S. Miller <davem@davemloft.net>
29195
29196 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29197 values. Noticed by Pavel Roskin.
29198
df38d0bb 29199 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29200 target compiler.
7dd4a573 29201
e382e93a 29202 * genmk.rb: Add more flexible image type specification, also
29203 pass --strip-unneeded to objcopy.
29204 * conf/i386-pc.rmk: Use *_FORMAT.
29205 * conf/i386-pc.mk: Rebuilt.
29206
f5dbbca9 29207 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29208 (OFDISK_HASH_SZ): Define.
29209 (ofdisk_hash): New hash table.
29210 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29211 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29212 instead of device phandle which is not unique.
29213
91c88b12 29214 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29215 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29216 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29217 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29218 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29219 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29220 GRUB_KERNEL_MACHINE_DATA_END): Define.
29221 (grub_kernel_image_size, grub_total_module_size): Declare.
29222
5b5d4aa5 292232009-04-12 Pavel Roskin <proski@gnu.org>
29224
7dd4a573 29225 * configure.ac: Change the logic when we check for target tools.
29226 Do it when the target is specified and it's different from the
29227 specified value of the host.
5b5d4aa5 29228
c91e1793 292292009-04-11 Felix Zielcke <fzielcke@z-51.de>
29230
29231 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29232 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29233 GNU/kFreeBSD. Check if a device is a character device. Use
29234 DIOCGMEDIASIZE to get the size.
29235 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29236 support for GNU/kFreeBSD.
29237 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29238 is a character device instead of a block device. Add support for
29239 FreeBSD device names.
29240
29241 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29242 is a character device instead of a block device.
29243
29244 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29245 is a character device instead of a block device.
29246
b1ac8644 292472009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29248
29249 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29250 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29251 FreeBSD. Check if a device is a character device. Use
29252 DIOCGMEDIASIZE to get the size.
29253 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29254 support for FreeBSD.
29255 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29256 is a character device instead of a block device. Add support for
29257 FreeBSD device names.
29258
29259 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29260 a character device instead of a block device.
29261 (grub_util_check_char_device): New function.
29262
29263 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29264 a character device instead of a block device.
29265
29266 * include/grub/util/getroot.h (grub_util_check_char_device): New
29267 prototype.
29268
a3f7515a 292692009-04-11 David S. Miller <davem@davemloft.net>
29270
29271 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29272 static libgcc.
29273 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29274 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29275 function, if present.
29276 (__bswapdi2): Likewise.
29277
0d44993d 29278 * include/grub/sparc64/ieee1275/boot.h: New file.
29279 * boot/sparc64/ieee1275/boot.S: Likewise.
29280 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29281
ed3d2bc2 29282 * kern/misc.c (grub_ltoa): New function.
29283 (grub_vsprintf): Use it to format 'long' integers.
29284
d3bfb59c 292852009-04-10 David S. Miller <davem@davemloft.net>
29286
29287 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29288 slots are of type grub_ieee1275_cell_t.
29289 (grub_nand_read): Likewise.
29290 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29291 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29292 macros are used to compare values in arg/ret block of the call.
29293 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29294 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29295 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29296 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29297 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29298 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29299 grub_ieee1275_close, grub_ieee1275_set_property,
29300 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29301 grub_ieee1275_cell_t.
29302 * kern/ieee1275/openfw.c (grub_map): Likewise.
29303 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29304 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29305
450e2238 29306 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29307 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29308 (grub_devalias_iterate): Likewise.
29309
7dd4a573 293102009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29311
29312 UFS improvements
29313
29314 * fs/ufs.c (INODE_NBLOCKS): new definition
29315 (struct grub_ufs_dirent): added fields for non-BSD dirents
29316 (grub_ufs_get_file_block): fixed double indirect handling
29317 (grub_ufs_lookup_symlink): use more robust way to determine whether
29318 symlink is inline
29319 (grub_ufs_find_file): support for non-BSD dirents
29320 (grub_ufs_dir): support for non-BSD dirents
29321
e7e6862a 293222009-04-10 Bean <bean123ch@gnail.com>
29323
29324 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29325 attribute, otherwise the size would be wrong for i386 platform.
29326
29327 * include/grub/pci.h (grub_pci_read_word): New inline function.
29328 (grub_pci_read_byte): Likewise.
29329 (grub_pci_write): Likewise.
29330 (grub_pci_write_word): Likewise.
29331 (grub_pci_write_byte): Likewise.
29332
29333 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29334
29335 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29336 (find_framebuf): Scan pci to locate the frame buffer address.
29337
29338 * commands/efi/fixvideo.c: New file.
29339
29340 * commands/efi/loadbios.c: Likewise.
29341
29342 * commands/memrw.c: Likewise.
29343
29344 * util/grub-dumpbios.in: Likewise.
29345
29346 * conf/common.rmk (grub-dumpbios): New utility.
29347 (pkglib_MODULES): New module memrw.mod.
29348 (memrw_mod_SOURCE): New macro.
29349 (memrw_mod_CFLAGS): Likewise.
29350 (memrw_mod_LDFLAGS): Likewise.
29351
7dd4a573 29352 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29353 fixvideo.mod.
29354 (loadbios_mod_SOURCE): New macro.
29355 (loadbios_mod_CFLAGS): Likewise.
29356 (loadbios_mod_LDFLAGS): Likewise.
29357 (fixvideo_mod_SOURCE): Likewise.
29358 (fixvideo_mod_CFLAGS): Likewise.
29359 (fixvideo_mod_LDFLAGS): Likewise.
29360
7dd4a573 29361 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29362 fixvideo.mod.
29363 (loadbios_mod_SOURCE): New macro.
29364 (loadbios_mod_CFLAGS): Likewise.
29365 (loadbios_mod_LDFLAGS): Likewise.
29366 (fixvideo_mod_SOURCE): Likewise.
29367 (fixvideo_mod_CFLAGS): Likewise.
29368 (fixvideo_mod_LDFLAGS): Likewise.
29369
af63ada2 293702009-04-08 Felix Zielcke <fzielcke@z-51.de>
29371
29372 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29373
c2cdde70 293742009-04-07 David S. Miller <davem@davemloft.net>
29375
29376 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29377 support for R_SPARC_OLO10 relocations. Fix compile warning for
29378 R_SPARC_WDISP30 case.
ea3f72cf 29379 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29380
761319cf 293812009-04-06 Pavel Roskin <proski@gnu.org>
29382
1007d1f5 29383 * include/grub/misc.h (ARRAY_SIZE): New macro.
29384 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29385 New macro.
29386 * loader/i386/linux.c (allocate_pages): Use free_pages().
29387 (grub_linux_unload): Don't use free_pages().
29388 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29389 wrong index. Treat all other modes as text modes.
29390 (grub_cmd_linux): Initialize vid_mode unconditionally to
29391 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29392
761319cf 29393 * commands/help.c (print_command_help): Use cmd->prio, not
29394 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29395
ea761d40 293962009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29397
ea761d40 29398 Parttool
29399
29400 * parttool/pcpart.c: new file
29401 * commands/parttool.c: likewise
29402 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29403 (parttool_mod_SOURCES): new variable
29404 (parttool_mod_CFLAGS): likewise
29405 (parttool_mod_LDFLAGS): likewise
29406 (pcpart_mod_SOURCES): likewise
29407 (pcpart_mod_CFLAGS): likewise
29408 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29409 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29410 and parttool/pcpart.c
29411 * conf/i386-efi.rmk: likewise
29412 * conf/i386-ieee1275.rmk: likewise
29413 * conf/i386-pc.rmk: likewise
29414 * conf/powerpc-ieee1275.rmk: likewise
29415 * conf/sparc64-ieee1275.rmk: likewise
29416 * conf/x86_64-ieee1275.rmk: likewise
29417
05aaebfb 294182009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29419
29420 Support for mtime and further expandability of dir command
29421
29422 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29423 * include/grub/datetime.h: ... moved here and added
05aaebfb 29424 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29425 * include/grub/fs.h: new syntax for dir and mtime functions in
29426 struct grub_fs
05aaebfb 29427 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29428 and GRUB_FSHELP_FLAGS_MASK
29429 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29430 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29431 (grub_ext2_mtime): new function
29432 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29433 (grub_hfsplus_mtime): new function
29434 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29435 (GRUB_UFS_ATTR_FILE): likewise
29436 (GRUB_UFS_ATTR_LNK): likewise
29437 (struct grub_ufs_sblock): new fields mtime
29438 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29439 all users updated
29440 (grub_ufs_dir): mtime support
29441 (grub_ufs_mtime): new function
29442 * fs/affs.c (grub_affs_dir): use new dir syntax
29443 * fs/afs.c (grub_afs_dir): likewise
29444 * fs/cpio.c (grub_cpio_dir): likewise
29445 * fs/fat.c (grub_fat_find_dir): likewise
29446 * fs/hfs.c (grub_hfs_dir): likewise
29447 * fs/iso9660.c (grub_iso9660_dir): likewise
29448 * fs/jfs.c (grub_jfs_dir): likewise
29449 * fs/minix.c (grub_minix_dir): likewise
29450 * fs/ntfs.c (grub_ntfs_dir): likewise
29451 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29452 * fs/sfs.c (grub_sfs_dir): likewise
29453 * fs/xfs.c (grub_xfs_dir): likewise
29454 * util/hostfs.c (grub_hostfs_dir): likewise
29455 * lib/datetime.c: moved to ...
29456 * normal/datetime.c: ... moved here
29457 (grub_unixtime2datetime): new function
29458 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29459 * normal/completion.c (iterate_dir): use new dir syntax
29460 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29461 last modification time of a volume
7dd4a573 29462 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29463 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29464 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29465 (normal_mod_SOURCES): likewise
29466 (datetime_mod_SOURCES): Removed lib/datetime.c
29467 * conf/i386-efi.rmk: likewise
7dd4a573 29468 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29469 * conf/i386-pc.rmk: likewise
29470 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29471 * conf/sparc64-ieee1275.rmk: likewise
29472 * conf/x86_64-efi.rmk: likewise
05aaebfb 29473
8a7e1a14 294742009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29475
29476 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29477
29478 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29479 on grub_fat_find_dir
29480 (grub_fat_find_dir): use grub_fat_iterate_dir
29481 (grub_fat_label): likewise
29482
04186a9c 294832009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29484
7dd4a573 29485 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29486 and command.h
29487 remove extraneous kernel_elf_HEADERS
29488
da4c0bb6 294892009-04-04 Bean <bean123ch@gnail.com>
29490
29491 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29492
29493 * util/misc.c: Likewise.
29494
54ad9555 294952009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29496
29497 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29498 instead of grub_printf.
29499
7a6bf9f2 295002009-04-03 Robert Millan <rmh@aybabtu.com>
29501
29502 * loader/i386/linux.c (grub_linux_setup_video): Fill
29503 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29504 values from `mode info' structure instead of hardcoded
29505 values.
29506
3fcc2083 295072009-04-01 Pavel Roskin <proski@gnu.org>
29508
29509 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29510 unused now.
29511 * genmk.rb: Likewise.
29512 * configure.ac: Likewise.
29513
5ec9740b 295142009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29515
29516 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29517 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29518
5270cec8 295192009-04-01 David S. Miller <davem@davemloft.net>
29520
29521 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29522 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29523 (grub_setjmp): Mark with 'returns_twice' attribute.
29524 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29525 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29526 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29527
9c3dd854 295282009-04-01 Robert Millan <rmh@aybabtu.com>
29529
29530 Reapply fix from 2008-07-28 which was accidentally reverted; also
29531 perform the same fix to a similar check in same function.
29532
29533 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29534 with the same number are found, just use issue a warning with
29535 grub_dprintf(), as this error has been reported to be non-fatal.
29536
0d818b7e 295372009-03-31 Pavel Roskin <proski@gnu.org>
29538
29539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29540 for cross-compilation.
29541
95646d92 295422009-03-30 Robert Millan <rmh@aybabtu.com>
29543
29544 Fix i386-ieee1275 build.
29545
29546 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29547 Remove declaration.
29548
6a003ed1 295492009-03-30 Pavel Roskin <proski@gnu.org>
29550
29551 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29552 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29553 zero-terminated, rely only on the strlen value. Fix comparison
29554 of strings differing in length.
29555
92f33540 295562009-03-30 Robert Millan <rmh@aybabtu.com>
29557
29558 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29559 checking for abi version. Improve error messages on BIOS to notify
29560 user about `linux16' command.
29561
a8c48fd5 295622009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29563
f968172e 29564 Leak fixes
a8c48fd5 29565
f968172e 29566 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29567 in case of collision
29568 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29569
9c323f09 295702009-03-29 Robert Millan <rmh@aybabtu.com>
29571
29572 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29573 set `vid_mode' accordingly.
29574 (grub_linux_boot): Process `vid_mode' and set video mode.
29575
ae68f423 295762009-03-29 Robert Millan <rmh@aybabtu.com>
29577
29578 * util/grub.d/10_linux.in (linux_entry): New function.
29579 Factorize generation of Linux boot entries.
29580
5709cfc4 295812009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29582
29583 Make the format of Environment Block plain text. The boot loader
29584 part is not tested well yet.
7dd4a573 29585
5709cfc4 29586 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29587 (buffer): Removed.
29588 (envblk): Likewise.
29589 (usage): Remove "info" and "clear". Add "unset". Update the
29590 description of "set", as this does not delete variables any
29591 longer.
29592 (create_envblk_file): Complete rewrite.
29593 (open_envblk_file): Likewise.
29594 (cmd_info): Removed.
29595 (cmd_list): Likewise.
29596 (cmd_set): Likewise.
29597 (cmd_clear): Likewise.
29598 (list_variables): New function.
29599 (write_envblk): Likewise.
29600 (set_variables): Likewise.
29601 (unset_variables): Likewise.
29602 (main): Complete rewrite.
29603
29604 * commands/loadenv.c (buffer): Removed.
29605 (envblk): Likewise.
29606 (open_envblk_file): New function.
29607 (read_envblk_file): Complete rewrite.
29608 (grub_cmd_load_env): Likewise.
29609 (grub_cmd_list_env): Likewise.
29610 (struct blocklist): New struct.
29611 (free_blocklists): New function.
29612 (check_blocklists): Likewise.
29613 (write_blocklists): Likewise.
29614 (grub_cmd_save_env): Complete rewrite.
29615
29616 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29617 a plain text signature.
29618 (GRUB_ENVBLK_MAXLEN): Removed.
29619 (struct grub_envblk): Complete rewrite.
29620 (grub_envblk_find): Removed.
29621 (grub_envblk_insert): Likewise.
29622 (grub_envblk_open): New prototype.
29623 (grub_envblk_set): Likewise.
29624 (grub_envblk_delete): Put const to VALUE.
29625 (grub_envblk_iterate): Put const to NAME and VALUE.
29626 (grub_envblk_close): New prototype.
29627 (grub_envblk_buffer): New inline function.
29628 (grub_envblk_size): Likewise.
29629
29630 * lib/envblk.c: Include grub/mm.h.
29631 (grub_env_find): Removed.
29632 (grub_envblk_open): New function.
29633 (grub_envblk_close): Likewise.
29634 (escaped_value_len): Likewise.
29635 (find_next_line): Likewise.
29636 (grub_envblk_insert): Removed.
29637 (grub_envblk_set): New function.
29638 (grub_envblk_delete): Complete rewrite.
29639 (grub_envblk_iterate): Likewise.
29640
a9368fd3 296412009-03-28 Robert Millan <rmh@aybabtu.com>
29642
29643 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29644 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29645 variables. Use 16-bit loader.
29646 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29647 loader.
29648 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29649 (grub_linux16_boot): ... this. Update all users.
29650 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29651 (grub_linux_boot): ... this. Update all users.
29652
29653 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29654 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29655 commands to `linux16' and `initrd16'.
29656 (GRUB_MOD_FINI(linux)): Rename to ...
29657 (GRUB_MOD_FINI(linux16)): ... this.
29658
e4dd5a7e 296592009-03-24 Pavel Roskin <proski@gnu.org>
29660
29661 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29662 not just for compilation.
29663
c04d6e05 296642009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29665
29666 Move multiboot helper out of kernel
29667
29668 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29669 `loader/i386/multiboot_helper.S'.
29670 * conf/i386-coreboot.rmk: Likewise
29671 * conf/i386-ieee1275.rmk: Likewise
29672
29673 * kern/i386/loader.S: Move multiboot helpers from here...
29674 * loader/i386/multiboot_helper.S: ...moved here
29675 * include/grub/i386/loader.h: Move declarations of multiboot
29676 helpers from here...
29677 * include/grub/i386/multiboot.h: ...moved here
29678 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29679
42a5b3fc 296802009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29681
29682 * kern/env.c (grub_env_context_open): Added an argument to specify
29683 whether a new context inherits exported variables from current
29684 one. This is useful when making a sandbox to interpret a config
29685 file.
29686 All callers updated.
29687
29688 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29689
b28bbc4e 296902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29691
29692 * kern/env.c (grub_env_context_close): Fix memory leaks.
29693
f04f02e4 296942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29695
29696 * normal/main.c (grub_normal_execute): Added an argument
29697 BATCH to specify if an interactive interface should be provided
29698 after reading a config file.
29699 All callers updated.
29700 (read_command_list): Prevent being executed twice.
29701 (read_fs_list): Likewise.
29702
42a5b3fc 29703 * include/grub/normal.h (grub_normal_execute): Updated the
29704 prototype.
f04f02e4 29705
41473ac2 297062009-03-22 Pavel Roskin <proski@gno.org>
29707
fbc00b0c 29708 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29709 _start.
29710 * kern/i386/pc/startup.S: Likewise.
29711 * kern/i386/efi/startup.S: Likewise.
29712 * kern/i386/ieee1275/startup.S: Likewise.
29713 * kern/i386/coreboot/startup.S: Likewise.
29714 * kern/x86_64/efi/startup.S: Likewise.
29715
41473ac2 29716 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29717 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29718 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29719
2274cc8f 297202009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29721
29722 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29723
29724 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29725 limit detection.
29726 Use vaddr of correct segment for entry_point.
29727
b1b797cb 297282009-03-21 Bean <bean123ch@gmail.com>
29729
29730 * commands/blocklist.c: Add include file <grub/command.h>, remove
29731 <grub/normal.h> and <grub/arg.h>.
29732 (grub_cmd_blocklist): Use the new command interface.
29733 (GRUB_MOD_INIT): Likewise.
29734 (GRUB_MOD_FINI): Likewise.
29735 * commands/boot.c: Likewise.
29736 * commands/cat.c: Likewise.
29737 * commands/cmp.c: Likewise.
29738 * commands/configfile.c: Likewise.
29739 * commands/crc.c: Likewise.
29740 * commands/echo.c: Likewise.
29741 * commands/halt.c: Likewise.
29742 * commands/handler.c: Likewise.
29743 * commands/hdparm.c: Likewise.
29744 * commands/help.c: Likewise.
29745 * commands/hexdump.c: Likewise.
29746 * commands/loadenv.c: Likewise.
29747 * commands/ls.c: Likewise.
29748 * commands/lsmmap.c: Likewise.
29749 * commands/lspci.c: Likewise.
29750 * commands/loadenv.c: Likewise.
29751 * commands/read.c: Likewise.
29752 * commands/reboot.c: Likewise.
29753 * commands/search.c: Likewise.
29754 * commands/sleep.c: Likewise.
29755 * commands/test.c: Likewise.
29756 * commands/usbtest.c: Likewise.
29757 * commands/videotest.c: Likewise.
29758 * commands/i386/cpuid.c: Likewise.
29759 * commands/i386/pc/halt.c: Likewise.
29760 * commands/i386/pc/play.c: Likewise.
29761 * commands/i386/pc/pxecmd.c: Likewise.
29762 * commands/i386/pc/vbeinfo.c: Likewise.
29763 * commands/i386/pc/vbetest.c: Likewise.
29764 * commands/ieee1275/suspend.c: Likewise.
29765 * disk/loopback.c: Likewise.
29766 * font/font_cmd.c: Likewise.
29767 * hello/hello.c: Likewise.
29768 * loader/efi/appleloader.c: Likewise.
29769 * loader/efi/chainloader.c: Likewise.
29770 * loader/i386/bsd.c: Likewise.
29771 * loader/i386/efi/linux.c: Likewise.
29772 * loader/i386/ieee1275/linux.c: Likewise.
29773 * loader/i386/linux.c: Likewise.
29774 * loader/i386/pc/chainloader.c: Likewise.
29775 * loader/i386/pc/linux.c: Likewise.
29776 * loader/powerpc/ieee1275/linux.c: Likewise.
29777 * loader/multiboot_loader.c: Likewise.
29778 * term/gfxterm.c: Likewise.
29779 * term/i386/pc/serial.c: Likewise.
29780 * term/terminfo.c: Likewise.
29781
29782 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29783 * term/i386/pc/vga.c: Likewise.
29784 * video/readers/jpeg.c: Likewise.
29785 * video/readers/png.c: Likewise.
29786 * video/readers/tga.c: Likewise.
29787
29788 * util/grub-fstest (cmd_loopback): Removed.
29789 (cmd_blocklist): Likewise.
29790 (cmd_ls): Likewise.
29791 (grub_register_command): Likewise.
29792 (grub_unregister_command): Likewise.
29793 (execute_command): Use grub_command_find to locate command and execute
29794 it.
29795
29796 * include/grub/efi/chainloader.h: Removed.
29797 * loader/efi/chainloader_normal.c: Likewise.
29798 * loader/i386/bsd_normal.c: Likewise.
29799 * loader/i386/pc/chainloader_normal.c: Likewise.
29800 * loader/i386/pc/multiboot_normal.c: Likewise.
29801 * loader/linux_normal.c: Likewise.
29802 * loader/multiboot_loader_normal.c: Likewise.
29803 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29804
29805 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29806 and grub_register_command_p1.
29807
29808 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29809 kern/command.c, lib/arg.c and commands/extcmd.c.
29810 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29811 (minicmd_mod_SOURCES): New variable.
29812 (minicmd_mod_CFLAGS): Likewise.
29813 (minicmd_mod_LDFLAGS): Likewise.
29814 (extcmd_mod_SOURCES): Likewise.
29815 (extcmd_mod_CFLAGS): Likewise.
29816 (extcmd_mod_LDFLAGS): Likewise.
29817 (boot_mod_SOURCES): Removed.
29818 (boot_mod_CFLAGS): Likewise.
29819 (boot_mod_LDFLAGS): Likewise.
29820
29821 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29822 kern/corecmd.c.
29823 (kernel_img_HEADERS): Add command.h.
29824 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29825 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29826 and lib/arg.c.
29827 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29828 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29829 remove the corresponding normal mode command.
29830 (normal_mod_SOURCES): Remove normal/arg.c.
29831 * conf/i386-coreboot.rmk: Likewise.
29832 * conf/i386-efi.rmk: Likewise.
29833 * conf/i386-ieee1275.rmk: Likewise.
29834 * conf/powerpc-ieee1275.rmk: Likewise.
29835 * conf/x86_64-efi.rmk: Likewise.
29836
29837 * include/grub/arg.h: Move from here ...
29838 * include/grub/lib/arg.h: ... to here.
29839
29840 * normal/arg.c: Move from here ...
29841 * lib/arg.c: ... to here.
29842
29843 * commands/extcmd.c: New file.
29844 * commands/minicmd.c: Likewise.
29845 * include/grub/command.h: Likewise.
29846 * include/grub/extcmd.h: Likewise.
29847 * kern/command.c: Likewise.
29848 * kern/corecmd.c: Likewise.
29849
29850 * kern/list.c (grub_list_iterate): Return int instead of void.
29851 (grub_list_insert): New function.
29852 (grub_prio_list_insert): Likewise.
29853
29854 * kern/rescue.c (grub_rescue_command): Removed.
29855 (grub_rescue_command_list): Likewise.
29856 (grub_rescue_register_command): Likewise.
29857 (grub_rescue_unregister_command): Likewise.
29858 (grub_rescue_cmd_boot): Move to minicmd.c
29859 (grub_rescue_cmd_help): Likewise.
29860 (grub_rescue_cmd_info): Likewise.
29861 (grub_rescue_cmd_boot): Likewise.
29862 (grub_rescue_cmd_testload): Likewise.
29863 (grub_rescue_cmd_dump): Likewise.
29864 (grub_rescue_cmd_rmmod): Likewise.
29865 (grub_rescue_cmd_lsmod): Likewise.
29866 (grub_rescue_cmd_exit): Likewise.
29867 (grub_rescue_print_devices): Moved to corecmd.c.
29868 (grub_rescue_print_files): Likewise.
29869 (grub_rescue_cmd_ls): Likewise.
29870 (grub_rescue_cmd_insmod): Likewise.
29871 (grub_rescue_cmd_set): Likewise.
29872 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29873 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29874 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29875 commands, remove grub_rescue_register_command calls.
b1b797cb 29876
7d074e3c 29877 * normal/command.c (grub_register_command): Removed.
b1b797cb 29878 (grub_unregister_command): Likewise.
29879 (grub_command_find): Likewise.
29880 (grub_iterate_commands): Likewise.
29881 (rescue_command): Likewise.
29882 (export_command): Moved to corecmd.c.
29883 (set_command): Removed.
29884 (unset_command): Likewise.
29885 (insmod_command): Likewise.
29886 (rmmod_command): Likewise.
29887 (lsmod_command): Likewise.
29888 (grub_command_init): Likewise.
29889
29890 * normal/completion.c (iterate_command): Use cmd->prio to check for
29891 active command.
29892 (complete_arguments): Use grub_extcmd_t structure to find options.
29893 (grub_normal_do_completion): Change function grub_iterate_commands to
29894 grub_command_iterate.
29895
29896 * normal/execute.c (grub_script_execute_cmd): No need to parse
29897 argument here.
29898
29899 * normal/main.c (grub_dyncmd_dispatcher): New function.
29900 (read_command_list): Register unload commands as dyncmd.
29901 (grub_cmd_normal): Use new command interface, register rescue,
29902 unregister normal at entry, register normal, unregister rescue at exit.
29903
29904 * include/grub/list.h (grub_list_test_t): New type.
29905 (grub_list_iterate): Return int instead of void.
29906 (grub_list_insert): New function.
29907 (GRUB_AS_NAMED_LIST_P): New macro.
29908 (GRUB_AS_PRIO_LIST): Likewise.
29909 (GRUB_AS_PRIO_LIST_P): Likewise.
29910 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29911 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29912 (grub_prio_list): New structure.
29913 (grub_prio_list_insert): New function.
29914 (grub_prio_list_remove): New inline function.
29915
29916 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29917 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29918 (GRUB_COMMAND_FLAG_MENU): Likewise.
29919 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29920 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29921 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29922 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29923 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29924 (grub_command): Likewise.
29925 (grub_register_command): Likewise.
29926 (grub_command_find): Likewise.
29927 (grub_iterate_commands): Likewise.
29928 (grub_command_init): Likewise.
29929 (grub_arg_parse): Likewise.
29930 (grub_arg_show_help): Likewise.
29931
29932 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29933 (grub_rescue_unregister_command): Likewise.
29934
29935 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29936 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29937 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29938
29939 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29940 grub_rescue_cmd_initrd.
29941 * include/grub/i386/loader.h: Likewise.
29942 * include/grub/x86_64/loader.h: Likewise.
29943
29944 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29945
1f4147aa 299462009-03-21 Bean <bean123ch@gmail.com>
29947
29948 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29949 instead of stat in mingw environment.
29950
29951 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29952
29953 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29954
29955 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29956 AC_CONFIG_LINKS.
29957
2156d5ba 299582009-03-21 Bean <bean123ch@gmail.com>
29959
29960 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29961 out of range error.
29962
177b82ca 299632009-03-18 Michel Dänzer <michel@daenzer.net>
29964
29965 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29966 checking inode flags for EXT4_EXTENTS_FLAG.
29967
14aad807 299682009-03-18 Robert Millan <rmh@aybabtu.com>
29969
29970 * loader/i386/linux.c: Include `<grub/video.h>' and
29971 `<grub/i386/pc/vbe.h>'..
29972 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29973 (grub_linux32_boot): Attempt to configure video settings with
29974 grub_linux_setup_video().
29975 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29976 to avoid grub_console_fini() which would step out of graphical mode
29977 unconditionally.
29978
8cf83a27 299792009-03-14 Robert Millan <rmh@aybabtu.com>
29980
29981 Fix build on powerpc.
29982 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29983
40164e75 299842009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29985
29986 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29987 background image command.
29988
c58bc32a 299892009-03-12 Colin D Bennett <colin@gibibit.com>
29990
29991 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29992 (grub_gfxterm_putchar): Extract pairs of identical calls to
29993 draw_cursor out of conditional blocks.
29994
5415144a 299952009-03-11 Pavel Roskin <proski@gnu.org>
29996
29997 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29998 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29999
6394042e 300002009-03-11 Robert Millan <rmh@aybabtu.com>
30001
30002 * loader/i386/multiboot_elfxx.c
30003 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30004
b7b50e5f 300052009-03-11 Felix Zielcke <fzielcke@z-51.de>
30006
30007 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30008 `kern/handler.c'.
30009
1ca7fc96 300102009-03-11 Robert Millan <rmh@aybabtu.com>
30011
30012 * loader/i386/multiboot.c (code_size): New variable.
30013 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30014 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30015 4-byte alignment to MBI and others by increasing
7d074e3c 30016 `boot_loader_name_length' appropriately.
1ca7fc96 30017
30018 * loader/i386/multiboot_elfxx.c
30019 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30020
a83ea1d2 300212009-03-09 Felix Zielcke <fzielcke@z-51.de>
30022
30023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30024 `fs/ext2.c'.
30025
aa9f3bff 300262009-03-08 Robert Millan <rmh@aybabtu.com>
30027
30028 Make loader/i386/linux.c usable on i386-pc again.
30029
30030 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30031 memory to heap.
30032 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30033 `#error' stanza.
30034
d8b3b60e 300352009-03-07 Bean <bean123ch@gmail.com>
30036
30037 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30038 allocation.
30039
b362c9e9 300402009-03-06 Robert Millan <rmh@aybabtu.com>
30041
30042 Fix display issue on terminals with screen size other than 80x25
30043 (e.g. gfxterm with resolution higher than 640x480).
30044
30045 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30046 position relative to the center of the terminal instead of relying
b362c9e9 30047 on a hardcoded offset.
30048
9304eef1 300492009-03-04 Robert Millan <rmh@aybabtu.com>
30050
30051 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30052 installed.
30053
30054 * Makefile.in (host_kernel): New variable.
30055 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30056 scripts instead of just the windows one.
30057 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30058
eabc95fb 300592009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30060
30061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30062 `kern/handler.c'.
30063 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30064 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30069
ceb1223c 300702009-03-04 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30073 or if there's no space for the disk label and print the partition number on a
30074 invalid magic.
30075
4910684a 300762009-03-04 Felix Zielcke <fzielcke@z-51.de>
30077
30078 * util/misc.c: Include <time.h>.
30079 (grub_millisleep): New function.
30080
7e9ca17a 300812009-03-04 Bean <bean123ch@gmail.com>
30082
30083 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30084 another option -mno-red-zone.
30085
30086 * commands/handler.c: Change module description.
30087
30088 * kern/handler.c: Add missing space at the end of description line.
30089
30090 * kern/list.c: Likewise.
30091
f501677c 300922009-03-03 Robert Millan <rmh@aybabtu.com>
30093
30094 Move more components to the relocation area, and fix mbi pointer
30095 handling to use the destination rather than the origin (thanks to
30096 Vladimir Serbinenko for spotting).
30097
30098 * loader/i386/multiboot.c (mbi_dest): New variable.
30099 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30100 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30101 relocation area.
30102
9902d047 301032009-03-01 Bean <bean123ch@gmail.com>
30104
50fb7002 30105 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30106 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30107 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30108 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30109
30110 * loader/i386/efi/linux.c (acpi_guid): New variable.
30111 (acpi_guid): Likewise.
30112 (EBDA_SEG_ADDR): New constant.
30113 (LOW_MEM_ADDR): Likewise.
30114 (FAKE_EBDA_SEG): Likewise.
30115 (fake_bios_data): New function.
30116 (grub_linux_boot): Call fake_bios_data.
30117
71b9f361 301182009-03-01 Bean <bean123ch@gmail.com>
30119
30120 * commands/terminal.c: Removed.
30121
30122 * commands/handler.c: New file.
30123
30124 * include/grub/list.h: Likewise.
30125
30126 * include/grub/handler.h: Likewise.
30127
30128 * kern/list.c: Likewise.
30129
30130 * kern/handler.c: Likewise.
30131
30132 * kern/term.h: Include header file <grub/handler.h>.
30133 (grub_term_input): Move next field to the beginning.
30134 (grub_term_output): Likewise.
30135 (grub_term_input_class): New variable.
30136 (grub_term_output_class): Likewise.
30137 (grub_term_register_input): Changed to inline function.
30138 (grub_term_register_output): Likewise.
30139 (grub_term_unregister_input): Likewise.
30140 (grub_term_unregister_output): Likewise.
30141 (grub_term_set_current_input): Likewise.
30142 (grub_term_set_current_output): Likewise.
30143 (grub_term_get_current_input): Likewise.
30144 (grub_term_get_current_output): Likewise.
30145 (grub_term_iterate_input): Removed.
30146 (grub_term_iterate_output): Likewise.
30147
30148 * kern/term.c (grub_term_list_input): Removed.
30149 (grub_term_list_output): Likewise.
30150 (grub_term_input_class): New variable.
30151 (grub_term_output_class): Likewise.
50fb7002 30152 (grub_cur_term_input): Change variable as macro.
71b9f361 30153 (grub_cur_term_output): Likewise.
30154 (grub_term_register_input): Removed.
30155 (grub_term_register_output): Likewise.
30156 (grub_term_unregister_input): Likewise.
30157 (grub_term_unregister_output): Likewise.
30158 (grub_term_set_current_input): Likewise.
30159 (grub_term_set_current_output): Likewise.
30160 (grub_term_iterate_input): Likewise.
30161 (grub_term_iterate_output): Likewise.
30162 (grub_term_get_current_input): Likewise.
30163 (grub_term_get_current_output): Likewise.
30164
30165 * util/grub-editenv.c: Include header file <grub/handler.h>.
30166 (grub_term_get_current_input): Removed.
30167 (grub_term_get_current_output): Likewise.
30168 (grub_term_input_class): New variable.
50fb7002 30169 (grub_term_output_class): Likewise.
71b9f361 30170
30171 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30172 (grub_term_get_current_output): Likewise.
30173 (grub_term_input_class): New variable.
50fb7002 30174 (grub_term_output_class): Likewise.
71b9f361 30175
30176 * util/grub-probe.c (grub_term_get_current_input): Removed.
30177 (grub_term_get_current_output): Likewise.
30178 (grub_term_input_class): New variable.
50fb7002 30179 (grub_term_output_class): Likewise.
71b9f361 30180
30181 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30182 (grub_term_get_current_output): Likewise.
30183 (grub_term_input_class): New variable.
50fb7002 30184 (grub_term_output_class): Likewise.
71b9f361 30185
30186 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30187 (terminal_mod_SOURCES): Likewise.
30188 (terminal_mod_CFLAGS): Likewise.
30189 (terminal_mod_LDFLAGS): Likewise.
30190
30191 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30192 handler.c.
30193 (kernel_img_SOURCES): Add list.c and handler.c.
30194 (kernel_img_HEADERS): Add list.h and handler.h.
30195
30196 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30197 handler.c.
30198 (kernel_mod_SOURCES): Add list.c and handler.c.
30199 (kernel_mod_HEADERS): Add list.h and handler.h.
30200
30201 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30202 handler.c.
30203 (kernel_elf_SOURCES): Add list.c and handler.c.
30204 (kernel_elf_HEADERS): Add list.h and handler.h.
30205
30206 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30207 handler.c.
30208 (kernel_elf_SOURCES): Add list.c and handler.c.
30209 (kernel_elf_HEADERS): Add list.h and handler.h.
30210
30211 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30212 handler.c.
30213 (kernel_mod_SOURCES): Add list.c and handler.c.
30214 (kernel_mod_HEADERS): Add list.h and handler.h.
30215
30216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30217 handler.c.
30218 (kernel_elf_SOURCES): Add list.c and handler.c.
30219 (kernel_elf_HEADERS): Add list.h and handler.h.
30220
8a31787f 302212009-02-27 Robert Millan <rmh@aybabtu.com>
30222
30223 Factorize elf32 / elf64 code in Multiboot loader. This will
30224 prevent it from getting out of sync again.
30225
30226 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30227 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30228 grub_multiboot_load_elf64): Move from here ...
30229 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30230 grub_multiboot_load_elf): ... to here (new file).
30231
51cd3dfc 302322009-02-27 Robert Millan <rmh@aybabtu.com>
30233
30234 * util/grub.d/10_linux.in: Rename "single-user mode" to
30235 "recovery mode".
30236
6e8c9c3a 302372009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30238
30239 Don't leak in SCSI code.
30240 * disk/scsi.c (grub_scsi_close): free `scsi'.
30241
4b6bf4f9 302422009-02-27 Robert Millan <rmh@aybabtu.com>
30243
30244 * loader/i386/pc/multiboot.c: Move from here ...
30245 * loader/i386/multiboot.c: ... to here. Update all users.
30246
b9413424 302472009-02-27 Robert Millan <rmh@aybabtu.com>
30248
30249 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30250 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30251
50fb7002 302522009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30253
30254 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30255 b-tree.
30256
8cc50345 302572009-02-27 Robert Millan <rmh@aybabtu.com>
30258
30259 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30260 `0x' qualifier as 0 when base is specified as parameter).
30261
6e09b8b7 302622009-02-24 Bean <bean123ch@gmail.com>
30263
30264 * configure.ac: Check for -mcmodel=large in x86_64 target.
30265
30266 * include/grub/efi/api.h (efi_call_10): New macro.
30267 (efi_wrap_10): New function.
30268
30269 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30270 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30271 (GRUB_PE32_REL_BASED_LOW): Likewise.
30272 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30273 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30274 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30275 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30276 (GRUB_PE32_REL_BASED_REL): Likewise.
30277 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30278 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30279 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30280
30281 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30282 issue.
30283
30284 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30285 (efi_wrap_10): New function.
30286
30287 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30288
30289 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30290 MB/MBP model (NV chipset).
30291 (devdata_devs): Add devpath_5 to the list.
30292
30293 * load/i386/efi/linux.c (video_base): Remove variable.
30294 (RGB_MASK): New macro.
30295 (RGB_MAGIC): Likewise.
30296 (LINE_MIN): Likewise.
30297 (LINE_MAX): Likewise.
30298 (FBTEST_STEP): Likewise.
30299 (FBTEST_COUNT): Likewise.
30300 (fb_list): New variable.
30301 (grub_find_video_card): Remove function.
30302 (find_framebuf): New function.
30303 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30304 line length.
30305
30306 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30307 problem for x86_64.
30308
74b21bee 303092009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30310
30311 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30312
30313 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30314 coding tool name.
30315
a455f472 303162009-02-22 Robert Millan <rmh@aybabtu.com>
30317
30318 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30319 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30320 in our relocation, instead of using it directly from heap. Also
30321 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30322
6374daf3 303232009-02-21 Robert Millan <rmh@aybabtu.com>
30324
30325 Implement USB keyboard support (based on patch by Marco Gerards)
30326
30327 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30328 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30329 (usb_keyboard_mod_LDFLAGS): New variables.
30330
30331 * term/usb_keyboard.c: New file.
30332
8fa4ea70 303332009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30334
30335 Corrected wrong declaration
30336
30337 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30338
353976ac 303392009-02-14 Christian Franke <franke@computer.org>
30340
30341 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30342 (grub_lspci_iter): Print class code and programming interface byte.
30343
6aa1169b 303442009-02-14 Christian Franke <franke@computer.org>
30345
30346 * gendistlist.sh: Ignore `.svn' directories.
30347
265372ca 303482009-02-14 Felix Zielcke <fzielcke@z-51.de>
30349
30350 * fs/fat.c: Add 2009 to Copyright line.
30351
9ff516f3 303522009-02-14 Christian Franke <franke@computer.org>
30353
30354 * commands/hdparm.c: New file. Provides `hdparm' command
30355 which sends ATA commands via grub_disk_ata_pass_through ().
30356
30357 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30358
30359 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30360 and <grub/cpu/io.h> to include/grub/ata.h.
30361 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30362 (GRUB_CDROM_SECTOR_SIZE): Remove.
30363 (GRUB_ATA_*): Move to include/grub/ata.h.
30364 (GRUB_ATAPI_*): Likewise.
30365 (enum grub_ata_commands): Likewise.
30366 (enum grub_ata_timeout_milliseconds): Likewise.
30367 (struct grub_ata_device): Likewise.
30368 (grub_ata_regset): Likewise.
30369 (grub_ata_regget): Likewise.
30370 (grub_ata_regset2): Likewise.
30371 (grub_ata_regget2): Likewise.
30372 (grub_ata_check_ready): Likewise.
30373 (grub_ata_wait_not_busy): Remove static, exported in
30374 include/grub/ata.h.
30375 (grub_ata_wait_drq): Likewise.
30376 (grub_ata_pio_read): Likewise.
30377
30378 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30379 function for hdparm.mod.
30380
30381 * include/grub/ata.h: New file, contains declarations from
30382 disk/ata.c.
30383 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30384
30385 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30386 (grub_disk_ata_pass_through): New exported variable.
30387
30388 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30389
772e23da 303902009-02-13 Colin D Bennett <colin@gibibit.com>
30391
30392 Support multiple fallback entries, and provide an API to support
30393 executing default+fallback menu entries. Renamed the `terminal' menu
30394 viewer to `text'.
30395
30396 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30397 variable declaration.
30398 (grub_menu_execute_callback): New structure declaration.
30399 (grub_menu_execute_callback_t): New typedef.
30400 (grub_menu_execute_with_fallback): New function declaration.
30401 (grub_menu_get_entry): Likewise.
30402 (grub_menu_get_timeout): Likewise.
30403 (grub_menu_set_timeout): Likewise.
30404
30405 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30406
30407 * normal/menu.c (grub_wait_after_message): Moved to
30408 `normal/menu_text.c'.
30409 (draw_border): Likewise.
30410 (print_message): Likewise.
30411 (print_entry): Likewise.
30412 (print_entries): Likewise.
30413 (grub_menu_init_page): Likewise.
30414 (get_entry_number): Likewise.
30415 (print_timeout): Likewise.
30416 (run_menu): Likewise.
30417 (grub_menu_execute_entry): Likewise.
30418 (show_text_menu): Likewise.
30419 (get_and_remove_first_entry_number): New function.
30420 (grub_menu_execute_with_fallback): Likewise.
30421 (get_entry): Renamed to ...
30422 (grub_menu_get_entry): .. this and made it global.
30423 (get_timeout): Renamed to ...
30424 (grub_menu_get_timeout): ... this and made it global.
30425 (set_timeout): Renamed to ...
30426 (grub_menu_set_timeout): ... this and made it global.
30427 (grub_normal_terminal_menu_viewer): Renamed to ...
30428 (grub_normal_text_menu_viewer): ... this.
30429
30430 * normal/menu_text.c: New file. Extracted text-menu-specific code
30431 from normal/menu.c.
30432
30433 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30434 (normal_mod_SOURCES): Likewise.
30435
30436 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30437 (normal_mod_SOURCES): Likewise.
30438
30439 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30440 (normal_mod_SOURCES): Likewise.
30441
30442 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30443 (normal_mod_SOURCES): Likewise.
30444
30445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30446 (normal_mod_SOURCES): Likewise.
30447
30448 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30449 (normal_mod_SOURCES): Likewise.
30450
30451 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30452 (normal_mod_SOURCES): Likewise.
30453
16ac430e 304542009-02-11 Robert Millan <rmh@aybabtu.com>
30455
30456 * util/grub.d/00_header.in: Update old reference to `font' command.
30457
06ff20fc 304582009-02-10 Felix Zielcke <fzielcke@z-51.de>
30459
30460 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30461
30462 Based on patch from Javier Martín.
30463
96da9407 304642009-02-09 Felix Zielcke <fzielcke@z-51.de>
30465
30466 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30467 to avoid false positives with FAT.
96da9407 30468 (grub_fstest_SOURCES): Likewise.
30469 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30470 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30472 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30473 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30474 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30475
6dca6fe4 304762009-02-09 Felix Zielcke <fzielcke@z-51.de>
30477
06ff20fc 30478 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30479 bpb.version_specific.fat12_or_fat16.fstype and
30480 bpb.version_specific.fat32.fstype.
30481
2550c62f 304822009-02-08 Robert Millan <rmh@aybabtu.com>
30483
be110b30 30484 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30485
56978920 304862009-02-08 Robert Millan <rmh@aybabtu.com>
30487
30488 * Makefile.in (host_os, host_cpu): New variables.
30489 (target_os): Remove. Update all users.
30490
d64399b5 304912009-02-08 Marco Gerards <marco@gnu.org>
30492
30493 * Makefile.in (enable_grub_emu_usb): New variable.
30494 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30495 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30496 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30497 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30498 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30499 `usbtest.mod' and `usbms.mod'.
30500 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30501 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30502 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30503 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30504 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30505 variables.
30506
30507 * disk/usbms.c: New file.
30508
30509 * include/grub/usb.h: Likewise.
30510
30511 * include/grub/usbtrans.h: Likewise.
30512
30513 * include/grub/usbdesc.h: Likewise.
30514
30515 * bus/usb/usbtrans.c: Likewise.
30516
30517 * bus/usb/ohci.c: Likewise.
30518
30519 * bus/usb/uhci.c: Likewise.
30520
30521 * bus/usb/usbhub.c: Likewise.
30522
30523 * bus/usb/usb.c: Likewise.
30524
30525 * commands/usbtest.c: Likewise.
30526
30527 * util/usb.c: Likewise.
50fb7002 30528
d64399b5 30529 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30530
30531 * configure.ac: Test for libusb presence.
50fb7002 30532
d64399b5 30533 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30534
2b40d6bb 305352009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30536
30537 * kern/mm.c: Add more comments.
30538
73a4ce81 305392009-02-08 Robert Millan <rmh@aybabtu.com>
30540
30541 Patch from Javier Martín.
30542 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30543 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30544
f821ce59 305452009-02-08 Robert Millan <rmh@aybabtu.com>
30546
30547 * fs/cpio.c: Split tar functionality to ...
30548 * fs/tar.c: ... here (new file). Update all users.
30549
aebfc4b0 305502009-02-07 Robert Millan <rmh@aybabtu.com>
30551
30552 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30553 backward-incompatible features.
30554
30555 Based on patch from Javier Martín, with some adjustments.
30556
50fb7002 305572009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30558
30559 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30560
0bb5115e 305612009-02-07 Robert Millan <rmh@aybabtu.com>
30562
30563 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30564 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30565 after the RAID stuff.
30566
38a0f8e7 305672009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30568
50fb7002 30569 Fixes problem when running vbetest command as reported by
38a0f8e7 30570 Vladimir Serbinenko <phcoder@gmail.com>.
30571
30572 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30573
3143cc1c 305742009-02-04 Felix Zielcke <fzielcke@z-51.de>
30575
30576 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30577 /dev/md/NpN style mdraid devices.
30578
9cba6fce 305792009-02-03 Felix Zielcke <fzielcke@z-51.de>
30580
30581 * util/unifont2pff.rb: Remove.
30582
e507a2c1 305832009-02-03 Felix Zielcke <fzielcke@z-51.de>
30584
30585 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30586 `#'.
30587
d2c2b4cd 305882009-02-03 Felix Zielcke <fzielcke@z-51.de>
30589
30590 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30593 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30596 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30597
b4315fb0 305982009-02-02 Christian Franke <franke@computer.org>
30599
30600 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30601
de3aa260 306022009-02-01 Felix Zielcke <fzielcke@z-51.de>
30603
7c3ff286 30604 * INSTALL: Note that we now require at least autoconf 2.59 and
30605 that LZO is optional.
de3aa260 30606
825a182b 306072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30608
30609 Base on patch on bug #24154 created by Tomas Tintera
30610 <trosos@seznam.cz>.
30611
30612 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30613
a69ef770 306142009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30615
7c3ff286 30616 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30617 <bero@arklinux.org>.
30618
30619 * normal/parser.y (script_init): Add missing semicolon.
30620
6fa42fa6 306212009-01-31 Colin D Bennett <colin@gibibit.com>
30622
7c3ff286 30623 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30624 (free_menu_entry_classes): Added.
30625 (grub_normal_menu_addentry): Added class property handling.
30626 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30627 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30628
30629 * normal/menu_viewer.c: New file.
30630
30631 * normal/menu.c (run_menu_entry): Renamed to ...
30632 (grub_menu_execute_entry): ... this and made it as global.
30633 (grub_menu_run): Renamed to ...
30634 (show_text_menu): ... this and made it local.
30635 (show_text_menu): Adapt to new function names.
30636 (grub_normal_terminal_menu_viewer): New global variable.
30637
30638 * include/grub/menu.h: New file.
30639
30640 * include/grub/menu_viewer.h: New file.
30641
30642 * include/grub/normal.h: Added include to grub/menu.h.
30643 (grub_menu_entry): Moved to include/grub/menu.h.
30644 (grub_menu_entry_t): Likewise.
30645 (grub_menu): Likewise.
30646 (grub_menu_t): Likewise.
30647 (grub_normal_terminal_menu_viewer): Added.
30648 (grub_menu_execute_entry): Likewise.
30649 (grub_menu_run): Removed.
30650
30651 * DISTLIST: Added include/grub/menu.h.
30652 Added include/grub/menu_viewer.h.
30653 Added normal/menu_viewer.c.
30654
306552009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30656
30657 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30658 arglist for menutitle arguments.
30659
30660 * normal/main.c (grub_normal_menu_addentry): Likewise.
30661
30662 * normal/parser.y (menuentry): Likewise.
30663
30664 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30665
30666 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30667 (grub_script_create_cmdmenu): Likewise.
30668
30669 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30670
30671 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30672 changes.
30673
30674 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30675
30676 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30677
30678 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30679
30680 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30681
30682 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30683
30684 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30685
56192c23 306862009-01-30 Christian Franke <franke@computer.org>
30687
30688 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30689 in option help text.
30690
d72521b3 306912009-01-27 Pavel Roskin <proski@gnu.org>
30692
30693 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30694
994b5e84 306952009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30696
30697 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30698
30699 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30700
30701 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30702 unregister function.
30703
6a7eab2c 307042009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30705
30706 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30707
30708 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30709
30710 * util/grub-mkfont.c (usage): Fix typo.
30711
30712 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30713
1806b56e 307142009-01-26 Daniel Mierswa <impulze@impulze.org>
30715
3fb18f09 30716 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30717
336e1fb9 30718 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30719
1806b56e 30720 * kern/misc.c (grub_strcasecmp): New function.
30721 (grub_strcasecmp): Use grub_size_t instead of int for length.
30722 Fix return value.
30723 * include/grub/misc.h: Update function prototypes.
30724
580b2a0f 307252009-01-26 Robert Millan <rmh@aybabtu.com>
30726
30727 * configure.ac: Fix cross-compilation check.
ef257b36 30728
d31c24f1 307292009-01-22 Christian Franke <franke@computer.org>
30730
30731 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30732 (precision) digit string. Allow `.format2' without `format1' (width).
30733 Limit input chars for `%s' output to `format2' if specified. This is
30734 compatible with standard printf ().
30735
3138b44c 307362009-01-22 Christian Franke <franke@computer.org>
30737
30738 * disk/ata.c (grub_ata_wait_status): Replace by ...
30739 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30740 other status bits may be invalid while BSY is asserted.
30741 (grub_ata_check_ready): New function.
30742 (grub_ata_cmd): Removed.
30743 (grub_ata_wait_drq): New function.
30744 (grub_ata_strncpy): Remove inline.
30745 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30746 and error check now done by grub_ata_wait_drq ().
30747 (grub_ata_pio_write): Likewise.
30748 (grub_atapi_identify): Set DEV before check for !BSY. Use
30749 grub_ata_wait_drq () to wait for data.
30750 (grub_ata_device_initialize): Add status register check to
30751 detect missing SATA slave devices. Add debug messages.
30752 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30753 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30754 transfer loop by grub_ata_pio_write ().
30755 (grub_ata_identify): Set DEV before check for !BSY. Use
30756 grub_ata_wait_drq () to wait for data.
ef257b36 30757 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30758 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30759 read/write in one loop. Fix invalid command on write. Fix incomplete
30760 command on (size % batch) == 0. Add missing error check after write of
30761 last block. Add debug messages.
30762 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30763
59a64ef6 307642009-01-19 Christian Franke <franke@computer.org>
30765
30766 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30767 (GRUB_ATAPI_IREASON_*): Likewise.
30768 (grub_ata_pio_write): Fix timeout error return.
30769 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30770 (grub_atapi_wait_drq): New function.
30771 (grub_atapi_packet): New parameter `size'.
30772 Use grub_atapi_wait_drq () and direct write instead of
30773 grub_ata_pio_write ().
30774 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30775 reads the number of bytes requested by the device for each DRQ
30776 assertion.
30777 (grub_atapi_write): Remove old implementation, return not
30778 implemented instead.
30779
1cfe20b3 307802009-01-19 Christian Franke <franke@computer.org>
30781
30782 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30783 of 512 to calculate data size.
30784 (grub_scsi_read12): Likewise.
30785 (grub_scsi_write10): Likewise.
30786 (grub_scsi_write12): Likewise.
30787 (grub_scsi_read): Adjust size according to blocksize.
30788 Add checks for invalid blocksize and unaligned transfer.
30789
bee5fe5d 307902009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30791
30792 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30793
ef257b36 30794 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30795 width glyphs.
30796
3e643f8c 307972009-01-19 Robert Millan <rmh@aybabtu.com>
30798
30799 * config.guess: Update to latest version from config git.
30800 * config.sub: Likewise.
30801
4fa80998 308022009-01-17 Felix Zielcke <fzielcke@z-51.de>
30803
30804 * Makefile.in: Change font compilation to use new grub-mkfont instead
30805 of java version.
30806
30807 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30808 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30809 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30810 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30811 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30812 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30813 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30814 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30815 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30816
7086085b 308172009-01-16 Christian Franke <franke@computer.org>
30818
30819 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30820 (enum grub_ata_timeout_milliseconds): New enum.
30821 (grub_ata_wait_status): Add parameter milliseconds.
30822 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30823 recovery from timed-out commands.
30824 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30825 return grub_errno instead of REG_ERROR.
30826 (grub_ata_pio_write): Add parameter milliseconds.
30827 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30828 Pass milliseconds to grub_ata_wait_status () and
30829 grub_ata_pio_read ().
30830 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30831 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30832 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30833 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30834 It is not suitable for device detection, because DEV bit is ignored,
30835 the command may run too long, and not all devices set the signature
30836 properly.
30837 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30838 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30839 Fix device selection, DEV bit must be set first to address the registers
30840 of the correct device.
30841 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30842 grub_ata_pio_read/write ().
30843 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30844 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30845
4a412913 308462009-01-13 Carles Pina i Estany <carles@pina.cat>
30847
30848 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30849
7795c55e 308502009-01-13 Bean <bean123ch@gmail.com>
d913988c 30851
30852 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30853
7795c55e 308542009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30855
30856 * Makefile.in: (enable_grub_mkfont): New variable.
30857 (freetype_cflags): Likewise.
30858 (freetype_libs): Likewise.
30859
30860 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30861 (grub_mkfont_SOURCES): New variable.
30862 (grub_mkfont_CFLAGS): Likewise.
30863 (grub_mkfont_LDFLAGS): Likewise.
30864
30865 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30866 library if `--enable-grub-mkfont' is requested.
30867 (enable_grub_mkfont): New variable.
30868 (freetype_cflags): Likewise.
30869 (freetype_libs): Likewise.
30870
30871 * util/grub-mkfont.c: New file.
30872
093af1fe 308732009-01-12 Christian Franke <franke@computer.org>
30874
30875 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30876 mode check. Fix setting of compat_use[].
30877
f36cc108 308782009-01-10 Robert Millan <rmh@aybabtu.com>
30879
30880 Update a few copyright years which we forgot to do in 2008 (only for
30881 files whose changes made in 2008 were copyright-significant)
30882
30883 * Makefile.in: Add 2008 to Copyright line.
30884 * disk/ieee1275/ofdisk.c: Likewise.
30885 * disk/efi/efidisk.c: Likewise.
30886 * kern/dl.c: Likewise.
30887 * kern/sparc64/ieee1275/init.c: Likewise.
30888 * kern/mm.c: Likewise.
30889 * kern/efi/mm.c: Likewise.
30890 * boot/i386/pc/boot.S: Likewise.
30891 * genfslist.sh: Likewise.
30892 * fs/iso9660.c: Likewise.
30893 * fs/hfs.c: Likewise.
30894 * fs/jfs.c: Likewise.
30895 * fs/minix.c: Likewise.
30896 * fs/ufs.c: Likewise.
30897 * gensymlist.sh.in: Likewise.
30898 * genkernsyms.sh.in: Likewise.
30899 * include/grub/misc.h: Likewise.
30900 * include/grub/types.h: Likewise.
30901 * include/grub/symbol.h: Likewise.
30902 * include/grub/elf.h: Likewise.
30903 * include/grub/kernel.h: Likewise.
30904 * include/grub/disk.h: Likewise.
30905 * include/grub/dl.h: Likewise.
30906 * include/grub/i386/linux.h: Likewise.
30907 * include/grub/i386/pc/biosdisk.h: Likewise.
30908 * include/grub/efi/api.h: Likewise.
30909 * include/grub/efi/pe32.h: Likewise.
30910 * include/grub/util/misc.h: Likewise.
30911 * normal/execute.c: Likewise.
30912 * normal/arg.c: Likewise.
30913 * normal/completion.c: Likewise.
30914 * normal/lexer.c: Likewise.
30915 * normal/parser.y: Likewise.
30916 * normal/misc.c: Likewise.
30917 * commands/i386/pc/vbeinfo.c: Likewise.
30918 * commands/hexdump.c: Likewise.
30919 * commands/terminal.c: Likewise.
30920 * commands/ls.c: Likewise.
30921 * commands/help.c: Likewise.
30922 * partmap/pc.c: Likewise.
30923 * loader/efi/chainloader.c: Likewise.
30924 * loader/multiboot_loader.c: Likewise.
30925 * loader/i386/pc/multiboot2.c: Likewise.
30926 * term/efi/console.c: Likewise.
30927 * term/i386/pc/serial.c: Likewise.
30928 * util/lvm.c: Likewise.
30929 * util/console.c: Likewise.
30930 * util/i386/efi/grub-mkimage.c: Likewise.
30931 * util/raid.c: Likewise.
30932
7f02114b 309332009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30934
30935 * commands/videotest.c: Removed include to grub/machine/memory.h.
30936
30937 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30938 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30939 (video_mod_SOURCES): Removed.
30940 (video_mod_CFLAGS): Likewise.
30941 (video_mod_LDFLAGS): Likewise.
30942 (gfxterm_mod_SOURCES): Likewise.
30943 (gfxterm_mod_CFLAGS): Likewise.
30944 (gfxterm_mod_LDFLAGS): Likewise.
30945 (videotest_mod_SOURCES): Likewise.
30946 (videotest_mod_CFLAGS): Likewise.
30947 (videotest_mod_LDFLAGS): Likewise.
30948 (bitmap_mod_SOURCES): Likewise.
30949 (bitmap_mod_CFLAGS): Likewise.
30950 (bitmap_mod_LDFLAGS): Likewise.
30951 (tga_mod_SOURCES): Likewise.
30952 (tga_mod_CFLAGS): Likewise.
30953 (tga_mod_LDFLAGS): Likewise.
30954 (jpeg_mod_SOURCES): Likewise.
30955 (jpeg_mod_CFLAGS): Likewise.
30956 (jpeg_mod_LDFLAGS): Likewise.
30957 (png_mod_SOURCES): Likewise.
30958 (png_mod_CFLAGS): Likewise.
30959 (png_mod_LDFLAGS): Likewise.
30960
30961 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30962 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30963 (video_mod_SOURCES): Added.
30964 (video_mod_CFLAGS): Likewise.
30965 (video_mod_LDFLAGS): Likewise.
30966 (videotest_mod_SOURCES): Likewise.
30967 (videotest_mod_CFLAGS): Likewise.
30968 (videotest_mod_LDFLAGS): Likewise.
30969 (bitmap_mod_SOURCES): Likewise.
30970 (bitmap_mod_CFLAGS): Likewise.
30971 (bitmap_mod_LDFLAGS): Likewise.
30972 (tga_mod_SOURCES): Likewise.
30973 (tga_mod_CFLAGS): Likewise.
30974 (tga_mod_LDFLAGS): Likewise.
30975 (jpeg_mod_SOURCES): Likewise.
30976 (jpeg_mod_CFLAGS): Likewise.
30977 (jpeg_mod_LDFLAGS): Likewise.
30978 (png_mod_SOURCES): Likewise.
30979 (png_mod_CFLAGS): Likewise.
30980 (png_mod_LDFLAGS): Likewise.
30981 (gfxterm_mod_SOURCES): Likewise.
30982 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30983 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30984
30985 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30986 grub/machine/console.h.
30987
644fff97 309882009-01-04 Jerone Young <jerone@gmail.com>
30989
30990 Make on screen instructions clearer
30991
30992 Based on patch created by Jidanni <jidanni@jidanni.org>
30993
30994 * normal/menu.c: print clearer instructions on the screen
30995
1e901a75 309962009-01-02 Colin D Bennett <colin@gibibit.com>
30997
30998 New font engine.
34c44600 30999
1e901a75 31000 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31001 build system and fixed gfxterm.c to work with different sized fonts.
31002
31003 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31004
1e901a75 31005 * configure: Re-generated.
34c44600 31006
1e901a75 31007 * DISTLIST: Removed font/manager.c.
31008 Added font/font.c.
31009 Added font/font_cmd.c.
34c44600 31010
1e901a75 31011 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31012 compilation.
34c44600 31013
1e901a75 31014 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31015
31016 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31017
31018 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31019
1e901a75 31020 * normal/menu.c: Likewise.
34c44600 31021
1e901a75 31022 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31023 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31024
1e901a75 31025 * include/grub/font.h: Replaced with new file.
34c44600 31026
1e901a75 31027 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31028 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31029 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31030 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31031 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31032 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31033 fg_red, fg_green, fg_blue, fg_alpha.
31034 (grub_video_adapter): Removed blit_glyph.
34c44600 31035 (grub_video_blit_glyph): Removed.
31036
1e901a75 31037 * font/manager.c: Removed file.
34c44600 31038
31039 * font/font.c: New file.
31040
1e901a75 31041 * font/font_cmd.c: Likewise.
34c44600 31042
1e901a75 31043 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31044
1e901a75 31045 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31046 (grub_video_vbe_map_rgba): Likewise.
31047 (grub_video_vbe_unmap_color_int): Likewise.
31048 (grub_video_vbe_blit_glyph): Removed.
31049 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31050
1e901a75 31051 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31052 (get_pixel): Likewise.
34c44600 31053 (set_pixel): Likewise.
31054
1e901a75 31055 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31056
1e901a75 31057 * term/gfxterm.c: Adapted to new font engine.
34c44600 31058
1e901a75 31059 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31060
1e901a75 31061 * term/i386/pc/vga.c: Likewise.
34c44600 31062
1e901a75 31063 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31064
1e901a75 31065 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31066
1e901a75 31067 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31068
1e901a75 31069 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31070
1e901a75 31071 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31072
1e901a75 31073 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31074
1e901a75 31075 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31076
1e901a75 31077 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31078
1e901a75 31079 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31080
31081 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31082
1e901a75 31083 * util/grub-mkconfig_lib.in: Changed font extension.
31084
278922e8 310852008-12-28 Felix Zielcke <fzielcke@z-51.de>
31086
31087 * util/getroot.c (grub_util_get_grub_dev): Add support for
31088 /dev/md/dNNpNN style partitionable mdraid devices.
31089
3ced05cf 310902008-12-12 Alex Smith <alex@alex-smith.me.uk>
31091
31092 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31093 at a time limit of the PXE TFTP API correctly.
31094 (grub_pxefs_close): Likewise.
31095
7fd0ee30 310962008-11-29 Robert Millan <rmh@aybabtu.com>
31097
34c44600 31098 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31099 grub_ata_device_initialize() calls.
31100
34c44600 311012008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31102
31103 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31104 iteration failed.
31105 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31106
89313780 311072008-11-28 Robert Millan <rmh@aybabtu.com>
31108
31109 Fix build on powerpc-ieee1275. Based on patch created by
31110 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31111 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31112 `kern/ieee1275/mmap.c'.
31113 * include/grub/powerpc/ieee1275/memory.h: New file.
31114
15257703 31115 Provide grub-install on coreboot.
31116 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31117 (grub_install_SOURCES): New variable.
31118 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31119 usable on coreboot.
31120
9fc5388a 311212008-11-25 Felix Zielcke <fzielcke@z-51.de>
31122
31123 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31124 to `grub_term_input_t'.
31125 (grub_term_get_current_output): Change return type to
31126 `grub_term_output_t'.
31127
bc3a2f31 311282008-11-22 Robert Millan <rmh@aybabtu.com>
31129
34c44600 31130 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31131 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31132 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31133 grub_vga_text_cls().
31134
80fc88f2 31135 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31136 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31137
cbf36fd3 31138 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31139 to 0x200000 (avoids trouble with some OFW implementations, and matches
31140 with the one in Yaboot).
31141 Reported by Manoel Abranches
31142
73e8e268 311432008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31144
31145 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31146 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31147
73e8e268 31148 * util/grub-mkconfig_lib.in (grub_warn): New function.
31149 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31150 warnings, to obtain consistent formatting.
31151 * util/grub.d/00_header.in: Likewise.
31152 * util/update-grub_lib.in: Likewise.
31153
e94045a1 31154 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31155 Move comment text to `#error' stanza.
e94045a1 31156
79d29fd7 31157 Harmonize ieee1275's grub_available_iterate() with the generic
31158 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31159 build problem on i386-ieee1275):
31160 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31161 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31162 parameter `type'. Update all users of this function.
31163 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31164 `kern/ieee1275/mmap.c'.
31165 * kern/ieee1275/init.c
31166 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31167 with ...
31168 (grub_machine_mmap_iterate): ... this.
31169 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31170 return type to `grub_err_t'. Update all implementations of this
31171 function prototype.
31172 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31173 Likewise.
31174
60d6b16e 31175 Add `lsmmap' command (lists firmware-provided memory map):
31176 * commands/lsmmap.c: New file.
31177 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31178 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31179 variables.
31180 * conf/powerpc-ieee1275.rmk: Likewise.
31181 * conf/i386-coreboot.rmk: Likewise.
31182 * conf/i386-ieee1275.rmk: Likewise.
31183
ebaaf49b 311842008-11-19 Robert Millan <rmh@aybabtu.com>
31185
31186 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31187 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31188 constraints to initrd allocation (based on code from
31189 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31190 for Linux to find it.
ebaaf49b 31191
dfab719f 311922008-11-14 Robert Millan <rmh@aybabtu.com>
31193
31194 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31195 order to cope with duplicate slashes.
31196
10fc3eb9 311972008-11-14 Robert Millan <rmh@aybabtu.com>
31198
31199 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31200 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31201 don't want to mess with lower memory, because it is used in the Linux
31202 loader.
31203
31204 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31205 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31206 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31207 is in our heap (probably as a result of it being corrupted during
2f2a3442 31208 decompression). Add #error instance with comment to explain why this
31209 loader isn't currently usable on PC/BIOS.
10fc3eb9 31210
e2e07847 312112008-11-14 Robert Millan <rmh@aybabtu.com>
31212
31213 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31214 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31215
fe8e8d69 312162008-11-12 Robert Millan <rmh@aybabtu.com>
31217
31218 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31219
31220 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31221 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31222 from here ...
31223 * include/grub/i386/pc/memory.h: ... to here.
31224
976b07d0 312252008-11-12 Robert Millan <rmh@aybabtu.com>
31226
31227 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31228 split).
31229
31230 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31231 (grub_console_cur_color, grub_console_real_putchar)
31232 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31233 (grub_console_setcolorstate, grub_console_setcolor)
31234 (grub_console_getcolor): Move from here ...
31235 * include/grub/i386/vga_common.h: ... to here (new file).
31236
31237 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31238 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31239 `<grub/i386/io.h>'.
31240 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31241 `<grub/i386/vga_common.h>'.
31242
76679cd3 312432008-11-12 Robert Millan <rmh@aybabtu.com>
31244
31245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31246 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31247 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31248 variables.
31249 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31250 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31251
31252 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31253 grub_console_init() with call to grub_vga_text_init().
31254 (grub_machine_fini): Replace call to
31255 grub_console_fini() with call to grub_vga_text_fini() and
31256 grub_at_keyboard_fini().
31257
31258 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31259 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31260 (grub_console_setcolorstate, grub_console_setcolor)
31261 (grub_console_getcolor): New function prototypes.
31262
31263 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31264 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31265 (grub_vga_text_setcursor): Static-ize.
31266 (grub_vga_text_term): New structure.
31267 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31268
31269 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31270 (grub_console_cur_color, grub_console_standard_color)
31271 (grub_console_normal_color, grub_console_highlight_color)
31272 (map_char, grub_console_putchar, grub_console_getcharwidth)
31273 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31274 (grub_console_getcolor): Move from here ...
31275 * term/i386/vga_common.c: ... to here (same function names).
31276
95b841d3 312772008-11-12 Robert Millan <rmh@aybabtu.com>
31278
31279 Use newly-added Multiboot support in coreboot.
31280
31281 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31282 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31283
31284 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31285 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31286 (codestart): Store the MBI in `startup_multiboot_info' when we're
31287 being loaded using Multiboot.
31288
31289 * kern/i386/coreboot/init.c (grub_machine_init): Move
31290 grub_at_keyboard_init() call to beginning of function (useful for
31291 debugging). Call grub_machine_mmap_init() before attempting to use
31292 grub_machine_mmap_iterate().
31293 (grub_lower_mem, grub_upper_mem): Move from here ...
31294 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31295 here (new file).
31296
31297 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31298 function prototype.
31299
761ca975 313002008-11-12 Robert Millan <rmh@aybabtu.com>
31301
31302 Fix a regression introduced by the at_keyboard.mod split. Because
31303 some terminals are default on some platforms and non-default on
31304 others, the first terminal being registered determines which is
31305 going to be default.
31306
31307 * kern/term.c (grub_term_register_input): If this is the first
31308 terminal being registered, set it as the current one.
31309 (grub_term_register_output): Likewise.
31310
31311 * term/efi/console.c (grub_console_init): Do not call
31312 grub_term_set_current_output() or grub_term_set_current_input().
31313 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31314 * term/i386/pc/console.c (grub_console_init): Likewise.
31315 (grub_console_fini): Do not call grub_term_set_current_input()
31316 (but leave grub_term_set_current_output() to restore text mode).
31317
6c529df7 313182008-11-10 Robert Millan <rmh@aybabtu.com>
31319
31320 * util/grub.d/00_header.in: Add backward compatibility check for
31321 versions of terminal.mod that don't understand `terminal_input' or
31322 `terminal_output'.
31323
132e4113 313242008-11-09 Robert Millan <rmh@aybabtu.com>
31325
31326 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31327 `terminal_input' / `terminal_output', not `terminal'.
31328
ac293d50 313292008-11-08 Robert Millan <rmh@aybabtu.com>
31330
31331 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31332 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31333
0025933a 313342008-11-08 Robert Millan <rmh@aybabtu.com>
31335
31336 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31337 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31338 members. Update all users.
31339 * util/console.c (grub_ncurses_term): Split in ...
31340 (grub_ncurses_term_input): ... this, and ...
31341 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31342 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31343
37c86336 313442008-11-08 Robert Millan <rmh@aybabtu.com>
31345
31346 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31347 (PKGDATA): Add $(pkgdata_SRCDIR).
31348 (pkglib_BUILDDIR): New variable.
31349 (pkgdata_SRCDIR): New variable.
31350 (build_env.mk): New target.
31351 (include_DATA): New variable.
31352 (install-local): Install $(include_DATA) files in $(includedir).
31353
b6c15a2d 313542008-11-07 Pavel Roskin <proski@gnu.org>
31355
d99d46f1 31356 * gendistlist.sh: Use C locale for sorting to ensure consistent
31357 output on all systems.
31358
b6c15a2d 31359 * util/grub.d/00_header.in: Remove incorrect space before
31360 "serial".
31361
c32ee8c9 313622008-11-07 Robert Millan <rmh@aybabtu.com>
31363
31364 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31365 per specification.
31366 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31367 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31368 (based on find_multi_boot1_header).
31369 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31370 using find_multi_boot2_header(), and abort if neither Multiboot or
31371 Multiboot headers were found.
31372
651c29b7 313732008-11-07 Robert Millan <rmh@aybabtu.com>
31374
31375 Modularize at_keyboard.mod:
31376
31377 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31378 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31379 (at_keyboard_mod_LDFLAGS): New variables.
31380
31381 Actual terminal split:
31382
31383 * include/grub/term.h (struct grub_term): Split in ...
31384 (struct grub_term_input): ... this, and ...
31385 (struct grub_term_output): ... this. Update all users.
31386 (grub_term_set_current): Split in ...
31387 (grub_term_set_current_input): ... this, and ...
31388 (grub_term_set_current_output): ... this.
31389 (grub_term_get_current): Split in ...
31390 (grub_term_get_current_input): ... this, and ...
31391 (grub_term_get_current_output): ... this.
31392 (grub_term_register): Split in ...
31393 (grub_term_register_input): ... this, and ...
31394 (grub_term_register_output): ... this.
31395 (grub_term_unregister): Split in ...
31396 (grub_term_unregister_input): ... this, and ...
31397 (grub_term_unregister_output): ... this.
31398 (grub_term_iterate): Split in ...
31399 (grub_term_iterate_input): ... this, and ...
31400 (grub_term_iterate_output): ... this.
31401
31402 * kern/term.c (grub_term_list): Split in ...
31403 (grub_term_list_input): ... this, and ...
31404 (grub_term_list_output): ... this. Update all users.
31405 (grub_cur_term): Split in ...
31406 (grub_cur_term_input): ... this, and ...
31407 (grub_cur_term_output): ... this. Update all users.
31408 (grub_term_set_current): Split in ...
31409 (grub_term_set_current_input): ... this, and ...
31410 (grub_term_set_current_output): ... this.
31411 (grub_term_get_current): Split in ...
31412 (grub_term_get_current_input): ... this, and ...
31413 (grub_term_get_current_output): ... this.
31414 (grub_term_register): Split in ...
31415 (grub_term_register_input): ... this, and ...
31416 (grub_term_register_output): ... this.
31417 (grub_term_unregister): Split in ...
31418 (grub_term_unregister_input): ... this, and ...
31419 (grub_term_unregister_output): ... this.
31420 (grub_term_iterate): Split in ...
31421 (grub_term_iterate_input): ... this, and ...
31422 (grub_term_iterate_output): ... this.
31423
31424 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31425 a check for input and one for output (and only attempt to get keys
31426 from user when input works).
31427
31428 * util/grub-probe.c (grub_term_get_current): Split in ...
31429 (grub_term_get_current_input): ... this, and ...
31430 (grub_term_get_current_output): ... this.
31431 * util/grub-fstest.c: Likewise.
31432 * util/i386/pc/grub-setup.c: Likewise.
31433 * util/grub-editenv.c: Likewise.
31434
31435 Portability adjustments:
31436
31437 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31438 `term/i386/pc/at_keyboard.c'.
31439 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31440 grub_keyboard_controller_init() (now handled by terminal .init).
31441 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31442 grub_at_keyboard_init().
31443 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31444 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31445 at_keyboard.mod via input terminal interface).
31446 * include/grub/i386/coreboot/console.h: Convert into a stub for
31447 `<grub/i386/pc/console.h>'.
31448
31449 Migrate full terminals to new API:
31450
31451 * term/efi/console.c (grub_console_term): Split into ...
31452 (grub_console_term_input): ... this, and ...
31453 (grub_console_term_output): ... this. Update all users.
31454 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31455 (grub_ofconsole_init): Split into ...
31456 (grub_ofconsole_init_input): ... this, and ...
31457 (grub_ofconsole_init_output): ... this.
31458 (grub_ofconsole_term): Split into ...
31459 (grub_ofconsole_term_input): ... this, and ...
31460 (grub_ofconsole_term_output): ... this. Update all users.
31461 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31462 (grub_serial_term_input): ... this, and ...
31463 (grub_serial_term_output): ... this. Update all users.
31464 * term/i386/pc/console.c (grub_console_term): Split into ...
31465 (grub_console_term_input): ... this, and ...
31466 (grub_console_term_output): ... this. Update all users.
31467 (grub_console_term_input): Only enable it on PC/BIOS platform.
31468 (grub_console_init): Remove grub_keyboard_controller_init() call.
31469
31470 Migrate input terminals to new API:
31471
31472 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31473 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31474 i386-specific anyway).
31475 (grub_console_checkkey): Rename to ...
31476 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31477 users.
31478 (grub_keyboard_controller_orig): New variable.
31479 (grub_console_getkey): Rename to ...
31480 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31481 users.
31482 (grub_keyboard_controller_init): Static-ize. Save original
31483 controller value so that it can be restored ...
31484 (grub_keyboard_controller_fini): ... here (new function).
31485 (grub_at_keyboard_term): New structure.
31486 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31487 functions.
31488
31489 Migrate output terminals to new API:
31490
31491 * term/i386/pc/vga.c (grub_vga_term): Change type to
31492 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31493 members. Update all users.
31494 * term/gfxterm.c (grub_video_term): Change type to
31495 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31496 members. Update all users.
31497 * include/grub/i386/pc/console.h (grub_console_checkkey)
31498 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31499 etc).
31500
31501 Migrate `terminal' command and userland tools to new API:
31502
31503 * commands/terminal.c (grub_cmd_terminal): Split into ...
31504 (grub_cmd_terminal_input): ... this, and ...
31505 (grub_cmd_terminal_output): ... this.
31506 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31507 `terminal_input' and `terminal_output'.
31508 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31509 `terminal_input' / `terminal_output' API.
31510 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31511 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31512 provided ${GRUB_TERMINAL}, convert it).
31513
96e5d876 315142008-11-04 Robert Millan <rmh@aybabtu.com>
31515
31516 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31517 for FreeBSD.
31518 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31519
556f3775 315202008-11-03 Bean <bean123ch@gmail.com>
31521
31522 * kern/elf.c (grub_elf32_load): Revert to previous code.
31523 (grub_elf64_load): Likewise.
31524
31525 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31526
926b9823 315272008-11-01 Robert Millan <rmh@aybabtu.com>
31528
31529 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31530 (TARGET_CPPFLAGS): Likewise.
31531 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31532
1432e958 315332008-11-01 Carles Pina i Estany <carles@pina.cat>
31534
31535 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31536
dba3f844 315372008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31538
31539 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31540 addition of objects until the code is not going to be able to fail.
31541
dba3f844 315422008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31543
31544 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31545 (add a missing NULL check, and correct them by moving the pointer
31546 operations after the actual check).
31547
7ab28c21 315482008-10-29 Robert Millan <rmh@aybabtu.com>
31549
31550 * util/i386/pc/grub-install.in: Handle empty string as output from
31551 make_system_path_relative_to_its_root().
31552
1b7748eb 315532008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31554
31555 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31556 circular metadata worst case scenario. If the metadata is circular
31557 then copy the wrap in place.
31558 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31559 project lib/format_text/layout.h
31560 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31561
c9618ab2 315622008-10-03 Felix Zielcke <fzielcke@z-51.de>
31563
7a36edca 31564 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31565
bf981c62 315662008-10-03 Felix Zielcke <fzielcke@z-51.de>
31567
31568 * util/update-grub_lib.in: Mention filename in warning message.
31569
6d994591 315702008-09-29 Felix Zielcke <fzielcke@z-51.de>
31571
31572 * NEWS: Update for rename of update-grub to grub-mkconfig.
31573
18ade780 315742008-09-29 Felix Zielcke <fzielcke@z-51.de>
31575
31576 * util/update-grub_lib.in: Copy to ...
31577 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31578 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31579 * util/update-grub.in: Rename to ...
31580 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31581 option. Add `--output' option to allow users to specify the generated
31582 configuration file. Default to stdout.
31583 (update_grub_dir): Rename to ...
31584 (grub_mkconfig_dir): ... this.
31585 (grub_cfg): Default to an empty string.
31586 * conf/common.rmk (update-grub): Rename to ...
31587 (grub-mkconfig): ... this.
31588 (update-grub_lib): Copy to ...
31589 (grub-mkconfig_lib): ... this.
31590 (update-grub_SCRIPTS): Copy to ...
31591 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31592 (update-grub_DATA): Rename to ...
31593 (grub-mkconfig_DATA): ... this.
31594
556ce6ac 315952008-09-28 Robert Millan <rmh@aybabtu.com>
31596
31597 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31598 to `modified'. Add the real `created' field.
31599 (grub_iso9660_uuid): Use `modified' rather than `created' for
31600 constructing the UUID.
31601
316022008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31603
31604 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31605 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31606
92274e85 316072008-09-28 Bean <bean123ch@gmail.com>
31608
31609 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31610 Thanks to Christian Franke for finding this bug.
31611
add6f17a 316122008-09-25 Robert Millan <rmh@aybabtu.com>
31613
31614 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31615 instances of grub_util_get_disk_name() (see previous commit).
31616
d2a367b8 316172008-09-25 Robert Millan <rmh@aybabtu.com>
31618
31619 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31620 `util/i386/get_disk_name.c'.
31621 * conf/i386-efi.rmk: Likewise.
31622 * conf/x86_64-efi.rmk: Likewise.
31623 * conf/i386-coreboot.rmk: Likewise.
31624 * conf/i386-ieee1275.rmk: Likewise.
31625 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31626 `util/ieee1275/get_disk_name.c'.
31627 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31628 * util/ieee1275/get_disk_name.c: Remove file.
31629 * util/i386/get_disk_name.c: Remove file.
31630 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31631 "hd%d" for device.map entries, rather than using
31632 grub_util_get_disk_name().
31633
81a06771 316342008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31635
31636 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31637 warning.
31638 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31639
5a004279 316402008-09-24 Carles Pina i Estany <carles@pina.cat>
31641
31642 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31643 Changed to 0x5100.
31644 (GRUB_TERM_PPAGE): Changed to 0x4900.
31645
397093d3 316462008-09-24 Robert Millan <rmh@aybabtu.com>
31647
31648 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31649 macros (they were i386-pc specific).
31650 * include/grub/sparc64/ieee1275/console.h: Likewise.
31651 * include/grub/efi/console.h: Likewise.
31652
a91b6c7c 316532008-09-22 Bean <bean123ch@gmail.com>
31654
31655 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31656 resident and in attribute list.
31657
31658 * include/grub/ntfs.h (BMP_LEN): Removed.
31659
c40fd116 316602008-09-22 Bean <bean123ch@gmail.com>
31661
81a06771 31662 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31663 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31664
31665 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31666 error occurs, as grub_disk_open will call grub_disk_close, which will
31667 call p->close (scsi).
31668
81a06771 316692008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31670
31671 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31672 (AC_PREREQ): Bumped to 2.59.
31673 (AC_TRY_COMPILE): Replace obsolete macro with ...
31674 (AC_COMPILE_IFELSE): ... this.
31675 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31676 (AC_LINK_IFELSE): ... this.
31677
5dc43410 316782008-09-21 Felix Zielcke <fzielcke@z-51.de>
31679
31680 * autogen.sh: Add a call to `gendistlist.sh'.
31681
9035dce4 316822008-09-19 Christian Franke <franke@computer.org>
31683
31684 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31685 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31686 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31687 Export __enable_execute_stack() to modules.
31688 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31689 New function.
31690
7fd75377 316912008-09-09 Felix Zielcke <fzielcke@z-51.de>
31692
040030b3 31693 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31694 Sort the list.
31695
316962008-09-09 Felix Zielcke <fzielcke@z-51.de>
31697
31698 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31699 #include <grub/util/hostdisk.h>.
31700
89d5ffcf 317012008-09-08 Robert Millan <rmh@aybabtu.com>
31702
31703 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31704 segments when their filesz is zero (grub_file_read() interprets
81a06771 31705 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31706 Use `lowest_segment' rather than 0 for calculating the current
31707 segment load address.
31708
40da438f 317092008-09-08 Robert Millan <rmh@aybabtu.com>
31710
31711 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31712 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31713 clobbered useful information.
31714
ddbf5556 317152008-09-08 Robert Millan <rmh@aybabtu.com>
31716
31717 * include/grub/util/biosdisk.h: Move to ...
31718 * include/grub/util/hostdisk.h: ... here. Update all users.
31719 * util/biosdisk.c: Move to ...
31720 * util/hostdisk.c: ... here. Update all users.
31721
783d0f48 317222008-09-07 Robert Millan <rmh@aybabtu.com>
31723
31724 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31725 variables.
31726 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31727 and length can be stored directly in the `mbi->mmap_addr' and
31728 `mbi->mmap_length' struct fields.
31729
548e2ea5 317302008-09-07 Robert Millan <rmh@aybabtu.com>
31731
31732 * conf/i386.rmk: New file. Provides declaration for building
31733 `cpuid.mod'.
31734 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31735 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31736 variables.
31737 Include `conf/i386.mk'.
31738 * conf/i386-efi.rmk: Likewise.
31739 * conf/x86_64-efi.rmk: Likewise.
31740 * conf/i386-coreboot.rmk: Likewise.
31741 * conf/i386-ieee1275.rmk: Likewise.
31742
0ea85a37 317432008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31744
31745 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31746 Adds optimization support for BGR based modes.
31747
31748 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31749 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31750 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31751 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31752 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31753 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31754 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31755 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31756 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31757 (grub_video_i386_vbeblit_index_index): Likewise.
31758 (grub_video_i386_vbeblit_replace_directN): Added.
31759 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31760 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31761 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31762 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31763 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31764 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31765 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31766 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31767 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31768 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31769 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31770 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31771 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31772
31773 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31774 (grub_video_i386_vbefill_R8G8B8): Likewise.
31775 (grub_video_i386_vbefill_index): Likewise.
31776 (grub_video_i386_vbefill_direct32): Added.
31777 (grub_video_i386_vbefill_direct24): Likewise.
31778 (grub_video_i386_vbefill_direct16): Likewise.
31779 (grub_video_i386_vbefill_direct8): Likewise.
31780
81a06771 31781 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31782 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31783 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31784 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31785 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31786 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31787
0ea85a37 31788 * video/video.c (grub_video_get_blit_format): Updated to use new
31789 blit formats. Added handling for 16 bit color modes.
81a06771 31790
31791 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31792 fillers.
31793 (common_blitter): Updated to use new blitters.
31794
31795 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31796 Removed.
31797 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31798 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31799 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31800 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31801 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31802 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31803 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31804 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31805 (grub_video_i386_vbeblit_index_index): Likewise.
31806 (grub_video_i386_vbeblit_replace_directN): Added.
31807 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31808 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31809 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31810 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31811 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31812 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31813 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31814 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31815 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31816 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31817 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31818 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31819 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31820
0ea85a37 31821 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31822 (grub_video_i386_vbefill_R8G8B8): Likewise.
31823 (grub_video_i386_vbefill_index): Likewise.
31824 (grub_video_i386_vbefill_direct32): Added.
31825 (grub_video_i386_vbefill_direct24): Likewise.
31826 (grub_video_i386_vbefill_direct16): Likewise.
31827 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31828
0ea85a37 31829 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31830 types.
81a06771 31831
0ea85a37 31832 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31833 types.
81a06771 31834
0ea85a37 31835 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31836 blitter types.
81a06771 31837
0ea85a37 31838 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31839 types.
31840
e8a83df6 318412008-09-06 Felix Zielcke <fzielcke@z-51.de>
31842
31843 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31844 RAID level 1.
31845
6bcd8ee5 318462008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31847
6bcd8ee5 31848 * fs/iso9660.c (grub_iso9660_date): New structure.
31849 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31850 (grub_iso9660_uuid): New function.
c375ae58 31851
59261157 318522008-09-05 Bean <bean123ch@gmail.com>
31853
31854 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31855
31856 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31857 insensitive bit for names in Win32 and Win32 & DOS namespace.
31858
31859 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31860
31861 * include/grub/types.h (LONG_MAX): Likewise.
31862
58b6645a 318632008-09-04 Felix Zielcke <fzielcke@z-51.de>
31864
4ee55921 31865 * util/getroot.c: Include <config.h>.
31866 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31867 add support for /dev/md/N devices and handle LVM double dash escaping.
31868
318692008-09-04 Felix Zielcke <fzielcke@z-51.de>
31870
31871 * config.guess: Update to latest version from config git.
31872 * config.sub: Likewise.
58b6645a 31873
9124f65d 318742008-09-03 Robert Millan <rmh@aybabtu.com>
31875
31876 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31877 `disk->total_sectors'.
31878
81a06771 318792008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31880
31881 * include/grub/normal.h: Fixed incorrect comment for
31882 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31883
81a06771 318842008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31885
31886 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31887 values with defines.
31888
31889 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31890 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31891 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31892 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31893 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31894 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31895 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31896 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31897 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31898 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31899 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31900 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31901 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31902 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31903 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31904 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31905 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31906 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31907 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31908
93d5cbf8 319092008-08-31 Robert Millan <rmh@aybabtu.com>
31910
31911 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31912 declaration.
31913 (grub_multiboot): Fix a few warnings.
31914
21751d50 319152008-08-31 Robert Millan <rmh@aybabtu.com>
31916
31917 * loader/i386/pc/multiboot.c: Update comment not to say that
31918 boot_device support is unimplemented.
31919
e27a75c5 319202008-08-31 Robert Millan <rmh@aybabtu.com>
31921
31922 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31923 or memory map support are unimplemented.
31924
81a06771 319252008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31926
31927 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31928
81a06771 319292008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31930
31931 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31932 total video memory in 'vbeinfo' output; show color format details for
31933 each video mode.
31934
7c5d8d95 319352008-08-30 Pavel Roskin <proski@gnu.org>
31936
31937 * util/genmoddep.c: Remove for real this time.
31938 * DISTLIST: Remove util/genmoddep.c.
31939
4cebd25a 319402008-08-30 Robert Millan <rmh@aybabtu.com>
31941
31942 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31943 as required by Multiboot spec (it was already 4-byte aligned, but
31944 only by chance).
31945
b497a269 319462008-08-29 Pavel Roskin <proski@gnu.org>
31947
e3925185 31948 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31949 * kern/powerpc/ieee1275/startup.S: ... this.
31950 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31951 * DISTLIST: Likewise.
31952
b497a269 31953 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31954 grub/cpu/kernel.h. Add start label for consistency with other
31955 platforms. Add grub_prefix immediately after start. Add jump
31956 to the code after grub_prefix.
31957 * include/grub/powerpc/kernel.h: Provide valid values for
31958 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31959
6e5a42fe 319602008-08-29 Bean <bean123ch@gmail.com>
31961
31962 * configure.ac: Change host_os to cygwin for mingw.
31963 (asprintf): New check for function.
31964
31965 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31966 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31967
31968 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31969 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31970 sync, sleep and grub_util_get_disk_size for mingw.
31971
31972 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31973 to get size in mingw.
31974 (open_device): Use flag O_BINARY if it's defined.
31975 (find_root_device): Add dummy code for mingw.
31976
31977 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31978 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31979 (get_scsi_disk_name): Return 0 for mingw.
31980
31981 * util/hostfs.c: #include <grub/util/misc.h>.
31982 (grub_hostfs_open): Use "rb" flag to open file, use
31983 grub_util_get_disk_size to get disk size for mingw.
31984
31985 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31986 (asprintf): New function if HAVE_ASPRINTF is not set.
31987 (sync): New function for mingw.
31988 (sleep): Likewise.
31989 (grub_util_get_disk_size): Likewise.
31990
ab3f2673 319912008-08-28 Pavel Roskin <proski@gnu.org>
31992
31993 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31994 kern/time.c.
31995
1c282483 319962008-08-28 Robert Millan <rmh@aybabtu.com>
31997
31998 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31999
678e849c 320002008-08-28 Robert Millan <rmh@aybabtu.com>
32001
32002 Change find_grub_drive() syntax so it doesn't prevent it from
32003 detecting NULL names as errors.
32004
32005 * util/biosdisk.c (find_grub_drive): Move free slot search code
32006 from here ...
32007 (find_free_slot): ... to here.
32008 (read_device_map): Use find_free_slot() to search for free slots.
32009
965c75ca 320102008-08-27 Marco Gerards <marco@gnu.org>
32011
32012 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32013 (scsi_mod_SOURCES): New variable.
32014 (scsi_mod_CFLAGS): Likewise
32015 (scsi_mod_LDFLAGS): Likewise.
32016
32017 * disk/scsi.c: New file.
32018
32019 * include/grub/scsi.h: Likewise.
32020
32021 * include/grub/scsicmd.h: Likewise.
32022
32023 * disk/ata.c: Include <grub/scsi.h>.
32024 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32025 instead.
32026 (grub_ata_iterate): Skip ATAPI devices.
32027 (grub_ata_open): Only handle ATAPI devices.
32028 (struct grub_atapi_read): Removed.
32029 (grub_atapi_readsector): Likewise.
32030 (grub_ata_read): No longer handle ATAPI devices.
32031 (grub_ata_write): Likewise.
32032 (grub_atapi_iterate): New function.
32033 (grub_atapi_read): Likewise.
32034 (grub_atapi_write): Likewise.
32035 (grub_atapi_open): Likewise.
32036 (grub_atapi_close): Likewise.
32037 (grub_atapi_dev): New variable.
32038 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32039 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32040
32041 * include/grub/disk.h (enum grub_disk_dev_id): Add
32042 `GRUB_DISK_DEVICE_SCSI_ID'.
32043
c07ae501 320442008-08-26 Robert Millan <rmh@aybabtu.com>
32045
32046 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32047 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32048 descriptive.
32049
5ed20adc 320502008-08-23 Bean <bean123ch@gmail.com>
32051
32052 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32053 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32054 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32055 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32056 dm_nv.mod.
32057 (raid5rec_mod_SOURCES): New macro.
32058 (raid5rec_mod_CFLAGS): Likewise.
32059 (raid5rec_mod_LDFLAGS): Likewise.
32060 (raid6rec_mod_SOURCES): Likewise.
32061 (raid6rec_mod_CFLAGS): Likewise.
32062 (raid6rec_mod_LDFLAGS): Likewise.
32063 (mdraid_mod_SOURCES): Likewise.
32064 (mdraid_mod_CFLAGS): Likewise.
32065 (mdraid_mod_LDFLAGS): Likewise.
32066 (dm_nv_mod_SOURCES): Likewise.
32067 (dm_nv_mod_CFLAGS): Likewise.
32068 (dm_nv_mod_LDFLAGS): Likewise.
32069
32070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32071 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32072 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32073
32074 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32075 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32076
32077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32078
32079 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32080
32081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32082
32083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32084
32085 * disk/raid5_recover.c: New file.
32086
32087 * disk/raid6_recover.c: Likewise.
32088
32089 * disk/mdraid_linux.c: Likewise.
32090
32091 * disk/dmraid_nvidia.c: Likewise.
32092
32093 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32094 ULONG_MAX.
32095
32096 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32097 calculate the size of raid device.
32098 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32099 different layout of raid5.
32100 (grub_raid_scan_device): Remove code specific to mdraid.
32101 (grub_raid_list): New variable.
32102 (free_array): New function.
32103 (grub_raid_register): Likewise.
32104 (grub_raid_unregister): Likewise.
32105 (grub_raid_rescan): Likewise.
32106 (GRUB_MOD_INIT): Don't iterate device here.
32107 (GRUB_MOD_FINI): Use free_array to release resource.
32108
32109 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32110 (grub_raid5_recover_func_t): New function variable type.
32111 (grub_raid6_recover_func_t): Likewise.
32112 (grub_raid5_recover_func): New variable.
32113 (grub_raid6_recover_func): Likewise.
32114 (grub_raid_register): New function.
32115 (grub_raid_unregister): Likewise.
32116 (grub_raid_rescan): Likewise.
32117 (grub_raid_block_xor): Likewise.
32118
32119 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32120 (CMD_CRC): New macro.
32121 (part): Removed.
32122 (read_file): Handle device as well as file.
32123 (cmd_crc): New function.
32124 (fstest): Handle multiple disks.
32125 (options): Remove part, raw and long, add root and diskcount.
32126 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32127 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32128 add handling for the new options, support multiple disks.
32129
32130 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32131
29c18915 321322008-08-23 Bean <bean123ch@gmail.com>
32133
32134 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32135
32136 * genfslist.sh: Ignore kernel.mod.
32137
32138 * genpartmaplist.sh: Likewise.
32139
8415f261 321402008-08-23 Robert Millan <rmh@aybabtu.com>
32141
32142 * util/getroot.c (find_root_device): Skip anything that starts with
32143 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32144
d5a7dc5b 321452008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32146
d5a7dc5b 32147 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32148 * util/grub.d/00_header.in: Allow the administrator to change default
32149 gfxmode via ${GRUB_GFXMODE}.
32150
380cfbb4 321512008-08-21 Felix Zielcke <fzielcke@z-51.de>
32152
32153 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32154
c9baafe7 321552008-08-21 Robert Millan <rmh@aybabtu.com>
32156
32157 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32158 loader.
32159 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32160 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32161
e290bef2 321622008-08-20 Carles Pina i Estany <carles@pina.cat>
32163
32164 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32165 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32166
f9dbfc96 321672008-08-19 Robert Millan <rmh@aybabtu.com>
32168
32169 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32170 (struct grub_virtual_screen): Remove `cursor_color'.
32171 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32172 initialization.
32173 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32174
dd6bd6ab 321752008-08-18 Robert Millan <rmh@aybabtu.com>
32176
32177 Unify (identical) linux_normal.c files.
32178 * loader/i386/efi/linux_normal.c: Move from here ...
32179 * loader/linux_normal.c: ... to here. Update all users.
32180 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32181 * loader/i386/ieee1275/linux_normal.c: Likewise.
32182
7f42f83e 321832008-08-18 Robert Millan <rmh@aybabtu.com>
32184
32185 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32186 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32187 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32188 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32189 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32190 New macros.
32191 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32192 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32193 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32194 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32195 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32196 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32197 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32198 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32199 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32200 portably using grub_getxy().
32201 Replace `-EFI' with `-bzImage' in boot message.
32202
38487ddb 322032008-08-17 Robert Millan <rmh@aybabtu.com>
32204
32205 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32206
deceb3ec 322072008-08-17 Robert Millan <rmh@aybabtu.com>
32208
32209 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32210
32211 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32212 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32213 (grub_machine_mmap_iterate): New function declaration.
32214 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32215 structure.
32216 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32217 macros.
32218
32219 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32220 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32221 Move e820 parsing from here ...
32222 * kern/i386/pc/mmap.c: New file.
32223 (grub_machine_mmap_iterate): ... to here.
32224
32225 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32226 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32227 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32228 (grub_available_iterate): Redeclare to return `void', and redeclare
32229 its hook to use grub_uint64_t as addr and size parameters, and rename
32230 to ...
32231 (grub_machine_mmap_iterate): ... this. Update all users.
32232
32233 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32234 to make it more readable. Rename to ...
32235 (grub_machine_mmap_iterate): ... this.
32236
32237 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32238 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32239 (grub_multiboot): Allocate an extra region after the payload, and fill
32240 it with a Multiboot memory map. Adjust a.out loader to calculate size
32241 with the extra space.
32242 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32243 with the extra space.
32244
f8aa0f43 322452008-08-17 Carles Pina i Estany <carles@pina.cat>
32246
9807deb9 32247 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32248
605f5bb6 322492008-08-17 Felix Zielcke <fzielcke@z-51.de>
32250
32251 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32252 mdate-sh to the list `find' searches for.
32253 * DISTLIST: Regenerated.
32254
210db6c6 322552008-08-16 Felix Zielcke <fzielcke@z-51.de>
32256
32257 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32258 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32259 genmoddep.awk, gensymlist.sh.in.
32260 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32261 * DISTLIST: Regenerated.
48cdbfd4 32262 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32263
1082b929 322642008-08-16 Robert Millan <rmh@aybabtu.com>
32265
32266 * disk/raid.c (grub_raid_init): Handle/report errors set by
32267 grub_device_iterate().
32268 * disk/lvm.c (grub_lvm_init): Likewise.
32269
42ce5170 322702008-08-15 Bean <bean123ch@gmail.com>
32271
32272 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32273 and datehook.mod.
32274 (datetime_mod_SOURCES): New macro.
32275 (datetime_mod_CFLAGS): Likewise.
32276 (datetime_mod_LDFLAGS): Likewise.
32277 (date_mod_SOURCES): Likewise.
32278 (date_mod_CFLAGS): Likewise.
32279 (date_mod_LDFLAGS): Likewise.
32280 (datehook_mod_SOURCES): Likewise.
32281 (datehook_mod_CFLAGS): Likewise.
32282 (datehook_mod_LDFLAGS): Likewise.
32283
32284 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32285 and datehook.mod.
32286 (datetime_mod_SOURCES): New macro.
32287 (datetime_mod_CFLAGS): Likewise.
32288 (datetime_mod_LDFLAGS): Likewise.
32289 (date_mod_SOURCES): Likewise.
32290 (date_mod_CFLAGS): Likewise.
32291 (date_mod_LDFLAGS): Likewise.
32292 (datehook_mod_SOURCES): Likewise.
32293 (datehook_mod_CFLAGS): Likewise.
32294 (datehook_mod_LDFLAGS): Likewise.
32295
32296 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32297 and datehook.mod.
32298 (datetime_mod_SOURCES): New macro.
32299 (datetime_mod_CFLAGS): Likewise.
32300 (datetime_mod_LDFLAGS): Likewise.
32301 (date_mod_SOURCES): Likewise.
32302 (date_mod_CFLAGS): Likewise.
32303 (date_mod_LDFLAGS): Likewise.
32304 (datehook_mod_SOURCES): Likewise.
32305 (datehook_mod_CFLAGS): Likewise.
32306 (datehook_mod_LDFLAGS): Likewise.
32307
32308 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32309 and datehook.mod.
32310 (datetime_mod_SOURCES): New macro.
32311 (datetime_mod_CFLAGS): Likewise.
32312 (datetime_mod_LDFLAGS): Likewise.
32313 (date_mod_SOURCES): Likewise.
32314 (date_mod_CFLAGS): Likewise.
32315 (date_mod_LDFLAGS): Likewise.
32316 (datehook_mod_SOURCES): Likewise.
32317 (datehook_mod_CFLAGS): Likewise.
32318 (datehook_mod_LDFLAGS): Likewise.
32319
32320 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32321 and datehook.mod.
32322 (datetime_mod_SOURCES): New macro.
32323 (datetime_mod_CFLAGS): Likewise.
32324 (datetime_mod_LDFLAGS): Likewise.
32325 (date_mod_SOURCES): Likewise.
32326 (date_mod_CFLAGS): Likewise.
32327 (date_mod_LDFLAGS): Likewise.
32328 (datehook_mod_SOURCES): Likewise.
32329 (datehook_mod_CFLAGS): Likewise.
32330 (datehook_mod_LDFLAGS): Likewise.
32331
32332 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32333
32334 * commands/date.c: New file.
32335
32336 * hook/datehook.c: Likewise.
32337
32338 * include/grub/lib/datetime.h: Likewise.
32339
32340 * include/grub/i386/cmos.h: Likewise.
32341
32342 * lib/datetime.c: Likewise.
32343
32344 * lib/i386/datetime.c: Likewise.
32345
32346 * lib/efi/datetime.c: Likewise.
32347
0e9242da 323482008-08-14 Robert Millan <rmh@aybabtu.com>
32349
32350 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32351 (grub_mkelfimage_SOURCES): New variable.
32352 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32353
32354 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32355 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32356 * conf/powerpc-ieee1275.rmk: Likewise.
32357 * conf/i386-ieee1275.rmk: Likewise.
32358
32359 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32360 * kern/i386/coreboot/init.c: Likewise.
32361
32362 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32363 with `<grub/cpu/kernel.h>'.
32364 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32365 to ...
32366 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32367 * kern/i386/coreboot/startup.S: Likewise.
32368
32369 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32370 (GRUB_MOD_GAP): Remove.
32371 * include/grub/powerpc/kernel.h: New file.
32372 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32373 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32374 * include/grub/i386/kernel.h: New file.
32375 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32376 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32377 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32378
32379 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32380 `grub-mkelfimage'.
32381 Use --directory when invoking grub_mkimage.
32382
32383 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32384 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32385 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32386 and GRUB_KERNEL_CPU_PREFIX.
32387
b86408f8 323882008-08-14 Felix Zielcke <fzielcke@z-51.de>
32389
d5e619ca 32390 * include/grub/err.h (grub_err_printf): New function prototype.
32391 * util/misc.c (grub_err_printf): New function.
32392 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32393 grub_printf.
32394 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32395
7161f0e0 323962008-08-13 Robert Millan <rmh@aybabtu.com>
32397
32398 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32399
a1967522 324002008-08-13 Robert Millan <rmh@aybabtu.com>
32401
32402 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32403 boot entry.
32404
371458b5 324052008-08-12 Robert Millan <rmh@aybabtu.com>
32406
32407 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32408 of the relocation code from here ...
32409 (grub_multiboot): ... to here.
32410 (forward_relocator, backward_relocator): Move from here ...
32411 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32412 (grub_multiboot_backward_relocator): ... to here.
32413 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32414 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32415 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32416 (grub_multiboot_forward_relocator_end)
32417 (grub_multiboot_backward_relocator)
32418 (grub_multiboot_backward_relocator_end): New variables.
32419
05f9452b 324202008-08-12 Bean <bean123ch@gmail.com>
32421
32422 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32423
20024ab0 324242008-08-11 Robert Millan <rmh@aybabtu.com>
32425
32426 * kern/i386/linuxbios/startup.S: Move from here ...
32427 * kern/i386/coreboot/startup.S: ... to here.
32428
32429 * kern/i386/linuxbios/init.c: Move from here ...
32430 * kern/i386/coreboot/init.c: ... to here.
32431
32432 * kern/i386/linuxbios/table.c: Move from here ...
32433 * kern/i386/coreboot/mmap.c: ... to here.
32434
32435 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32436
e352e9cd 324372008-08-11 Robert Millan <rmh@aybabtu.com>
32438
32439 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32440 errors. Leave it to the upper layer to handle them.
32441
2d05bc6a 324422008-08-09 Christian Franke <franke@computer.org>
32443
32444 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32445 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32446 Install `grub.d/10_windows' only on Cygwin.
32447 * configure.ac: Add subst of `target_os'.
32448 Check `target_os' also before setting TARGET_OBJ2ELF.
32449 Add `--enable-grub-pe2elf'.
32450
042bd419 324512008-08-08 Robert Millan <rmh@aybabtu.com>
32452
32453 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32454 (grub_last_time): Change type to grub_uint64_t.
32455 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32456 (grub_disk_close): Likewise.
32457
32458 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32459 (run_menu): Migrate code from to using grub_get_time_ms().
32460
32461 * util/misc.c (grub_get_time_ms): New function.
32462
7f280db5 324632008-08-08 Marco Gerards <marco@gnu.org>
32464
32465 * disk/ata.c (grub_ata_regget): Change return type to
32466 `grub_uint8_t'.
32467 (grub_ata_regget2): Likewise.
32468 (grub_ata_wait_status): New function.
32469 (grub_ata_wait_busy): Removed function, updated all users to use
32470 `grub_ata_wait_status'.
32471 (grub_ata_wait_drq): Likewise.
32472 (grub_ata_cmd): New function.
32473 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32474 error handling.
32475 (grub_ata_pio_write): Add error handling.
32476 (grub_atapi_identify): Likewise.
32477 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32478 handling.
32479 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32480 handling. Actually use the detected registers. Reorder the
32481 detection logic such that it is easier to read.
32482 (grub_ata_pciinit): Do not assign the same ID to each controller.
32483 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32484 handling.
32485 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32486
32487 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32488
1fbc5e66 324892008-08-08 Marco Gerards <marco@gnu.org>
32490
32491 * NEWS: Update.
32492
819ce6c0 324932008-08-07 Bean <bean123ch@gmail.com>
32494
32495 * include/grub/x86_64/pci.h: New file.
32496
5c41d44d 324972008-08-07 Christian Franke <franke@computer.org>
32498
32499 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32500 (TIMER2_GATE): Likewise.
32501 (grub_pit_wait): Add enable/disable of the timer2 gate
32502 bit of port 0x61. This fixes a possible infinite loop.
32503
5ebc275d 325042008-08-07 Bean <bean123ch@gmail.com>
32505
32506 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32507 kern/i386/tsc.c and kern/i386/pit.c.
32508
32509 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32510 x86_64 platform.
32511
32512 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32513 <grub/i386/tsc.h>.
32514
32515 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32516
e383b3d0 325172008-08-07 Bean <bean123ch@gmail.com>
32518
32519 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32520
32521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32522
32523 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32524 multiple inclusion. Add #include <grub/types.h>.
32525
1cbb58ac 325262008-08-06 Christian Franke <franke@computer.org>
32527
32528 * conf/common.rmk: Build and install `10_windows'.
32529 * util/grub.d/10_windows.in: New script.
32530
337f5a1e 325312008-08-06 Pavel Roskin <proski@gnu.org>
32532
32533 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32534
057bc4ac 325352008-08-06 Robert Millan <rmh@aybabtu.com>
32536
32537 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32538 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32539
2b99f123 325402008-08-06 Bean <bean123ch@gmail.com>
32541
32542 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32543 (grub_pxefs_fs_int): Remove dummy definition.
32544 (grub_pxefs_open): Use data->block_size to store the current block
32545 size setting.
32546 (grub_pxefs_read): Use block size stored in data->block_size. As the
32547 value of grub_pxe_blksize can be changed after the file is opened.
32548
9f0234cb 325492008-08-06 Bean <bean123ch@gmail.com>
32550
32551 * fs/i386/pc/pxe.c (curr_file): new variable.
32552 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32553 require the dummy internal file system anymore.
32554 (grub_pxefs_read): Removed.
32555 (grub_pxefs_close): Likewise.
32556 (grub_pxefs_fs_int): Likewise.
32557 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32558 connection when we switch file.
32559 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32560
a55d42e0 325612008-08-06 Robert Millan <rmh@aybabtu.com>
32562
32563 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32564 `halt.mod'.
32565 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32566 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32567
32568 * kern/i386/halt.c: New file.
32569 * kern/i386/reboot.c: Likewise.
32570 * include/grub/i386/reboot.h: Likewise.
32571 * include/grub/i386/halt.h: Likewise.
32572
32573 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32574 Include `<grub/cpu/halt.h>'.
32575 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32576 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32577
32578 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32579 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32580 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32581 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32582 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32583 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32584 from here ...
32585 * include/grub/i386/at_keyboard.h: ... to here.
32586
24371d26 325872008-08-05 Robert Millan <rmh@aybabtu.com>
32588
32589 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32590 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32591 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32592 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32593 `kern/generic/millisleep.c'.
32594
32595 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32596 instead of grub_get_rtc().
32597 (grub_tsc_init): Initialize `tsc_boot_time'.
32598
32599 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32600 (grub_machine_init): Use grub_tsc_init() rather than
32601 installing an RTC-based handler via grub_install_get_time_ms().
32602
32603 * kern/i386/pit.c: New file.
32604 * include/grub/i386/pit.h: Likewise.
32605
9e7007b3 326062008-08-05 Bean <bean123ch@gmail.com>
32607
32608 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32609
32610 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32611 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32612 (pxe_mod_SOURCES): New macro.
32613 (pxe_mod_CFLAGS): Likewise.
32614 (pxe_mod_LDFLAGS): Likewise.
32615 (pxecmd_mod_SOURCES): Likewise.
32616 (pxecmd_mod_CFLAGS): Likewise.
32617 (pxecmd_mod_LDFLAGS): Likewise.
32618
32619 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32620 (grub_pxe_call): Likewise.
32621
32622 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32623
32624 * commands/i386/pc/pxecmd.c: New file.
32625
9f0234cb 32626 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32627
32628 * include/grub/i386/pc/pxe.h: Likewise.
32629
6977d49f 326302008-08-05 Bean <bean123ch@gmail.com>
32631
32632 * util/console.c (grub_console_cur_color): New variable.
32633 (grub_console_standard_color): Likewise.
32634 (grub_console_normal_color): Likewise.
32635 (grub_console_highlight_color): Likewise.
32636 (color_map): Likewise.
32637 (use_color): Likewise.
32638 (NUM_COLORS): New macro.
32639 (grub_ncurses_setcolorstate): Handle color properly.
32640 (grub_ncurses_setcolor): Don't change color here, just remember the
32641 settings, color will be set in grub_ncurses_setcolorstate.
32642 (grub_ncurses_getcolor): New function.
32643 (grub_ncurses_init): Initialize color pairs.
32644 (grub_ncurses_term): New member grub_ncurses_getcolor.
32645
9c2ff3ee 326462008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32647
9c2ff3ee 32648 High resolution timer support. Implemented for x86 CPUs using TSC.
32649 Extracted generic grub_millisleep() so it's linked in only as needed.
32650 This requires a Pentium compatible CPU; if the RDTSC instruction is
32651 not supported, then it falls back on the generic grub_get_time_ms()
32652 implementation that uses the machine's RTC.
32653
32654 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32655 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32656 `kern/generic/millisleep.c'.
32657
32658 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32659 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32660
32661 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32662 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32663
32664 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32665
32666 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32667 `kern/generic/millisleep.c'.
32668
32669 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32670
32671 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32672
32673 * kern/generic/rtc_get_time_ms.c: New file.
32674
32675 * kern/generic/millisleep.c: New file.
337f5a1e 32676
9c2ff3ee 32677 * kern/misc.c: Don't include
32678 <kern/time.h> anymore.
32679 (grub_millisleep_generic): Removed.
32680
32681 * commands/sleep.c (grub_interruptible_millisleep): Uses
32682 grub_get_time_ms() instead of grub_get_rtc().
32683
32684 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32685 function.
32686 (grub_cpu_is_cpuid_supported): New inline function.
32687 (grub_cpu_is_tsc_supported): New inline function.
32688 (grub_tsc_init): New function prototype.
32689 (grub_tsc_get_time_ms): New function prototype.
32690
32691 * kern/i386/tsc.c (grub_get_time_ms): New file.
32692
32693 * include/grub/time.h: Include <grub/types.h.
32694 (grub_millisleep_generic): Removed.
32695 (grub_get_time_ms): New prototype.
32696 (grub_install_get_time_ms): New prototype.
32697 (grub_rtc_get_time_ms): New prototype.
32698
32699 * kern/time.c (grub_get_time_ms): New function.
32700 (grub_install_get_time_ms): New function.
32701
32702 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32703 <grub/time.h> anymore.
32704 (grub_millisleep): Removed.
32705 (grub_machine_init): Call grub_tsc_init.
32706
32707 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32708 get_time_ms() implementation.
32709
32710 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32711 (ieee1275_get_time_ms): New function.
32712 (grub_machine_init): Install get_time_ms() implementation.
32713
32714 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32715 (grub_machine_init): Call grub_tsc_init().
32716 (grub_millisleep): Removed.
bf06a93f 32717
9c2ff3ee 32718 * kern/ieee1275/init.c (grub_millisleep): Removed.
32719 (grub_machine_init): Install ieee1275_get_time_ms()
32720 implementation.
32721 (ieee1275_get_time_ms): New function.
32722 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32723 real work.
32724
9ec92aaf 327252008-08-05 Marco Gerards <marco@gnu.org>
32726
32727 * disk/ata.c: Include <grub/pci.h>.
32728 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32729 (grub_ata_initialize): Rewritten.
32730 (grub_ata_device_initialize): New function.
32731
8d23f507 327322008-08-04 Pavel Roskin <proski@gnu.org>
32733
32734 * kern/main.c: Include grub/mm.h.
32735
5e15ee3d 327362008-08-04 Robert Millan <rmh@aybabtu.com>
32737
32738 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32739 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32740 corruption problem).
32741
a9053f8f 327422008-08-04 Robert Millan <rmh@aybabtu.com>
32743
32744 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32745 warnings introduced in my last commit.
32746
dd19c7d7 327472008-08-03 Robert Millan <rmh@aybabtu.com>
32748
32749 Make PCI available on all i386 architectures.
32750
32751 * include/grub/i386/pc/pci.h: Move from here ...
32752 * include/grub/i386/pci.h: ... to here.
32753
32754 * include/grub/i386/pc/pci.h: Remove.
32755 * include/grub/i386/efi/pci.h: Remove.
32756 * include/grub/x86_64/efi/pci.h: Remove.
32757
32758 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32759 `<grub/cpu/pci.h>'.
32760
32761 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32762 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32763 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32764
32765 * conf/i386-ieee1275.rmk: Likewise.
32766
e14a6184 327672008-08-03 Robert Millan <rmh@aybabtu.com>
32768
32769 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32770 (grub_console_setcursor): Make it possible to set cursor off.
32771
52768e37 327722008-08-03 Robert Millan <rmh@aybabtu.com>
32773
32774 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32775 of modules instead of assuming which platform provides what.
32776 * util/update-grub.in: Likewise.
32777
2d52f57f 327782008-08-03 Robert Millan <rmh@aybabtu.com>
32779
32780 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32781 instead of `grub_install_dos_part' to determine whether a drive needs
32782 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32783 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32784
2a5cd121 327852008-08-02 Robert Millan <rmh@aybabtu.com>
32786
32787 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32788
93808428 327892008-08-02 Robert Millan <rmh@aybabtu.com>
32790
32791 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32792 of informational grub_dprintf() calls.
32793
3bd0a12a 327942008-08-02 Robert Millan <rmh@aybabtu.com>
32795
32796 * disk/memdisk.c (memdisk_size): Don't initialize.
32797 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32798
32799 * include/grub/i386/pc/kernel.h
32800 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32801 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32802 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32803 (grub_arch_memdisk_size): Remove.
32804
32805 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32806 field (was only used to transfer a constant). Add `type' field to
32807 support multiple module types.
32808 (grub_module_iterate): New function.
32809
32810 * kern/device.c (grub_device_open): Do not hide error messages
32811 when grub_disk_open() fails. Use grub_print_error() instead.
32812
32813 * kern/i386/pc/init.c (grub_arch_modules_addr)
32814 (grub_arch_memdisk_size): Remove functions.
32815 (grub_arch_modules_addr): Return the module address in high memory
32816 (now that it isn't copied anymore).
32817
32818 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32819 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32820 decompression routine (grub_total_module_size already includes that
32821 now). Don't copy modules back to low memory.
32822
32823 * kern/main.c: Include `<grub/mm.h>'.
32824 (grub_load_modules): Split out (and use) ...
32825 (grub_module_iterate): ... this function, which iterates through
32826 module objects and runs a hook.
32827 Comment out grub_mm_init_region() call, as it would cause non-ELF
32828 modules to be overwritten.
32829
32830 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32831 the memdisk image in its own region, make it part of the module list.
32832 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32833 (main): Parse --memdisk|-m option, and pass user-provided path as
32834 parameter to generate_image().
32835 (add_segments): Pass `memdisk_path' down to load_modules().
32836 (load_modules): Embed memdisk image in module section when requested.
32837 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32838 `header.type' instead of `header.offset'.
32839
32840 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32841 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32842 (memdisk_mod_LDFLAGS): New variables.
32843 * conf/i386-coreboot.rmk: Likewise.
32844 * conf/i386-ieee1275.rmk: Likewise.
32845
a927cc73 328462008-08-02 Robert Millan <rmh@aybabtu.com>
32847
32848 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32849 (backward_relocator): New variables. Used to allocate and relocate
32850 the payload, respectively.
32851 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32852 address, install the appropriate relocator code in each bound of
a927cc73 32853 the payload, and set the entry point such that
32854 grub_multiboot_real_boot() will jump to one of them.
32855
32856 * kern/i386/loader.S (grub_multiboot_payload_size)
32857 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32858 (grub_multiboot_payload_entry_offset): New variables.
32859 (grub_multiboot_real_boot): Set cpu context to what the relocator
32860 expects, and jump to the relocator instead of the payload.
32861
32862 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32863 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32864 (grub_multiboot_payload_entry_offset): Export.
32865
b15d8a0c 328662008-08-01 Bean <bean123ch@gmail.com>
32867
32868 * normal/menu_entry.c (editor_getline): Don't return the original
32869 string as result, as it will be released by lexer once it has done
32870 using it.
32871
cdfb3d22 328722008-08-01 Robert Millan <rmh@aybabtu.com>
32873
32874 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32875 within menuentries, not before them.
32876 util/grub.d/10_hurd.in: Likewise.
32877
9175e93d 328782008-08-01 Bean <bean123ch@gmail.com>
32879
32880 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32881 (bufio_mod_SOURCES): New macro.
32882 (bufio_mod_CFLAGS): Likewise.
32883 (bufio_mod_LDFLAGS): Likewise.
32884
32885 * include/grub/bufio.h: New file.
32886
32887 * io/bufio.c: Likewise.
32888
32889 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32890 (grub_video_reader_png): Use grub_buffile_open to open file.
32891
32892 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32893 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32894
32895 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32896 (grub_video_reader_tga): Use grub_buffile_open to open file.
32897
32898 * font/manager.c: Include <grub/bufio.h>.
32899 (add_font): Use grub_buffile_open to open file.
32900
3d8383e7 329012008-07-31 Robert Millan <rmh@aybabtu.com>
32902
32903 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32904 ELF segments, use a macro for arbitrarily accessing any of them instead
32905 of preparing a pointer that allows access to one at a time.
32906 (grub_multiboot_load_elf64): Likewise.
32907
16e641b6 329082008-07-31 Bean <bean123ch@gmail.com>
32909
32910 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32911 GRUB_KERNEL_MACHINE_DATA_END.
32912
59198b72 329132008-07-30 Robert Millan <rmh@aybabtu.com>
32914
32915 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32916 Increase from 0x50 to 0x60.
32917 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32918 use UUIDs to identify the root drive for them. If that's not
32919 possible, abort.
32920 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32921 check, for cross-disk installs.
32922
ae88bca3 329232008-07-30 Robert Millan <rmh@aybabtu.com>
32924
32925 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32926 is non-empty, use it to set the `prefix' environment variable instead
32927 of the usual approach.
32928 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32929 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32930 environment variable instead of dummy make_install_device().
32931
32932 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32933 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32934 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32935
32936 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32937 New variable reference.
32938 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32939 New macro. Defines offset of `grub_prefix' within startup.S (relative
32940 to `start').
32941 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32942 section within startup.S (relative to `start').
32943 * include/grub/i386/coreboot/kernel.h: Likewise.
32944
32945 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32946 Overwrite grub_prefix with its contents, at the beginning of the
32947 first segment.
32948 (main): Understand -p|--prefix.
32949
14f41dd1 329502008-07-30 Robert Millan <rmh@aybabtu.com>
32951
32952 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32953
4ca049a3 329542008-07-30 Robert Millan <rmh@aybabtu.com>
32955
32956 * term/i386/pc/vga_text.c (grub_console_cls): Use
32957 grub_console_gotoxy() to go back to beginning of the screen.
32958 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32959
2921d337 329602008-07-29 Christian Franke <franke@computer.org>
32961
32962 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32963 Add conversion of emulated mount points on Cygwin.
32964
b609876d 329652008-07-29 Christian Franke <franke@computer.org>
32966
32967 * util/update-grub.in: Add a check for admin
32968 group on Cygwin.
32969 Remove old `grub.cfg.new' before creation.
32970 Add `-f' to `mv' to handle the different filesystem
32971 semantics of Windows.
32972
e93e4679 329732008-07-29 Bean <bean123ch@gmail.com>
32974
32975 * normal/main.c (get_line): Fix buffer overflow bug.
32976
41694fd0 329772008-07-28 Robert Millan <rmh@aybabtu.com>
32978
32979 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32980 (struct grub_apple_header): New struct. Describes the layout of
32981 the partmap header.
32982 (apple_partition_map_iterate): Check the header magic as well as the
32983 partition magic (which was already being checked).
32984
cfd0b4e6 329852008-07-28 Pavel Roskin <proski@gnu.org>
32986
32987 * genmk.rb: Add a warning to the beginning of the output that
32988 it's a generated file and should not be edited.
32989
93cce016 329902008-07-28 Robert Millan <rmh@aybabtu.com>
32991
32992 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32993 with the same number are found, just use issue a warning with
32994 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32995
cd1df915 329962008-07-27 Robert Millan <rmh@aybabtu.com>
32997
32998 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32999 information.
33000
b70a8427 330012008-07-27 Bean <bean123ch@gmail.com>
33002
33003 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33004 (grub_fat_find_dir): Ignore case when comparing filename.
33005
8f5e379f 330062008-07-27 Bean <bean123ch@gmail.com>
33007
33008 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33009 smallino, as it's more descriptive, and i8count can be confused with
33010 the other field count.
33011 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33012 inode type.
33013
a85cd5a0 330142008-07-27 Bean <bean123ch@gmail.com>
33015
33016 * commands/crc.c: New file.
33017
33018 * lib/crc.c: Likewise.
33019
33020 * include/grub/lib/crc.h: Likewise.
33021
33022 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33023
33024 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33025 (hexdump): Move this function to ...
33026
33027 * lib/hexdump.c: ... here.
33028
33029 * include/grub/hexdump.h: Renamed to ...
33030
33031 * include/grub/lib/hexdump.h: ... this.
33032
33033 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33034
33035 * util/grub-editenv.c: Likewise.
33036
33037 * include/envblk.h: Renamed to ...
33038
33039 * include/lib/envblk.h: ... this.
33040
33041 * util/envblk.c: Renamed to ...
33042
33043 * lib/envblk.c: ... this.
33044
33045 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33046 lib/hexdump.c.
33047 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33048 (pkglib_MODULES): Add crc.mod.
33049 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33050 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33051 (crc_mod_SOURCES): New macro.
33052 (crc_mod_CFLAGS): Likewise.
33053 (crc_mod_LDFLAGS): Likewise.
33054
33055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33056
33057 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33058
33059 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33060
33061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33062
33063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33064
c298def0 330652008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33066
33067 * commands/help.c: Include <grub/term.h>.
33068 (TERM_WIDTH): Removed. Updated all users.
33069
cc349fb3 330702008-07-27 Pavel Roskin <proski@gnu.org>
33071
33072 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33073 spurious warnings about a comment within a comment.
33074
9051607e 330752008-07-25 Robert Millan <rmh@aybabtu.com>
33076
33077 * util/getroot.c (find_root_device): Skip devices that match
33078 /dev/dm-[0-9]. This lets the real device be found for any type of
33079 abstraction (LVM, EVMS, RAID..).
33080 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33081 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33082 device is found first, find_root_device() will now skip it.
33083
01453bfc 330842008-07-24 Pavel Roskin <proski@gnu.org>
33085
33086 * include/grub/types.h: Use __builtin_bswap32() and
33087 __builtin_bswap64() with gcc 4.3 and newer.
33088
6af9849f 330892008-07-24 Christian Franke <franke@computer.org>
33090
3a0fa256 33091 * util/i386/pc/grub-install.in: If `--debug' is specified,
33092 pass `--verbose' to grub-setup.
33093 Abort script if make_system_path_relative_to_its_root() fails.
33094
7810e747 330952008-07-24 Bean <bean123ch@gmail.com>
33096
33097 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33098 variable `target_platform' should be `platform'.
33099
42290e17 331002008-07-24 Bean <bean123ch@gmail.com>
33101
51cc5193 33102 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33103 (grub_png_init_fixed_block): New function.
33104 (grub_png_decode_image_data): Handle fixed huffman code compression.
33105
2a8a80e4 331062008-07-24 Bean <bean123ch@gmail.com>
33107
33108 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33109 (grub_pe2elf_SOURCES): New macro.
33110 (CLEANFILES): Add grub-pe2elf.
33111
33112 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33113 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33114 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33115 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33116 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33117 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33118 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33119 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33120 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33121 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33122 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33123 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33124 (GRUB_PE32_DT_FUNCTION): Likewise.
33125 (GRUB_PE32_REL_I386_DIR32): Likewise.
33126 (GRUB_PE32_REL_I386_REL32): Likewise.
33127 (grub_pe32_symbol): New structure.
33128 (grub_pe32_reloc): Likewise.
33129
33130 * util/grub-pe2elf.c: New file.
33131
33132 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33133 start symbol in non pc platform.
33134
33135 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33136
33137 The following patches are from Christian Franke.
33138
33139 * include/grub/dl.h: Remove .previous, gas supports this only
33140 for ELF format.
33141
33142 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33143 Remove .type, gas supports this only for ELF format.
33144
33145 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33146 nullbytes in symbol table. This fixes an infinite loop if table is
33147 zero filled.
33148
33149 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33150 TARGET_IMG_LDFLAGS and EXEEXT.
33151
33152 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33153 TARGET_IMG_LDFLAGS_AC.
33154 (grub_CHECK_STACK_ARG_PROBE): New function.
33155
33156 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33157
33158 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33159
33160 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33161 to set TARGET_IMG_LD* accordingly.
33162 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33163 Add call to grub_CHECK_STACK_ARG_PROBE.
33164 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33165
33166 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33167
33168 * genmk.rb: Add EXEEXT to CLEANFILES.
33169
12ccdb75 331702008-07-23 Robert Millan <rmh@aybabtu.com>
33171
33172 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33173 define the codes for arrows and lines used for the menu).
33174 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33175 as well.
33176
33177 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33178 fonts, because the latter are too slow.
33179
18eeaf04 331802008-07-21 Bean <bean123ch@gmail.com>
33181
33182 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33183 a20. Run keyboard test last, as it will cause macbook to halt.
33184
b095e2ad 331852008-07-18 Pavel Roskin <proski@gnu.org>
33186
33187 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33188 load foreign architecture modules correctly anyway. Keep
33189 support for loading host architecture modules, whether we
33190 compile them or not.
33191
737feb35 331922008-07-17 Pavel Roskin <proski@gnu.org>
33193
3f4ce737 33194 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33195 change target_cpu. The compiler default can mismatch target_cpu
33196 in any case.
33197
4ad2d049 33198 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33199 * kern/efi/efi.c: Likewise.
33200
f6130a12 33201 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33202 target compiler is functional.
33203 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33204 are set up.
33205
58393a2d 33206 * configure.ac: Default to efi platform for x86_64-apple. Allow
33207 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33208 adjustments from the rest, only do them if target is not
33209 explicitly given. Merge other adjustments with the final sanity
33210 check. Remove an extraneous check for supported CPU. Be
33211 specific which CPU and which platform is not supported.
33212
737feb35 33213 * configure.ac: Default to pc platform for x86_64.
33214
546f966a 332152008-07-17 Robert Millan <rmh@aybabtu.com>
33216
33217 Partial LinuxBIOS -> Coreboot rename.
33218
33219 * conf/i386-linuxbios.rmk: Renamed to ...
33220 * conf/i386-coreboot.rmk: ... this.
33221 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33222 * configure.ac: Accept "coreboot" as input platform (but maintain
33223 compatibility with "linuxbios").
33224 * include/grub/i386/linuxbios: Renamed to ...
33225 * include/grub/i386/coreboot: ... this.
33226
20011694 332272008-07-17 Bean <bean123ch@gmail.com>
33228
33229 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33230 (appleldr_mod_SOURCE): New variable.
20011694 33231 (appleldr_mod_CFLAGS): Likewise.
33232 (appleldr_mod_LDFLAGS): Likewise.
33233 (pci_mod_SOURCES): Likewise.
33234 (pci_mod_CFLAGS): Likewise.
33235 (pci_mod_LDFLAGS): Likewise.
33236 (lspci_mod_SOURCES): Likewise.
33237 (lspci_mod_CFLAGS): Likewise.
33238 (lspci_mod_LDFLAGS): Likewise.
33239
33240 * conf/x86_64-efi.rmk: New file.
33241
33242 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33243 macro.
33244 (grub_efidisk_write): Likewise.
33245
33246 * include/efi/api.h (efi_call_0): New macro.
33247 (efi_call_1): Likewise.
33248 (efi_call_2): Likewise.
33249 (efi_call_3): Likewise.
33250 (efi_call_4): Likewise.
33251 (efi_call_5): Likewise.
33252 (efi_call_6): Likewise.
33253
33254 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33255 grub_rescue_cmd_chainloader.
33256
33257 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33258 (grub_pe32_optional_header): Change some fields based on i386 or
33259 x86_64 platform.
33260 (GRUB_PE32_PE32_MAGIC): Likewise.
33261
33262 * include/grub/efi/uga_draw.h: New file.
33263
33264 * include/grub/elf.h (STN_ABS): New constant.
33265 (R_X86_64_NONE): Relocation constant for x86_64.
33266 (R_X86_64_64): Likewise.
33267 (R_X86_64_PC32): Likewise.
33268 (R_X86_64_GOT32): Likewise.
33269 (R_X86_64_PLT32): Likewise.
33270 (R_X86_64_COPY): Likewise.
33271 (R_X86_64_GLOB_DAT): Likewise.
33272 (R_X86_64_JUMP_SLOT): Likewise.
33273 (R_X86_64_RELATIVE): Likewise.
33274 (R_X86_64_GOTPCREL): Likewise.
33275 (R_X86_64_32): Likewise.
33276 (R_X86_64_32S): Likewise.
33277 (R_X86_64_16): Likewise.
33278 (R_X86_64_PC16): Likewise.
33279 (R_X86_64_8): Likewise.
33280 (R_X86_64_PC8): Likewise.
33281
33282 * include/grub/i386/efi/pci.h: New file.
33283
33284 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33285 Change it value based on platform.
33286 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33287 (GRUB_E820_RAM): Likewise.
33288 (GRUB_E820_RESERVED): Likewise.
33289 (GRUB_E820_ACPI): Likewise.
33290 (GRUB_E820_NVS): Likewise.
33291 (GRUB_E820_EXEC_CODE): Likewise.
33292 (GRUB_E820_MAX_ENTRY): Likewise.
33293 (grub_e820_mmap): New structure.
33294 (linux_kernel_header): Change the efi field according to different
33295 kernel version, also field from linux_kernel_header.
33296
33297 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33298
33299 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33300 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33301 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33302 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33303 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33304 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33305 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33306 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33307 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33308 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33309
33310 * include/grub/x86_64/efi/kernel.h: New file.
33311
33312 * include/grub/x86_64/efi/loader.h: Likewise.
33313
33314 * include/grub/x86_64/efi/machine.h: Likewise.
33315
33316 * include/grub/x86_64/efi/pci.h: Likewise.
33317
33318 * include/grub/x86_64/efi/time.h: Likewise.
33319
33320 * include/grub/x86_64/linux.h: Likewise.
33321
33322 * include/grub/x86_64/setjmp.h: Likewise.
33323
33324 * include/grub/x86_64/time.h: Likewise.
33325
33326 * include/grub/x86_64/types.h: Likewise.
33327
33328 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33329 GRUB_TARGET_SIZEOF_VOID_P.
33330
33331 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33332 (grub_efi_locate_handle): Likewise.
33333 (grub_efi_open_protocol): Likewise.
33334 (grub_efi_set_text_mode): Likewise.
33335 (grub_efi_stall): Likewise.
33336 (grub_exit): Likewise.
33337 (grub_reboot): Likewise.
33338 (grub_halt): Likewise.
33339 (grub_efi_exit_boot_services): Likewise.
33340 (grub_get_rtc): Likewise.
33341
33342 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33343 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33344 (grub_efi_allocate_pages): Wrap efi calls.
33345 (grub_efi_free_pages): Wrap efi calls.
33346 (grub_efi_get_memory_map): Wrap efi calls.
33347
33348 * kern/x86_64/dl.c: New file.
33349
33350 * kern/x86_64/efi/callwrap.S: Likewise.
33351
33352 * kern/x86_64/efi/startup.S: Likewise.
33353
33354 * loader/efi/appleloader.c: Likewise.
33355
33356 * loader/efi/chainloader.c (cmdline): New variable.
33357 (grub_chainloader_unload): Wrap efi calls.
33358 (grub_chainloader_boot): Likewise.
33359 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33360 command line.
33361
33362 * loader/efi/chainloader_normal.c (chainloader_command):
33363 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33364 command line.
33365
33366 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33367 method.
33368 (grub_e820_add_region): New function.
33369 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33370 booting.
33371 (grub_find_video_card): New function.
33372 (grub_linux_setup_video): New function.
33373 (grub_rescue_cmd_linux): Probe for video information.
33374
33375 * normal/x86_64/setjmp.S: New file.
33376
33377 * term/efi/console.c (map_char): New function.
33378 (grub_console_putchar): Map unicode char.
33379 (grub_console_checkkey): Wrap efi calls.
33380 (grub_console_getkey): Likewise.
33381 (grub_console_getwh): Likewise.
33382 (grub_console_gotoxy): Likewise.
33383 (grub_console_cls): Likewise.
33384 (grub_console_setcolorstate): Likewise.
33385 (grub_console_setcursor): Likewise.
33386
33387 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33388
59652a20 333892008-07-16 Pavel Roskin <proski@gnu.org>
33390
ef294055 33391 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33392 format strings.
33393
59652a20 33394 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33395 pointer, not an integer. This fixes a warning and prevents
33396 precision loss on 64-bit systems.
33397 (relocate_addresses): Remove unneeded cast.
33398
afc3b5d7 333992008-07-15 Pavel Roskin <proski@gnu.org>
33400
506b2b3e 33401 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33402
62ead89c 33403 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33404
c4cd51d7 33405 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33406 Fix comparison between signed and unsigned.
33407
0d3d8f28 33408 * include/grub/i386/ieee1275/console.h: Declare
33409 grub_console_init() and grub_console_fini().
33410
8804b286 33411 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33412 It's empty and unused.
33413
ee01cf35 33414 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33415 beginning to avoid warnings with some compilers.
33416
afc3b5d7 33417 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33418 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33419
e4e8eaa5 334202008-07-14 Pavel Roskin <proski@gnu.org>
33421
407aceb4 33422 * kern/env.c (grub_register_variable_hook): Don't copy empty
33423 string, it leaks memory. Pass "" to grub_env_set(), it should
33424 handle constant strings.
33425
e4e8eaa5 33426 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33427 * commands/cmp.c (grub_cmd_cmp): Likewise.
33428 * kern/dl.c (grub_dl_flush_cache): Likewise.
33429 (grub_dl_load_core): Likewise.
33430 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33431 (grub_elf64_load_phdrs): Likewise.
33432
d4e2dad3 334332008-07-13 Pavel Roskin <proski@gnu.org>
33434
33435 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33436 between signed and unsigned.
33437 (LzmaEnc_Finish): Fix warning about an unused parameter.
33438
aa24b516 334392008-07-13 Bean <bean123ch@gmail.com>
33440
33441 * Makefile.in (enable_lzo): New rule.
33442
33443 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33444
33445 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33446
33447 * boot/i386/pc/lnxboot.S: #include <config.h>.
33448
33449 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33450 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33451
33452 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33453 compression algorithm according to configure macro.
33454
33455 * kern/i386/pc/startup.S (codestart): Likewise.
33456
33457 * kern/i386/pc/lzma_decode.S: New file.
33458
33459 * include/grub/lib/LzFind.h: Likewise.
33460
33461 * include/grub/lib/LzHash.h: Likewise.
33462
33463 * include/grub/lib/LzmaDec.h: Likewise.
33464
33465 * include/grub/lib/LzmaEnc.h: Likewise.
33466
33467 * include/grub/lib/LzmaTypes.h: Likewise.
33468
33469 * lib/LzFind.c: Likewise.
33470
33471 * lib/LzmaDec.c: Likewise.
33472
33473 * lib/LzmaEnc.c: Likewise.
33474
4ae821ac 334752008-07-13 Bean <bean123ch@gmail.com>
33476
33477 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33478 (grub_ext4_extent_header): New structure.
33479 (grub_ext4_extent): Likewise.
33480 (grub_ext4_extent_idx): Likewise.
33481 (grub_ext4_find_leaf): New function.
33482 (grub_ext2_read_block): Handle extents.
33483
9a745147 334842008-07-12 Robert Millan <rmh@aybabtu.com>
33485
33486 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33487
d49a4cf6 334882008-07-11 Robert Millan <rmh@aybabtu.com>
33489
33490 * util/grub.d/40_custom.in: New file. Example on how to add custom
33491 entries to /etc/grub.d.
33492 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33493 40_custom (implicitly, by merging all the grub.d rules).
33494
947414b4 334952008-07-11 Pavel Roskin <proski@gnu.org>
33496
0059cf6f 33497 * commands/read.c (grub_getline): Fix invalid memory access.
33498 Don't add newline to the variable value.
33499
947414b4 33500 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33501 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33502 (serial_hw_get_port): Check validity of the port number.
33503 (grub_cmd_serial): Check return value of serial_hw_get_port().
33504
62a02d00 335052008-07-07 Pavel Roskin <proski@gnu.org>
33506
33507 * boot/i386/pc/diskboot.S (notification_string): Replace
33508 "Loading kernel" with just "loading". This is shorter, less
33509 confusing and saves a few bytes for possible future changes.
33510
3e5581b0 335112008-07-05 Pavel Roskin <proski@gnu.org>
33512
ea387a48 33513 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33514 size for ATAPI devices, they are undefined. Output sector
33515 number in decimal form.
33516
3e5581b0 33517 * disk/ata.c: Use named constants for status bits.
33518
fdecb8fd 335192008-07-04 Pavel Roskin <proski@gnu.org>
33520
bcd35b90 33521 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33522 grub_addr_t before casting it to the void pointer to fix a
33523 warning. Non-addressable regions are discarded earlier.
33524 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33525 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33526 (check_signature): Don't shadow table_header.
33527 (grub_linuxbios_table_iterate): Cast numeric constants to
33528 grub_linuxbios_table_header_t.
33529 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33530 grub_stop().
33531
af58ab3d 33532 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33533 prevent warnings.
33534
1759aa57 33535 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33536 pointer, which can cause warnings. Support 64-bit addresses.
33537
fdecb8fd 33538 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33539 of sizeof(long). This fixes PowerPC image generation on x86_64.
33540
8516d2a8 335412008-07-04 Robert Millan <rmh@aybabtu.com>
33542
33543 This fixes a performance issue when pc & gpt partmap iterators
33544 didn't abort iteration even after our hook found what it was
fe987087 33545 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33546
33547 Some callers relied on previous buggy behaviour, since they would
34c44600 33548 raise an error when their own hooks caused early abortion of its
8516d2a8 33549 iteration.
33550
33551 * kern/device.c (grub_device_open): Improve error message.
33552 * disk/lvm.c (grub_lvm_open): Likewise.
33553 * disk/raid.c (grub_raid_open): Likewise.
33554
33555 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33556 when hook requests it, independently of grub_errno.
33557 (pc_partition_map_probe): Do not fail when find_func() caused
33558 early abortion of pc_partition_map_iterate().
33559
33560 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33561 when hook requests it, independently of grub_errno.
33562 (gpt_partition_map_probe): Do not fail when find_func() caused
33563 early abortion of gpt_partition_map_iterate().
33564
33565 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33566 when hook requests it, independently of grub_errno. Do not fail when
33567 part_map_iterate_hook() caused early abortion of p->iterate().
33568
33569 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33570 when grub_partition_iterate() returned with non-zero.
33571
277d0de9 335722008-07-03 Pavel Roskin <proski@gnu.org>
33573
33574 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33575 like we do in grub_ata_pio_read().
33576 (grub_ata_readwrite): Always write individual sectors. Fix the
33577 sector count for the remainder.
33578 (grub_ata_write): Enable writing to ATA devices. Correctly
33579 report error for ATAPI devices.
33580
d4c9b428 335812008-07-02 Pavel Roskin <proski@gnu.org>
33582
e43fc690 33583 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33584 warning.
33585
f707af42 33586 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33587 for every read sector, we already increment it for the whole
33588 batch. This fixes reading more than 256 sectors at once.
33589
11e16b15 33590 * util/grub-editenv.c (cmd_info): Cast argument to long
33591 explicitly. ptrdiff_t reduces to int on i386.
33592
cbabfdd4 33593 * util/grub-editenv.c (main): Be specific which parameter is
33594 missing.
33595
b8fbce0a 33596 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33597 (memdisk): Make memdisk_orig_addr a pointer.
33598
c9c8e606 33599 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33600 for file offsets, use grub_off_t instead. Fix printf format
33601 warnings.
33602
ca62e598 33603 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33604 there. Real unexpected warnings should not drown in the noise
33605 about known problems.
33606
ce8d1766 33607 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33608 grub_disk_addr_t for memory addresses.
33609
00c7a56a 33610 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33611 explicitly to fix a warning.
33612
08d3ef09 33613 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33614
cb71ba20 33615 * Makefile.in (MODULE_LDFLAGS): New variable.
33616 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33617 the linker accepts --build-id=none.
33618 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33619 MODULE_LDFLAGS.
33620 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33621
d4c9b428 33622 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33623 those in Linux XFS code. Provide a way to access 64-bit parent
33624 inode.
33625 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33626 the end of struct grub_xfs_dir_header.
33627
d4156eee 336282008-07-02 Bean <bean123ch@gmail.com>
33629
33630 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33631 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33632 and GRUB_IEEE1275_FLAG_NO_ANSI.
33633
33634 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33635 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33636 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33637
33638 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33639 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33640
33641 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33642 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33643
33644 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33645 esc sequence on non ANSI terminal.
33646 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33647
33648 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33649 beginning of file.
33650
2270f77b 336512008-07-02 Bean <bean123ch@gmail.com>
33652
33653 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33654 (grub_editenv_SOURCES): New variable.
33655 (pkglib_MODULES): Add loadenv.mod.
33656 (loadenv_mod_SOURCES): New variable.
33657 (loadenv_mod_CFLAGS): Likewise.
33658 (loadenv_mod_LDFLAGS): Likewise.
33659
33660 * include/grub/envblk.h: New file.
33661
33662 * util/envblk.c: New file.
33663
33664 * util/grub-editenv.c: New file.
33665
33666 * commands/loadenv.c: New file.
33667
0e9e51ec 336682008-07-01 Pavel Roskin <proski@gnu.org>
33669
d89b7634 33670 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33671 not unsigned char. This fixes warnings and is consistent with
33672 other tags.
33673
bf1835b1 33674 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33675
8222a04b 33676 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33677
6a42d99d 33678 * term/tparm.c (analyze): Always set *popcount.
33679
10b159d1 33680 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33681 cast to fix a warning.
33682
b8789f6c 33683 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33684 cast to suppress a warning.
33685
29d7e38a 33686 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33687 grub_fshelp_read_file() expects.
33688
f341f669 33689 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33690 write uuid as a 32-bit value in CPU byte order, so declare and
33691 use it as such.
33692
0e9e51ec 33693 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33694 long if the format specifier expects it.
33695 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33696 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33697 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33698 long to fix a warning.
33699 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33700 grub_dprintf() arguments to fix warnings.
33701
3aefa857 337022008-06-30 Pavel Roskin <proski@gnu.org>
33703
56c7668b 33704 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33705 install_bsd_part immediately before core.img is embedded or
33706 modified on disk. This fixes core.img verification if core.img
33707 cannot be embedded.
33708
3aefa857 33709 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33710 core_path to calculate the blocklist.
33711 Patch from Javier Martín <lordhabbit@gmail.com>
33712
5444088d 337132008-06-29 Robert Millan <rmh@aybabtu.com>
33714
33715 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33716 block to disk block.
33717 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33718 Patch from Niels Böhm <bitbucket@arcor.de>
33719
674835c8 337202008-06-29 Robert Millan <rmh@aybabtu.com>
33721
33722 * util/update-grub_lib.in (font_path): Search for fonts in
33723 /boot/grub first, which is more likely to be readable (we aren't
33724 deciding where fonts live, just looking for them).
33725
f527dbc8 337262008-06-26 Pavel Roskin <proski@gnu.org>
33727
6c2d8df6 33728 * util/biosdisk.c (read_device_map): Don't leave dead map
33729 entries for devices failing stat() check.
33730
f527dbc8 33731 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33732 core_path_dev for the core.img path on the target device.
33733
aebe3d13 337342008-06-26 Robert Millan <rmh@aybabtu.com>
33735
33736 * disk/fs_uuid.c: New file.
33737 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33738 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33739 (fs_uuid_mod_LDFLAGS): New variables.
33740 * include/grub/disk.h (grub_disk_dev_id): Add
33741 `GRUB_DISK_DEVICE_UUID_ID'.
33742 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33743 implement iterate().
33744
37aaf354 337452008-06-26 Robert Millan <rmh@aybabtu.com>
33746
33747 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33748 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33749 Linux image includes no initrd.
33750
25ff262a 337512008-06-21 Javier Martín <lordhabbit@gmail.com>
33752
33753 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33754 call to resolve the core image location that effectively appended the
33755 name twice.
33756
76a2bd44 337572008-06-21 Robert Millan <rmh@aybabtu.com>
33758
33759 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33760 call from here ...
33761
33762 * util/grub.d/10_hurd.in: ... to here ...
33763 * util/grub.d/10_linux.in: ... and here.
33764
650e1c79 337652008-06-19 Robert Millan <rmh@aybabtu.com>
33766
fe987087 33767 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33768 after it has been set by grub_machine_set_prefix().
33769
6ce63911 337702008-06-19 Robert Millan <rmh@aybabtu.com>
33771
33772 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33773 search result when not saving to variable, not the other way around.
33774 When saving to variable, abort iteration as soon as a match is found.
33775
73940cec 337762008-06-19 Robert Millan <rmh@aybabtu.com>
33777
33778 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33779 check for partition that provides /boot/grub. Its logic is flawed,
33780 as it prevents prepare_grub_to_access_device() from being called
33781 multiple times.
33782
3c62a39d 337832008-06-19 Robert Millan <rmh@aybabtu.com>
33784
33785 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33786 "insmod" command directly when abstraction modules are needed,
fe987087 33787 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33788 since it had already been processed).
33789
47395a42 337902008-06-19 Pavel Roskin <proski@gnu.org>
33791
33792 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33793 changed. This is needed in case GRUB_LIBDIR changes.
33794 * conf/i386-ieee1275.rmk: Likewise.
33795 * conf/i386-linuxbios.rmk: Likewise.
33796 * conf/i386-pc.rmk: Likewise.
33797 * conf/powerpc-ieee1275.rmk: Likewise.
33798
a145ac2d 337992008-06-18 Pavel Roskin <proski@gnu.org>
33800
33801 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33802 kernel_elf_symlist.c to symlist.c for consistency with other
33803 architectures. Update all users.
33804 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33805
7847c51e 338062008-06-18 Robert Millan <rmh@aybabtu.com>
33807
33808 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33809 it in prefix.
33810
33811 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33812 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33813 a RAID device, run setup() for all members independently on whether
33814 LVM abstraction is being used.
33815 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33816 If grub-mkimage has set `*install_dos_part == -2', don't override this
33817 value.
33818 Perform *install_dos_part adjustments independently on whether
33819 we're embedding or not.
33820 Clarify error message when image is too big for embedding.
33821 Remove duplicate *install_dos_part stanza.
33822
b23e5644 338232008-06-17 Robert Millan <rmh@aybabtu.com>
33824
33825 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33826 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33827 variables.
33828 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33829 values in grub_ofconsole_normal_color and
33830 grub_ofconsole_highlight_color (they're not directly related to
33831 background and foreground).
33832 (grub_ofconsole_setcolorstate): Extract background and foreground
33833 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33834
0aac2f79 338352008-06-17 Robert Millan <rmh@aybabtu.com>
33836
33837 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33838 /boot/grub for the check in last commit, not /boot (they could be
33839 different partitions).
33840
3cca7ef3 338412008-06-16 Robert Millan <rmh@aybabtu.com>
33842
33843 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33844 asked to setup access for the same partition that provides /boot,
33845 don't bother using UUIDs since our root already has the value we
33846 want.
33847
347396d8 338482008-06-16 Robert Millan <rmh@aybabtu.com>
33849
33850 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33851 I2O devices.
33852 Patch from Sven Mueller <sven@debian.org>.
33853
991477f8 338542008-06-16 Robert Millan <rmh@aybabtu.com>
33855
33856 * util/update-grub.in: Check for $EUID instead of $UID.
33857 Reported by Vincent Zweije.
33858
d31a32a1 338592008-06-16 Bean <bean123ch@gmail.com>
33860
fe987087 33861 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33862 (grub_ext2_read_block): Likewise.
33863 (grub_ext2_read_inode): Likewise.
33864 (grub_ext2_mount): Likewise.
33865 (grub_ext2_close): Likewise.
33866 (grub_ext3_get_journal): Removed.
33867
fe987087 33868 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33869 (grub_reiserfs_read_symlink): Likewise.
33870 (grub_reiserfs_mount): Likewise.
33871 (grub_reiserfs_open): Likewise.
33872 (grub_reiserfs_read): Likewise.
33873 (grub_reiserfs_close): Likewise.
33874 (grub_reiserfs_get_journal): Removed.
33875
33876 * fs/fshelp.c (grub_fshelp_read): Removed.
33877 (grub_fshelp_map_block): Likewise.
33878
33879 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33880 (grub_fshelp_journal): Likewise.
33881 (grub_fshelp_read): Likewise.
33882 (grub_fshelp_map_block): Likewise.
33883
3540a760 338842008-06-16 Pavel Roskin <proski@gnu.org>
33885
33886 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33887 floating point anymore.
33888 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33889
95614c84 338902008-06-15 Pavel Roskin <proski@gnu.org>
33891
33892 * commands/ls.c (grub_ls_list_files): Use integer calculations
33893 for human readable format, avoid floating point use.
33894 * kern/misc.c (grub_ftoa): Remove.
33895 (grub_vsprintf): Remove floating point support.
33896
50465dd6 338972008-06-15 Robert Millan <rmh@aybabtu.com>
33898
fe6b695a 33899 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33900 devices.
33901 Reported by Max Vozeler.
33902
a9207284 339032008-06-15 Robert Millan <rmh@aybabtu.com>
33904
33905 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33906 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33907 skipped later.
33908 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33909 the beginning of the prefix.
33910
33911 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33912 It is assumed that if we have a memdisk, grub-mkimage has set
33913 grub_prefix to include the "(memdisk)" drive in it.
33914
a7cbd45a 339152008-06-15 Robert Millan <rmh@aybabtu.com>
33916
33917 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33918 Initialize keyboard controller after registering the terminal, so that
33919 grub_printf() can be called from grub_keyboard_controller_init().
33920
21cf716a 339212008-06-15 Robert Millan <rmh@aybabtu.com>
33922
33923 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33924 extent-btree which is written as big endian on disk.
33925 Reported by Alain Greppin <al@chilibi.org>.
33926
23a64d8e 339272008-06-14 Robert Millan <rmh@aybabtu.com>
33928
33929 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33930 * util/i386/pc/grub-install.in (modules): Likewise.
33931
d687651c 339322008-06-13 Pavel Roskin <proski@gnu.org>
33933
33934 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33935
dfe9ddd4 339362008-06-13 Bean <bean123ch@gmail.com>
33937
33938 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33939
33940 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33941
33942 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33943 to indicate sparse block.
33944
16ae7781 339452008-06-12 Pavel Roskin <proski@gnu.org>
33946
e6d1a308 33947 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33948 number, grub_fshelp_read() does it for us.
33949
16ae7781 33950 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33951 linear disk read with journal translation.
33952 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33953 * include/grub/fshelp.h: Declare grub_fshelp_read().
33954
40fd3a2b 339552008-06-09 Pavel Roskin <proski@gnu.org>
33956
33957 * fs/minix.c (grub_minix_mount): Handle error reading
33958 superblock.
33959
f5679726 339602008-06-08 Robert Millan <rmh@aybabtu.com>
33961
33962 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33963 don't append the RAID prefix afterwards.
33964 Reported by Clint Adams.
33965
ce525529 339662008-06-08 Robert Millan <rmh@aybabtu.com>
33967
33968 Based on description from Pavel:
33969 * kern/disk.c (grub_disk_check_range): Rename to ...
33970 (grub_disk_adjust_range): ... this. Add a comment explaining the
33971 tasks performed by this function.
33972
ad4936a0 339732008-06-08 Robert Millan <rmh@aybabtu.com>
33974
33975 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33976 `num_serial' (for consistency with other variables).
33977 (struct grub_ntfs_data): Add `uuid' member.
33978 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33979 (grub_ntfs_uuid): New function.
33980 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33981
dc20b0f9 339822008-06-07 Pavel Roskin <proski@gnu.org>
33983
33984 * util/biosdisk.c (open_device): Revert last change to the
33985 function, it broke installation. The sector needs to be
33986 different dependent on which device is opened.
33987
c5e3cfba 339882008-06-06 Robert Millan <rmh@aybabtu.com>
33989
33990 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33991 rest of GRUB, and breakage doesn't happen if its value were modified.
33992
33993 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33994 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33995 a constant (same value).
33996 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33997 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33998
26a1f8c4 339992008-06-06 Robert Millan <rmh@aybabtu.com>
34000
34001 * util/biosdisk.c (open_device): Do not modify sector offset when
34002 accessing a partition. kern/disk.c already handles this for us.
34003
25d6b327 340042008-06-06 Robert Millan <rmh@aybabtu.com>
34005
34006 * util/grub-emu.c (grub_machine_init): Move code in this function from
34007 here ...
34008 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34009 segfault in case grub_printf() is called).
34010
34011 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34012 grub_probe. Update all users not to explicitly add it again.
34013 (grub_device): New variable; contains corresponding device for grubdir.
34014 (fs_module, partmap_module, devabstraction_module): Pass
34015 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34016 every time.
34017
9ece62fb 340182008-06-05 Robert Millan <rmh@aybabtu.com>
34019
34020 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34021 is found, print it (same layout as with labels).
34022
1ad36d37 340232008-06-04 Robert Millan <rmh@aybabtu.com>
34024
34025 * util/biosdisk.c (get_drive): Rename to ...
34026 (find_grub_drive): ... this. Update all users.
34027
34028 (get_os_disk): Rename to ...
34029 (convert_system_partition_to_system_disk): ... this. Update all users.
34030
34031 (find_drive): Rename to ...
34032 (find_system_device): ... this. Update all users.
34033
e6a30859 340342008-06-04 Robert Millan <rmh@aybabtu.com>
34035
34036 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34037 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34038 (make_device_map): Likewise.
34039
00c108a4 340402008-06-01 Robert Millan <rmh@aybabtu.com>
34041
34042 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34043 before dereferencing it.
34044
34045 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34046 union with fat12/fat16-specific ones. Add some new fields, including
34047 `num_serial' for both versions.
34048 (struct grub_fat_data): Add `uuid' member.
34049 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34050 names. Initialize `data->uuid' using `num_serial'.
34051 (grub_fat_uuid): New function.
34052 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34053
34054 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34055 (grub_reiserfs_uuid): New function.
34056 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34057 member.
34058
34059 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34060 (grub_xfs_uuid): New function.
34061 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34062
1385c5bb 340632008-06-01 Robert Millan <rmh@aybabtu.com>
34064
34065 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34066 code that is backward compatible with pre-uuid search command.
34067
c682dfd7 340682008-05-31 Robert Millan <rmh@aybabtu.com>
34069
34070 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34071 floppies after everything else, to ensure floppy drive isn't accessed
34072 unnecessarily (patch from Bean).
34073
b7db5d47 340742008-05-31 Robert Millan <rmh@aybabtu.com>
34075
34076 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34077 not print device names when we were asked to set a variable.
34078
6e037aa9 340792008-05-31 Robert Millan <rmh@aybabtu.com>
34080
34081 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34082 using "cursor-on" and "cursor-off" commands (understood at least by
34083 the Open Firmware flavour on OLPC).
34084
41305bc8 340852008-05-31 Michael Gorven <michael@gorven.za.net>
34086
34087 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34088 on and off sequences.
34089
69ba137e 340902008-05-31 Robert Millan <rmh@aybabtu.com>
34091
34092 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34093 * util/update-grub.in: Likewise.
34094
520ae21b 340952008-05-30 Pavel Roskin <proski@gnu.org>
34096
34097 * util/biosdisk.c (linux_find_partition): Simplify logic and
34098 make the code more universal. Keep special processing for
34099 devfs, but use a simple rule for all other devices. If the
34100 device ends with a number, append 'p' and the partition number.
34101 Otherwise, append only the partition number.
34102
5786569b 341032008-05-30 Robert Millan <rmh@aybabtu.com>
34104
34105 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34106 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34107 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34108 the `root' parameter to Linux.
34109
51500452 341102008-05-30 Robert Millan <rmh@aybabtu.com>
34111
34112 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34113 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34114 --fs_uuid with --fs-uuid.
34115 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34116 all filesystems support them).
34117
811d3878 341182008-05-30 Robert Millan <rmh@aybabtu.com>
34119
34120 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34121 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34122
cab63c95 341232008-05-30 Robert Millan <rmh@aybabtu.com>
34124
34125 * util/grub.d/00_header.in: Remove obsolete comment referencing
34126 convert_system_path_to_grub_path().
34127 * util/update-grub.in: Likewise.
34128 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34129 (convert_system_path_to_grub_path): Add a warning message explaining
34130 that this function is deprecated. Rely on is_path_readable_by_grub()
34131 for the readability checks.
34132 (font_path): Use is_path_readable_by_grub() for the readability
34133 check rather than convert_system_path_to_grub_path().
34134
972e2f7a 341352008-05-30 Robert Millan <rmh@aybabtu.com>
34136
34137 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34138 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34139 converting it first.
34140 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34141 grub.cfg for access to font file, and afterwards call it again to set
34142 the root device.
34143
62191274 341442008-05-30 Robert Millan <rmh@aybabtu.com>
34145
34146 * commands/search.c (options): Add --fs_uuid option.
34147 (search_fs_uuid): New function.
34148 (grub_cmd_search): Fix --set argument passing.
34149 Use search_fs_uuid() when requested via --fs_uuid.
34150 (grub_search_init): Update help message.
34151 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34152 and redeclare it as an array of 16-bit words.
34153 (grub_ext2_uuid): New function.
34154 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34155 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34156 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34157 (GRUB_DEVICE_BOOT_UUID): New variables.
34158 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34159 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34160 whenever possible.
34161 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34162 just assume `root' variable has the right value.
34163 * util/grub.d/10_linux.in: Likewise.
34164 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34165 via PRINT_FS_UUID.
34166 (main): Recognise `-t fs_uuid' argument.
34167
01b73ec8 341682008-05-30 Robert Millan <rmh@aybabtu.com>
34169
34170 * util/biosdisk.c (map): Redefine structure to hold information
34171 about GRUB drive name.
fe6b695a 34172 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34173 drive names.
34174 (call_hook): Remove.
34175 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34176 member. Assume drive has partitions.
34177 (grub_util_biosdisk_open): Access device names via `.device' struct
34178 member.
34179 (open_device): Likewise.
34180 (find_drive): Likewise.
34181 (read_device_map): Adjust map[] usage to match the new struct
34182 definition. Don't check for duplicates (still possible, but not cheap
34183 anymore).
34184 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34185 (make_device_name): Remove assumption of BIOS-like drive names.
34186
22f16596 341872008-05-30 Pavel Roskin <proski@gnu.org>
34188
34189 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34190 compiling execute.c doesn't need grub_script.tab.h anymore.
34191 (normal/command.c_DEPENDENCIES): Likewise.
34192 (normal/function.c_DEPENDENCIES): Likewise.
34193 * conf/i386-ieee1275.rmk: Likewise.
34194 * conf/i386-linuxbios.rmk: Likewise.
34195 * conf/i386-pc.rmk: Likewise.
34196 * conf/powerpc-ieee1275.rmk: Likewise.
34197 * conf/sparc64-ieee1275.rmk: Likewise.
34198
528ad8f2 341992008-05-29 Pavel Roskin <proski@gnu.org>
34200
d1dff95d 34201 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34202 when scanning metadata for volume group name.
34203
528ad8f2 34204 * include/grub/script.h: Don't include grub_script.tab.h. It's
34205 a generated file, which may only be included from the files with
34206 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34207 use union YYSTYPE, as the later allows forward declaration.
34208 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34209
47248e08 342102008-05-29 Robert Millan <rmh@aybabtu.com>
34211
34212 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34213 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34214 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34215 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34216 scan codes.
34217
ee632529 342182008-05-29 Robert Millan <rmh@aybabtu.com>
34219
34220 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34221 control key combinations.
34222
eee96e08 342232008-05-29 Robert Millan <rmh@aybabtu.com>
34224
34225 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34226 * util/ieee1275/grub-install.in: ... to here.
34227 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34228 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34229 (grub_install_SOURCES): Likewise.
34230
da9a6a94 342312008-05-29 Robert Millan <rmh@aybabtu.com>
34232
34233 * fs/affs.c: Update copyright year.
34234 * fs/ext2.c: Likewise.
34235 * fs/fshelp.c: Likewise.
34236 * fs/hfsplus.c: Likewise.
34237 * fs/ntfs.c: Likewise.
34238 * fs/xfs.c: Likewise.
34239 * include/grub/fshelp.h: Likewise.
34240 * util/grub-mkdevicemap.c: Likewise.
34241
12e65f3a 342422008-05-28 Robert Millan <rmh@aybabtu.com>
34243
34244 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34245 might need to be fatfs to support some firmware implementations
34246 (e.g. OFW or EFI).
34247
23023641 342482008-05-28 Robert Millan <rmh@aybabtu.com>
34249
34250 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34251 devices.
34252 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34253 (make_device_map): Likewise.
34254
887d2619 342552008-05-20 Bean <bean123ch@gmail.com>
34256
34257 * fs/fshelp.c (grub_fshelp_map_block): New function.
34258 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34259 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34260
34261 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34262 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34263 (grub_fshelp_journal): New structure.
34264 (grub_fshelp_map_block): New function prototype.
34265 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34266 (grub_fshelp_map_block): Likewise.
34267
34268 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34269 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34270 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34271 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34272 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34273 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34274 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34275 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34276 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34277 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34278 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34279 (grub_ext2_sblock): New members for journal support.
34280 (grub_ext3_journal_header): New structure.
34281 (grub_ext3_journal_revoke_header): Likewise.
34282 (grub_ext3_journal_block_tag): Likewise.
34283 (grub_ext3_journal_sblock): Likewise.
34284 (grub_fshelp_node): New members logfile and journal.
34285 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34286 grub_fshelp_map_block to get real block number.
34287 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34288 number.
34289 (grub_ext2_read_inode): Likewise.
34290 (grub_ext3_get_journal): New function.
34291 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34292 (grub_ext2_close): Release memory used by journal.
34293
34294 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34295 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34296 (grub_reiserfs_transaction_header): Renamed to
34297 grub_reiserfs_description_block, replace field data with real_blocks.
34298 (grub_reiserfs_commit_block): New structure.
34299 (grub_reiserfs_data): New member journal.
34300 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34301 number.
34302 (grub_reiserfs_read_symlink): Likewise.
34303 (grub_reiserfs_iterate_dir): Likewise.
34304 (grub_reiserfs_open): Likewise.
34305 (grub_reiserfs_read): Likewise.
34306 (grub_reiserfs_get_journal): New function.
34307 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34308 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34309 using grub_reiserfs_get_journal.
34310 (grub_reiserfs_close): Release memory used by journal.
34311
34312 * fs/affs.c (grub_affs_read_block): Change block type to
34313 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34314
34315 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34316
34317 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34318
34319 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34320
34321 * fs/udf.c (grub_udf_read_block): Change block type to
34322 grub_disk_addr_t. Use type cast to avoid warning.
34323
34324 * fs/xfs.c (grub_xfs_read_block): Likewise.
34325
b7c6bed5 343262008-05-16 Christian Franke <franke@computer.org>
34327
34328 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34329 to ensure that break with ESC will always work.
34330 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34331 Remove ESC from keyboard queue.
34332
eedf167f 343332008-05-16 Christian Franke <franke@computer.org>
34334
34335 * util/biosdisk.c: [__CYGWIN__] Add includes.
34336 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34337 (get_os_disk): Move variable declarations to OS specific
34338 parts to avoid warning.
34339 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34340 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34341 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34342 Cygwin.
34343 * util/getroot.c: [__CYGWIN__] Add includes.
34344 (strip_extra_slashes): Fix "/" case.
34345 [__CYGWIN__] (get_win32_path): New function.
34346 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34347 [__CYGWIN__] (find_root_device): Disable.
34348 [__CYGWIN__] (get_bootsec_serial): New function.
34349 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34350 [__linux__] (grub_guess_root_device): Add early returns to simplify
34351 structure.
34352 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34353 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34354 check for Linux only.
34355
a079699e 343562008-05-15 Bean <bean123ch@gmail.com>
34357
34358 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34359 keyboard hang problem in apple's intel mac.
34360
1cf4059a 343612008-05-09 Robert Millan <rmh@aybabtu.com>
34362
34363 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34364 devices.
34365 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34366 (make_device_map): Likewise.
34367 Reported by Aurelien Jarno <aurel32@debian.org>
34368
ed759390 343692008-05-07 Ian Campbell <ijc@hellion.org.uk>
34370
34371 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34372 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34373 (make_device_map): Output entries for xvd type disks.
34374
b56c4eaa 343752008-05-07 Robert Millan <rmh@aybabtu.com>
34376
34377 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34378 devices.
34379 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34380 (make_device_map): Likewise.
34381 Reported by Roland Dreier <rdreier@cisco.com>
34382
7f8866ed 343832008-05-07 Robert Millan <rmh@aybabtu.com>
34384
34385 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34386 grub_strstr() call. Correct a few mistakes in failure path handling.
34387
b0346e0f 343882008-05-06 Robert Millan <rmh@aybabtu.com>
34389
34390 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34391 Do not print a trailing slash (therefore, the root directory is an
34392 empty string).
34393 (convert_system_path_to_grub_path): Do not remove trailing slash
34394 from make_system_path_relative_to_its_root() output.
34395
34396 * util/i386/pc/grub-install.in: Add trailing slash to output from
34397 make_system_path_relative_to_its_root().
34398
6cf12cbd 343992008-05-06 Robert Millan <rmh@aybabtu.com>
34400
34401 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34402 ensures that output lines aren't intermangled with those sent to
34403 stderr (via grub_util_info()).
34404 * util/grub-probe.c (grub_refresh): Likewise.
34405 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34406
0fbb3117 344072008-05-05 Christian Franke <franke@computer.org>
34408
34409 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34410 Add Cygwin device names.
34411 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34412 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34413 (check_device): Return error instead of success on empty name.
34414 (make_device_map): Move label inside linux specific code to
34415 prevent compiler warning.
34416
8124cdb7 344172008-04-30 Robert Millan <rmh@aybabtu.com>
34418
34419 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34420 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34421 first boot option.
34422 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34423
094c01d0 344242008-04-29 Robert Millan <rmh@aybabtu.com>
34425
34426 * docs/grub.cfg: New file (example GRUB configuration).
34427
f4b1fc02 344282008-04-26 Robert Millan <rmh@aybabtu.com>
34429
329ce2a5 34430 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34431 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34432 and `disk/ieee1275/nand.c'.
f4b1fc02 34433
25f16ec1 344342008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34435
25f16ec1 34436 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34437 i386-linuxbios.
34438
34439 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34440 change the buffer size to 4096 for cdrom device.
34441
34442 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34443 and nand.mod.
34444 (_linux_mod_SOURCES): New variable.
34445 (_linux_mod_CFLAGS): Likewise.
34446 (_linux_mod_LDFLAGS): Likewise.
34447 (linux_mod_SOURCES): Likewise.
34448 (linux_mod_CFLAGS): Likewise.
34449 (linux_mod_LDFLAGS): Likewise.
34450 (nand_mod_SOURCES): Likewise.
34451 (nand_mod_CFLAGS): Likewise.
34452 (nand_mod_LDFLAGS): Likewise.
34453
34454 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34455 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34456 type property. (nand device in olpc don't have this property)
34457
34458 * include/grub/disk.h (grub_disk_dev_id): New macro
34459 GRUB_DISK_DEVICE_NAND_ID.
34460
34461 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34462 function prototype.
34463 (grub_rescue_cmd_initrd): Likewise.
34464
34465 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34466 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34467 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34468
25f16ec1 34469 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34470 GRUB_MACHINE_IEEE1275 is defined.
34471
34472 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34473 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34474
34475 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34476 on nested function heap_init.
34477 (grub_upper_mem): New variable for i386-ieee1275.
34478 (grub_get_extended_memory): New function for i386-ieee1275.
34479 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34480
34481 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34482 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34483 property.
f19dbdb7 34484
25f16ec1 34485 * loader/i386/ieee1275/linux.c: New file.
34486
34487 * loader/i386/ieee1275/linux_normal.c: New file.
34488
34489 * disk/ieee1275/nand.c: New file.
34490
e89d61e9 344912008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34492
34493 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34494 value.
34495 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34496
602566f6 344972008-04-18 Robert Millan <rmh@aybabtu.com>
34498
34499 Restructures early code path on ieee1275 to unify grub_main() as
34500 the first C function that is executed in every platform.
34501
34502 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34503 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34504 cmain().
34505 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34506 * kern/ieee1275/cmain.c (cmain): Rename to ...
34507 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34508 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34509 at the beginning.
34510
57490c2b 345112008-04-18 Robert Millan <rmh@aybabtu.com>
34512
34513 * util/update-grub.in: Fix syntax error when setting
34514 `GRUB_PRELOAD_MODULES'.
34515 Reported by Stephane Chazelas <stephane@artesyncp.com>
34516
1977517d 345172008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34518
34519 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34520 section into account, newer toolchains generate unique build ids
34521 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34522 we want build ids to be preserved
1977517d 34523 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34524 far from other sections don't cause the raw binary images grow
34525 size
34526
bfb1f1a2 345272008-04-15 Robert Millan <rmh@aybabtu.com>
34528
34529 * disk/lvm.c: Update copyright year.
34530 * kern/misc.c: Likewise.
34531
01979850 345322008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34533
34534 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34535 there is no memory left for physical volume name.
01979850 34536
0a1150e2 345372008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34538
34539 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34540 volume name mapping to support bigger than 9 character names properly.
34541
82ead3fe 345422008-04-13 Robert Millan <rmh@aybabtu.com>
34543
34544 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34545 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34546
e54a72f5 345472008-04-13 Christian Franke <franke@computer.org>
34548
34549 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34550 to create a floppy emulation boot CD when non emulation mode
34551 does not work.
34552 Enable Joliet CD filesystem extension.
34553
9fe86034 345542008-04-13 Robert Millan <rmh@aybabtu.com>
34555
34556 * kern/misc.c (grub_strncat): Fix off-by-one error.
34557 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34558
34559 * kern/env.c (grub_env_context_close): Clear current context, not
34560 previous one.
34561 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34562
34563 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34564
7ceeee39 345652008-04-13 Robert Millan <rmh@aybabtu.com>
34566
34567 Improve robustness when handling LVM.
34568
34569 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34570 (and leave `*p' unmodified).
7ceeee39 34571 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34572 through it.
34573 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34574 iterating through it.
34575 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34576 through it.
fe6b695a 34577 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34578 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34579 Don't assume `vg->pvs != NULL' when iterating through it.
34580
58cd3d85 345812008-04-13 Robert Millan <rmh@aybabtu.com>
34582
34583 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34584 * genmk.rb (partmap): New variable.
34585 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34586 (#{partmap}): New target rule.
34587 * genpartmaplist.sh: New file.
34588 * Makefile.in (pkglib_DATA): Add partmap.lst.
34589 (partmap.lst): New target rule.
34590 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34591 modules (including all partition maps), instead of preloading them.
34592
78b51059 345932007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34594
34595 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34596 `linux-boot-prober' (if installed) to detect other operating
34597 systems which are installed on the computer and add them to
34598 the boot menu.
34599 * conf/common.rmk: Build and install 30_os-prober.
34600
a91627b4 346012008-04-12 Robert Millan <rmh@aybabtu.com>
34602
34603 * kern/powerpc/ieee1275/init.c: Move from here ...
34604 * kern/ieee1275/init.c: ... to here. Update all users.
34605
34606 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34607 * kern/ieee1275/cmain.c: ... to here. Update all users.
34608
34609 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34610 * kern/ieee1275/openfw.c: ... to here. Update all users.
34611
34612 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34613 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34614
322562ea 346152008-04-10 Pavel Roskin <proski@gnu.org>
34616
34617 * configure.ac: Always use "_cv_" in cache variables for
34618 compatibility with Autoconf 2.62.
34619
a02a73c5 346202008-04-07 Robert Millan <rmh@aybabtu.com>
34621
34622 Revert grub/machine/init.h addition by Pavel (since it breaks on
34623 i386-ieee1275 and others):
34624 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34625 * util/powerpc/ieee1275/misc.c: Likewise.
34626
25c024b1 346272008-04-07 Robert Millan <rmh@aybabtu.com>
34628
34629 * util/grub-probe.c (probe): Improve error message.
34630
3cbd2f98 346312008-04-07 Robert Millan <rmh@aybabtu.com>
34632
34633 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34634 (this prevents the presence of a bogus entry from ruining the whole
34635 thing).
34636
87a297bf 346372008-04-06 Pavel Roskin <proski@gnu.org>
34638
36747a62 34639 * util/biosdisk.c: Include grub/util/biosdisk.h.
34640 * util/grub-fstest.c (execute_command): Make static.
34641 * util/grub-mkdevicemap.c (check_device): Likewise.
34642 * util/i386/pc/misc.c: Include grub/machine/init.h.
34643 * util/powerpc/ieee1275/misc.c: Likewise.
34644 * util/lvm.c: Include grub/util/lvm.h.
34645 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34646 grub/cache.h.
34647 * util/raid.c: Include grub/util/raid.h.
34648 (grub_util_getdiskname): Make static.
34649
87a297bf 34650 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34651 grub_hostfs_fini(), as they are called from grub_init_all() and
34652 grub_fini_all() respectively. This fixes an infinite loop in
34653 grub-fstest due to double registration of hostfs.
34654 Reported by Christian Franke <Christian.Franke@t-online.de>
34655
f6ce7629 346562008-04-05 Pavel Roskin <proski@gnu.org>
34657
34658 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34659 all 8 functions. Otherwise, probe function 0 only.
34660
070e49e4 346612008-04-04 Pavel Roskin <proski@gnu.org>
34662
8b088a4c 34663 * commands/lspci.c (grub_lspci_iter): Print the bus number
34664 correctly.
34665
4f657021 34666 * commands/lspci.c (grub_pci_classes): Fix typos.
34667 (grub_lspci_iter): Don't print func twice. Print vendor ID
34668 before device ID, as it's normally done.
34669
070e49e4 34670 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34671 Fix signedness warnings.
34672 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34673 Likewise.
34674 * util/ieee1275/get_disk_name.c: Include config.h so that
34675 _GNU_SOURCE is defined and getline() is declared. Mark an
34676 unused argument as such. Fix a signedness warning.
34677
ba7328dc 346782008-04-02 Pavel Roskin <proski@gnu.org>
34679
26887f22 34680 * genkernsyms.sh.in: Use more robust assignments for CC and
34681 srcdir. Quote srcdir.
34682 * gensymlist.sh.in: Likewise. Assert at the compile time that
34683 the symbol table is not empty.
34684
ba7328dc 34685 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34686 * fs/cpio.c (grub_cpio_read): Likewise.
34687
0f582c6b 346882008-04-01 Pavel Roskin <proski@gnu.org>
34689
4b6e1995 34690 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34691 * disk/host.c (grub_host_open): Likewise.
34692 * disk/loopback.c (grub_loopback_open): Likewise.
34693 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34694 disk->id as in disk/host.c, not a multi-character constant.
34695
828a2768 34696 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34697 later is obsolete, potentially dangerous and sets a bad example.
34698 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34699 * util/misc.c (grub_util_get_image_size): Likewise.
34700
2bb4fb47 34701 * disk/loopback.c (options): Improve help for "--partitions".
34702
0f582c6b 34703 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34704 options to align them with the short options, e.g. "echo -e".
34705
a33224e0 347062008-03-31 Bean <bean123ch@gmail.com>
34707
34708 * video/reader/png.c (grub_png_data): New member is_16bit and
34709 image_data.
34710 (grub_png_decode_image_header): Detect 16 bit png image.
34711 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34712 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34713 (grub_video_reader_png): Release memory occupied by image_data.
34714
34715 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34716 4096 bytes.
34717 (grub_nfs_mount): Skip the test for sector per cluster.
34718
34719 * include/grub/ntfs.h (MAX_SPC): Removed.
34720
86cb4f54 347212008-03-31 Bean <bean123ch@gmail.com>
34722
34723 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34724 (grub_probe_SOURCES): Add fs/afs.c.
34725 (grub_fstest_SOURCES): Likewise.
34726 (afs_mod_SOURCES): New variable.
34727 (afs_mod_CFLAGS): Likewise.
34728 (afs_mod_LDFLAGS): Likewise.
34729
34730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34731 (grub_emu_SOURCES): Likewise.
34732
34733 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34734
34735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34736
34737 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34738
34739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34740
34741 * fs/afs.c: New file.
34742
17c74c21 347432008-03-30 Pavel Roskin <proski@gnu.org>
34744
4cb68e89 34745 * disk/host.c: Include grub/misc.h to fix a warning.
34746 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34747 warnings about implicit declarations.
34748
8790bb04 34749 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34750 variable.
34751 * include/grub/i386/loader.h: Change declaration of
34752 grub_linux_boot() to match what grub_loader_set() expects.
34753 * util/getroot.c (grub_guess_root_device): Return const char* to
34754 fix a warning.
34755 * util/grub-probe.c (probe): Fix a warning about uninitialized
34756 abstraction_name variable.
34757 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34758 second argument as unused to fix a warning.
34759
9a3f3296 34760 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34761 missing grub_error() call.
34762
0ecef90d 34763 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34764 2.60 and newer uses it to define datadir.
34765
0bf6d401 34766 * commands/sleep.c: Fix warning about implicit declaration.
34767 * disk/memdisk.c: Likewise.
34768 * loader/aout.c: Likewise.
34769 * loader/i386/bsd_normal.c: Likewise.
34770 * util/grub-probe.c: Likewise.
34771
7cdacf97 34772 * commands/i386/cpuid.c (has_longmode): Make static.
34773 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34774 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34775
17c74c21 34776 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34777 GDT. This is more robust, as %ds can change.
34778 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34779 calling real_to_prot().
34780 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34781
80a3e68b 347822008-03-28 Pavel Roskin <proski@gnu.org>
34783
34784 * kern/i386/pc/startup.S: Assert that uncompressed functions
34785 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34786 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34787 code, as they push parts of the code (error handlers) beyond
34788 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34789 code as correctness and size.
34790
77bcd272 347912008-03-28 Pavel Roskin <proski@gnu.org>
34792
34793 * kern/i386/pc/startup.S
34794 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34795 data block address to the real mode, keep offset minimal. This
34796 works around a bug in AWARD BIOS on old Athlon systems, which
34797 makes CD detection hang.
34798
c5dfd43b 347992008-03-26 Pavel Roskin <proski@gnu.org>
34800
34801 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34802 const.
34803 * include/grub/normal.h: Add grub_parse_color_name_pair()
34804 declaration.
34805
bf962df2 348062008-03-24 Bean <bean123ch@gmail.com>
34807
34808 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34809 (cd_count): Removed.
34810 (cd_drive): New variable.
34811 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34812 (grub_biosdisk_call_hook): Likewise.
34813 (grub_biosdisk_iterate): Change cdrom detection method.
34814 (grub_biosdisk_open): Replace cd_start with cd_drive.
34815 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34816 detect cdrom device.
34817
34818 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34819 Removed.
34820 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34821 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34822 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34823 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34824 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34825 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34826 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34827 (grub_biosdisk_cdrp): New structure.
34828 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34829
34830 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34831
34832 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34833 device.
34834
34835 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34836 New function.
34837
68e7fc7a 348382008-03-20 Robert Millan <rmh@aybabtu.com>
34839
34840 Remove 2 TiB limit in ata.mod.
34841 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34842 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34843 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34844 grub_uint64_t instead of grub_uint32_t.
34845
38ad2cf5 348462008-03-05 Bean <bean123ch@gmail.com>
34847
34848 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34849 (grub_multiboot): Set boot device.
34850
34851 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34852
2b89344e 348532008-03-02 Bean <bean123ch@gmail.com>
34854
34855 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34856 symlink_buffer.
34857
87a95d1f 348582008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34859
34860 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34861 texinfo.tex.
34862
34863 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34864 modified.
34865
34866 * docs/fdl.texi: New file.
f19dbdb7 34867
87a95d1f 34868 * docs/mdate-sh: New file. Copied from gnulib.
34869 * docs/texinfo.tex: Likewise.
34870
34871 * config.guess: Updated from gnulib.
34872 * install-sh: Likewise.
34873
7dc15d8e 348742008-02-28 Robert Millan <rmh@aybabtu.com>
34875
34876 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34877 (aout_mod_SOURCES): New variable.
34878 (aout_mod_CFLAGS): Likewise.
34879 (aout_mod_LDFLAGS): Likewise.
34880
34881 * conf/i386-ieee1275.rmk: Likewise.
34882
b00ab696 348832008-02-28 Robert Millan <rmh@aybabtu.com>
34884
34885 * util/update-grub.in: Reorganise terminal validity check. Accept
34886 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34887 Based on suggestion by Franklin PIAT.
34888
79ca2d78 348892008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34890
34891 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34892 function.
34893 * util/getroot.c (grub_util_check_block_device): New function that
34894 returns the given argument if it is a block device and returns NULL else.
34895 * util/grub-probe.c (argument_is_device): New variable.
34896 (probe): Promote device_name from a variable to an argument. Receive
34897 device_name from grub_util_check_block_device() if path is NULL and from
34898 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34899 (options): Introduce new parameter '-d, --device'.
79ca2d78 34900 (main): Add description of the new parameter to the help screen.
34901 Rename path variable to argument. Set argument_is_device if the '-d'
34902 option is given. Pass argument to probe() depending on
34903 argument_is_device.
34904
0d16e571 349052008-02-24 Bean <bean123ch@gmail.com>
34906
34907 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34908 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34909 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34910 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34911 (GRUB_ISO9660_VOLDESC_END): Likewise.
34912 (grub_iso9660_primary_voldesc): New member escape.
34913 (grub_iso9660_data): New member joliet.
34914 (grub_iso9660_convert_string): New function.
34915 (grub_iso9660_mount): Detect joliet extension.
34916 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34917 (grub_iso9660_iso9660_label): Likewise.
34918
34919 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34920 (grub_setup_SOURCES): Add fs/udf.c.
34921 (grub_fstest_SOURCES): Likewise.
34922 (udf_mod_SOURCES): New variable.
34923 (udf_mod_CFLAGS): Likewise.
34924 (udf_mod_LDFLAGS): Likewise.
34925
34926 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34927 (grub_emu_SOURCES): Likewise.
34928
34929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34930
34931 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34932
34933 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34934
34935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34936
34937 * fs/udf.c: New file.
34938
8a594a17 349392008-02-24 Robert Millan <rmh@aybabtu.com>
34940
34941 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34942 (normal/lexer.c_DEPENDENCIES): New variables.
34943 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34944 (normal/lexer.c_DEPENDENCIES): Likewise.
34945 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34946 (normal/lexer.c_DEPENDENCIES): Likewise.
34947 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34948 (normal/lexer.c_DEPENDENCIES): Likewise.
34949 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34950 (normal/lexer.c_DEPENDENCIES): Likewise.
34951 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34952 (normal/lexer.c_DEPENDENCIES): Likewise.
34953
2dc33c03 349542008-02-23 Robert Millan <rmh@aybabtu.com>
34955
34956 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34957 since they were intended to be in hex. This didn't break previously
34958 because of a bug in gpt_partition_map_iterate() (see below).
34959
34960 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34961 when checking the validity of GPT header.
34962 Remove `partno', since it always provides the same information as `i'.
34963
f6f4cfb0 349642008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34965
34966 * include/grub/efi/time.h: Fix a wrong comment.
34967
79ff665f 349682008-02-19 Pavel Roskin <proski@gnu.org>
34969
34970 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34971 message.
34972
d38e24c2 349732008-02-19 Bean <bean123ch@gmail.com>
34974
34975 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34976 (aout_mod_SOURCES): New variable.
34977 (aout_mod_CFLAGS): Likewise.
34978 (aout_mod_LDFLAGS): Likewise.
34979 (_bsd_mod_SOURCES): New variable.
34980 (_bsd_mod_CFLAGS): Likewise.
34981 (_bsd_mod_LDFLAGS): Likewise.
34982 (bsd_mod_SOURCES): New variable.
34983 (bsd_mod_CFLAGS): Likewise.
34984 (bsd_mod_LDFLAGS): Likewise.
34985
34986 * include/grub/aout.h: New file.
34987
34988 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34989
34990 * include/grub/i386/bsd.h: New file.
34991
34992 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34993 to make it public.
34994
34995 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34996 function is called, so that it's possible to change it inside the hook.
34997 (grub_elf64_load): Likewise.
34998 (grub_elf_file): Don't close the file if elf header is not found.
34999 (grub_elf_close): Close the file if grub_elf_file fails (The new
35000 grub_elf_file won't close it).
35001 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35002 (grub_elf64_size): Likewise.
35003
35004 * kern/i386/loader.S (grub_unix_real_boot): New function.
35005
35006 * loader/aout.c: New file.
35007
35008 * loader/i386/bsd.c: New file.
35009
35010 * loader/i386/bsd_normal.c: New file.
35011
35012 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35013
35014 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35015 can test other formats.
d38e24c2 35016
b93bdb0f 350172008-02-19 Robert Millan <rmh@aybabtu.com>
35018
35019 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35020 (grub_gpt_partition_type_empty): Redefine with macro from
35021 `<grub/gpt_partition.h>'.
35022 (gpt_partition_map_iterate): Adjust partition type comparison.
35023
35024 Export `entry' as partmap-specific `part.data' struct.
35025 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35026
35027 * include/grub/gpt_partition.h (grub_gpt_header)
35028 (grub_gpt_partentry): ... to here (new file).
35029
35030 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35031
35032 (grub_gpt_partition_type_bios_boot): New const variable, defined
35033 with macro from `<grub/gpt_partition.h>'.
35034
35035 (setup): Replace `first_start' with `embed_region', which keeps
35036 track of the embed region (and is partmap-agnostic).
35037
35038 Replace find_first_partition_start() with find_usable_region(),
35039 which finds a usable region for embedding using partmap-specific
35040 knowledge (supports PC/MSDOS and GPT).
35041
35042 Fix all assumptions that the embed region start at sector 1, using
35043 `embed_region.start' from now on. Similarly, use `embed_region.end'
35044 rather than `first_start' to calculate available size.
35045
35046 In grub_util_info() message, replace "into after the MBR" with an
35047 indication of the specific sector our embed region starts at.
35048
66cb40f6 350492008-02-19 Robert Millan <rmh@aybabtu.com>
35050
35051 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35052 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35053 `commands/reboot.c'.
35054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35055 (halt_mod_SOURCES): Likewise.
35056 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35057 (halt_mod_SOURCES): Likewise.
35058
b7202015 350592008-02-17 Christian Franke <franke@computer.org>
35060
35061 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35062
32b0fc49 350632008-02-17 Robert Millan <rmh@aybabtu.com>
35064
35065 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35066 set `first_start' to 0 for non-PC/MSDOS partition maps.
35067
aca63502 350682008-02-16 Robert Millan <rmh@aybabtu.com>
35069
35070 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35071 do not assume partition map is PC/MSDOS before performing checks that
35072 are specific to that layout.
35073
0de8be86 350742008-02-13 Robert Millan <rmh@aybabtu.com>
35075
35076 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35077 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35078 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35079
c3db8364 350802008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35081
35082 * configure.ac: Only a cosmetic change on the handling of
35083 -fno-stack-protector.
35084
f714229e 350852008-02-12 Alexandre Boeglin <alex@boeglin.org>
35086
c3db8364 35087 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35088 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35089 reboot.c.
f714229e 35090 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35091 (halt_mod_SOURCES): New variable.
35092 (halt_mod_CFLAGS): Likewise.
35093 (halt_mod_LDFLAGS): Likewise.
35094 (reboot_mod_SOURCES): Likewise.
35095 (reboot_mod_CFLAGS): Likewise.
35096 (reboot_mod_LDFLAGS): Likewise.
35097
c3db8364 35098 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35099 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35100 reboot.c.
f714229e 35101 (halt_mod_SOURCES): Likewise.
35102 (reboot_mod_SOURCES): Likewise.
35103
c3db8364 35104 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35105 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35106 (reboot_mod_SOURCES): Likewise.
35107
35108 * commands/i386/pc/reboot.c: merge this file ...
35109
35110 * commands/ieee1275/reboot.c: ... and this file ...
35111
35112 * commands/reboot.c: ... to this file.
c3db8364 35113 Add some precompiler directive to include the correct header for
35114 each machine.
f714229e 35115
35116 * commands/ieee1275/halt.c: move this file ...
35117
35118 * commands/halt.c: ... to here.
c3db8364 35119 Add some precompiler directive to include the correct header for
35120 each machine.
f714229e 35121
35122 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35123 (grub_halt): Likewise.
35124
35125 * kern/efi/efi.c (grub_reboot): New function.
35126 (grub_halt): Likewise.
35127
c74493e0 351282008-02-12 Robert Millan <rmh@aybabtu.com>
35129
35130 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35131 /dev (like it is done for /dev/mapper). This doesn't provide support
35132 for EVMS, but at least it is now easy to identify the problem when it
35133 arises.
35134
d0db4b04 351352008-02-11 Robert Millan <rmh@aybabtu.com>
35136
35137 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35138 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35139 comparing it with -1, not 0.
35140
bf748642 351412008-02-10 Robert Millan <rmh@aybabtu.com>
35142
35143 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35144 `disk/lvm.c'.
35145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35146 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35147
35148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35149 `disk/lvm.c' to the end of the list.
35150 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35151 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35152
b5db202a 351532008-02-10 Robert Millan <rmh@aybabtu.com>
35154
35155 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35156 grub_print_error() instead. This will let user know why we're entering
35157 rescue mode.
35158 Based on suggestions from Sam Morris.
35159
83abee31 351602008-02-10 Alexandre Boeglin <alex@boeglin.org>
35161
35162 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35163 on remaining N args, instead of "--" arg N times.
35164
78d5a08b 351652008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35166
35167 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35168 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35169 pattern for unknown glyphs.
35170
68807e5f 351712008-02-09 Robert Millan <rmh@aybabtu.com>
35172
35173 * configure.ac: Probe for `help2man'.
35174 * Makefile.in (builddir): New variable.
35175 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35176 or otherwise add a few flags/options to it.
35177 (install-local): For every executable utility or script that is
35178 installed, invoke $(HELP2MAN) to install a manpage based on --help
35179 output.
35180
35181 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35182 that it doesn't prevent --help from working in build tree.
35183
35184 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35185 with `bug-grub@gnu.org'.
35186 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35187 * util/update-grub.in (usage): New function.
35188 Implement proper argument check, with support for --help and --version
35189 (as well as existing -y).
35190
351912008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35192
35193 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35194 avoid overwriting previous output.
35195 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35196
c1962162 351972008-02-09 Robert Millan <rmh@aybabtu.com>
35198
35199 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35200 drawing the menu.
35201
3dac2e3f 352022008-02-09 Robert Millan <rmh@aybabtu.com>
35203
35204 * commands/sleep.c: New file.
35205 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35206 (sleep_mod_SOURCES): New variable.
35207 (sleep_mod_CFLAGS): Likewise.
35208 (sleep_mod_LDFLAGS): Likewise.
35209
7a634e08 352102008-02-09 Robert Millan <rmh@aybabtu.com>
35211
35212 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35213 situations in which we can deduce the RAID size and the superblock
35214 doesn't match it.
35215
b92f0c18 352162008-02-09 Robert Millan <rmh@aybabtu.com>
35217
35218 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35219 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35220 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35221
35222 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35223 and return a grub_diskmemberlist_t composed of physical array members.
35224 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35225
35226 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35227 prototype.
35228 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35229 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35230 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35231
35232 * util/grub-probe.c (probe): Move partmap probing code from here ...
35233 (probe_partmap): ... to here.
35234 (probe): Use probe_partmap() once for the disk we're probing, and
35235 additionally, when such disk contains a memberlist() struct member,
35236 once for each disk that is contained in the structure returned by
35237 memberlist().
35238
91a4bf68 352392008-02-09 Robert Millan <rmh@aybabtu.com>
35240
35241 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35242 environment variable to 'all' in order to obtain debug output from
35243 non-util/ code.
35244 * util/i386/pc/grub-setup.c (main): Likewise.
35245
a96f9caa 352462008-02-08 Robert Millan <rmh@aybabtu.com>
35247
35248 * disk/raid.c (grub_raid_scan_device): Check for
35249 `array->device[sb.this_disk.number]' rather than for
35250 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35251 guaranteed to be accessible.
a96f9caa 35252
b37a9222 352532008-02-08 Robert Millan <rmh@aybabtu.com>
35254
35255 * disk/raid.c: Update copyright.
35256 * fs/cpio.c: Likewise.
35257 * include/grub/raid.h: Likewise.
35258 * loader/i386/pc/multiboot.c: Likewise.
35259 * util/hostfs.c: Likewise.
35260
5626aee1 352612008-02-08 Robert Millan <rmh@aybabtu.com>
35262
35263 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35264 to a grub_disk_t array.
35265 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35266 `device[x]'.
35267 (grub_raid_scan_device): Replace `device[x].name' accesses with
35268 `device[x]->name'. Simplify initialization of `array->device[x]'.
35269
554f0187 352702008-02-08 Robert Millan <rmh@aybabtu.com>
35271
35272 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35273 grub_dprintf() calls.
35274 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35275 error message.
35276
1ec8425d 352772008-02-07 Christian Franke <franke@computer.org>
35278
35279 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35280 instead of fseek and ftell to support large files.
35281 (grub_hostfs_read): Likewise.
35282
f2156fda 352832008-02-07 Robert Millan <rmh@aybabtu.com>
35284
35285 Patch from Jeroen Dekkers.
35286 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35287 failure, since successfully reading all array members might not be
f2156fda 35288 required.
35289
9216e0e7 352902008-02-06 Robert Millan <rmh@aybabtu.com>
35291
35292 * util/grub-probe.c (probe): Simplify partmap probing (with the
35293 assumption that the first word up to the underscore equals to
35294 the module name).
35295
b0dfd29a 352962008-02-06 Christian Franke <franke@computer.org>
35297
35298 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35299 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35300 last block of a cpio or tar stream.
35301 Check for "TRAILER!!!" instead of any empty data
35302 block to detect last block of a cpio stream.
35303 (grub_cpio_dir): Fix constness of variable np.
35304 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35305 cpio or tar trailer is detected. This fixes a crash
35306 on open of a non existing file.
35307
c32865bf 353082008-02-05 Bean <bean123ch@gmail.com>
35309
35310 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35311 address of entry.
35312 (grub_multiboot_load_elf64): Likewise.
35313 (grub_multiboot): Initialize mbi structure.
35314
35315 * util/grub-fstest.c: Don't include unused header file script.h.
35316
fe6b695a 35317 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35318 of file.
35319 (grub_fstest_SOURCES): Likewise.
35320
409480b7 353212008-02-05 Robert Millan <rmh@aybabtu.com>
35322
35323 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35324 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35325 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35326 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35327
35328 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35329 (translation_table): Replace hardcoded values with macros
35330 provided by `<grub/term.h>'.
35331
35332 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35333 (keyboard_map): Correct/add a few values, with macros provided
35334 by `<grub/term.h>'.
35335 (keyboard_map_shift): Zero values that don't differ from their
35336 `keyboard_map' equivalents.
35337 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35338 Discard the second scan code that is always sent by Caps lock.
35339 Only use `keyboard_map_shift' when it provides a non-zero value,
35340 otherwise fallback to `keyboard_map'.
35341
99fadbaa 353422008-02-04 Bean <bean123ch@gmail.com>
35343
35344 * Makefile.in (enable_grub_fstest): New variable.
35345
35346 * conf/common.rmk (grub_fstest_init.lst): New rule.
35347 (grub_fstest_init.h): Likewise.
35348 (grub_fstest_init.c): Likewise.
35349 (util/grub-fstest.c_DEPENDENCIES): New variable.
35350 (grub_fstest_SOURCES): Likewise.
35351
35352 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35353
35354 * util/grub-fstest.c: New file.
35355
bf567c50 353562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35357
35358 Make grub-setup handle a separate root device.
f19dbdb7 35359
bf567c50 35360 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35361 so that the root device can be compared with the destination
35362 device.
35363 When embedding the core image, if the root and destination devices
35364 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35365 0xFF.
35366 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35367
9be6b98b 353682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35369
35370 Add support for having a grub directory in a different drive. This
35371 is still only the data handling part.
f19dbdb7 35372
9be6b98b 35373 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35374 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35375 (grub_root_drive): New variable.
35376
35377 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35378 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35379 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35380 as it was.
35381
35382 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35383
35384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35385 macro.
35386 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35387
35388 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35389 is bogus, because PXE booting does not specify any drive
35390 correctly.
35391
35392 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35393 am not sure if this is really correct.
35394
35395 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35396 is always identical to the boot drive when booting from a CD.
35397
35398 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35399 longer.
35400 (root_drive): New variable.
35401 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35402 (setup_sectors): Push %dx right after popping it, because %dh will
35403 be modified later.
35404 (copy_buffer): Restore %dx.
35405
e0ca0677 354062008-02-03 Robert Millan <rmh@aybabtu.com>
35407
35408 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35409 use `cdboot.img' for cdrom images.
35410
3b3f6629 354112008-02-03 Robert Millan <rmh@aybabtu.com>
35412
35413 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35414 only setup gfxterm when `font' command has succeeded.
35415
d42b3672 354162008-02-03 Robert Millan <rmh@aybabtu.com>
35417
35418 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35419 (grub_rescue_cmd_multiboot_loader)
35420 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35421
fa370ea6 354222008-02-03 Pavel Roskin <proski@gnu.org>
35423
e0c5dacb 35424 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35425 %edx and %esi from stack only after grub_gate_a20() is called.
35426 grub_gate_a20() clobbers %edx.
35427
f2a76e1d 354282008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35429
35430 * configure.ac (AC_INIT): Bumped to 1.96.
35431
35432 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35433 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35434 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35435 video/readers/png.c.
35436
90fd32d1 354372008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35438
35439 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35440 (cdboot_img_SOURCES): New variable.
35441 (cdboot_img_ASFLAGS): New variable.
35442 (cdboot_img_LDFLAGS): New variable.
35443
35444 * boot/i386/pc/cdboot.S: New file.
35445
35446 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35447 (cd_count): Likewise.
35448 (grub_biosdisk_get_drive): Add support for cd device.
35449 (grub_biosdisk_call_hook): Likewise.
35450 (grub_biosdisk_iterate): Likewise.
35451 (grub_biosdisk_open): Likewise.
35452 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35453 (grub_biosdisk_rw): Support reading from cd device.
35454 (GRUB_MOD_INIT): Iterate cd devices.
35455
35456 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35457 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35458 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35459
35460 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35461
4020aa53 354622008-02-02 Robert Millan <rmh@aybabtu.com>
35463
35464 * commands/read.c: New file.
35465 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35466 (read_mod_SOURCES): New variable.
35467 (read_mod_CFLAGS): Likewise.
35468 (read_mod_LDFLAGS): Likewise.
35469
e03a1132 354702008-02-02 Robert Millan <rmh@aybabtu.com>
35471
35472 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35473 determining whether menu has to be displayed.
35474
58c69220 354752008-02-02 Marco Gerards <marco@gnu.org>
35476
35477 * bus/pci.c: New file.
35478
35479 * include/grub/pci.h: Likewise.
35480
35481 * include/grub/i386/pc/pci.h: Likewise.
35482
35483 * commands/lspci.c: Likewise.
35484
35485 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35486 `lspci.mod'.
35487 (pci_mod_SOURCES): New variable.
35488 (pci_mod_CFLAGS): Likewise.
35489 (pci_mod_LDFLAGS): Likewise.
35490 (lspci_mod_SOURCES): Likewise.
35491 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35492 (lspci_mod_LDFLAGS): Likewise.
58c69220 35493
c004e1b4 354942008-02-02 Bean <bean123ch@gmail.com>
35495
35496 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35497 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35498
35499 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35500 (grub_xfs_btree_node): New structure.
35501 (grub_xfs_btree_root): New structure.
35502 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35503 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35504 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35505 (GRUB_XFS_EXTENT_SIZE): Likewise.
35506 (grub_xfs_read_block): Support btree format type.
35507 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35508 Use directory block as basic unit.
35509
35510 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35511
35512 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35513 __attribute__ ((__regparm__ (1))).
35514
f95562bf 355152008-02-01 Robert Millan <rmh@aybabtu.com>
35516
35517 Correct a mistake in previous commit.
35518
35519 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35520 top.
35521 (normal/command.c_DEPENDENCIES): New variable.
35522
7d31f41f 355232008-02-01 Robert Millan <rmh@aybabtu.com>
35524
35525 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35526 top.
35527 (normal/command.c_DEPENDENCIES): New variable.
35528 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35529 * conf/i386-ieee1275.rmk: Likewise.
35530 * conf/i386-linuxbios.rmk: Likewise.
35531 * conf/i386-pc.rmk: Likewise.
35532 * conf/sparc64-ieee1275.rmk: Likewise.
35533 * conf/powerpc-ieee1275.rmk: Likewise.
35534 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35535
35536 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35537
60b6be74 355382008-02-01 Robert Millan <rmh@aybabtu.com>
35539
35540 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35541 call at beginning of function.
35542
078522ab 355432008-01-31 Pavel Roskin <proski@gnu.org>
35544
35545 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35546 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35547 (grub_mkrescue_SOURCES): Likewise.
078522ab 35548 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35549
ccaa8a5f 355502008-01-30 Robert Millan <rmh@aybabtu.com>
35551
35552 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35553 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35554 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35555 (grub_probe_SOURCES): ... to here.
35556
35557 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35558 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35559 * conf/i386-ieee1275.rmk: Likewise.
35560 * conf/i386-linuxbios.rmk: Likewise.
35561 * conf/powerpc-ieee1275.rmk: Likewise.
35562
ae5a9cd7 355632008-01-30 Tristan Gingold <gingold@free.fr>
35564
35565 * kern/rescue.c: Silently accept empty lines.
35566
70bc2ef2 355672008-01-29 Bean <bean123ch@gmail.com>
35568
35569 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35570 (real_code_2): Code cleanup and change comment style.
35571 (move_memory): Avoid using 32-bit address mode.
35572
6a4d50ea 355732008-01-29 Bean <bean123ch@gmail.com>
35574
35575 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35576 (png_mod_SOURCES): New variable.
35577 (png_mod_CFLAGS): Likewise.
35578 (png_mod_LDFLAGS): Likewise.
35579
35580 * video/readers/png.c: New file.
35581
11cc30ac 355822008-01-28 Robert Millan <rmh@aybabtu.com>
35583
35584 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35585 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35586 `ifndef GRUB_MOD_GAP' hack.
35587 * util/elf/grub-mkimage.c (add_segments): Likewise.
35588
3abc589f 355892008-01-27 Robert Millan <rmh@aybabtu.com>
35590
35591 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35592 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35593 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35594
e1907778 355952008-01-27 Robert Millan <rmh@aybabtu.com>
35596
35597 Get grub-emu to build again (including parallel builds).
35598
35599 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35600 Split into ...
35601 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35602 (normal/execute.c_DEPENDENCIES): ... this, ...
35603 (grub-emu_DEPENDENCIES): ... and this.
35604
35605 * conf/i386-efi.rmk: Likewise.
35606 * conf/i386-linuxbios.rmk: Likewise.
35607 * conf/i386-ieee1275.rmk: Likewise.
35608 * conf/powerpc-ieee1275.rmk: Likewise.
35609 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35610
2216b101 356112008-01-27 Robert Millan <rmh@aybabtu.com>
35612
35613 * NEWS: Add a few items.
35614
f75172d9 356152008-01-27 Robert Millan <rmh@aybabtu.com>
35616
35617 Fix parallel builds with grub-emu. Based on earlier commit for
35618 grub-probe and grub-setup.
35619
35620 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35621 (util/grub-emu.c_DEPENDENCIES): ... this.
35622 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35623 (util/grub-emu.c_DEPENDENCIES): ... this.
35624 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35625 (util/grub-emu.c_DEPENDENCIES): ... this.
35626 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35627 (util/grub-emu.c_DEPENDENCIES): ... this.
35628 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35629 (util/grub-emu.c_DEPENDENCIES): ... this.
35630
3f51de77 356312008-01-27 Pavel Roskin <proski@gnu.org>
35632
35633 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35634 to create a gap between _end and the modules added to the image
35635 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35636 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35637 * util/elf/grub-mkimage.c (add_segments): Likewise.
35638
2033f53e 356392008-01-26 Pavel Roskin <proski@gnu.org>
35640
35641 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35642 just return an error.
35643
22da1f6f 356442008-01-26 Bean <bean123ch@gmail.com>
35645
35646 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35647 (grub_reiserfs_get_item): Save offset of the next item.
35648 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35649
2a9525e6 356502008-01-25 Robert Millan <rmh@aybabtu.com>
35651
35652 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35653 make all filesystem sources appear together (possibly fixing omissions
35654 while at it).
35655 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35656 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35657 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35659
35660 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35661 add `kern/file.c'.
35662 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35663 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35664 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35665 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35666
35667 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35668 (probe): Add a sanity check to make sure of our ability to read
35669 requested files when probing for filesystem type.
35670
35671 * genmk.rb: Update copyright year (2007).
35672
35673 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35674 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35675 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35676 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35677 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35678 : Remove function prototypes.
35679
b95f71b5 356802008-01-25 Robert Millan <rmh@aybabtu.com>
35681
35682 Revert my previous commits (based on wrong assumption of how grub_errno
35683 works).
35684
fe6b695a 35685 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35686 * kern/file.c (grub_file_open): Likewise.
35687
d08bbb49 356882008-01-24 Pavel Roskin <proski@gnu.org>
35689
35690 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35691 that hang if GRUB tries to setup colors.
35692 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35693 colors for firmwares that don't support it.
35694 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35695 Recognize Open Hack'Ware, set flags to work around its
35696 limitations.
35697
605e36ed 356982008-01-24 Robert Millan <rmh@aybabtu.com>
35699
35700 * kern/file.c (grub_file_open): Do not account previous failures of
35701 unrelated functions when grub_errno is checked for.
35702 Reported by Oleg Strikov.
35703
bac332a1 357042008-01-24 Bean <bean123ch@gmail.com>
35705
35706 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35707 (grub_ufs_sblock): New member volume name.
35708 (grub_ufs_find_file): Fix string copy bug.
35709 (grub_ufs_label): Implement this function properly.
35710
35711 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35712 (grub_hfs_iterate_records): Use the correct file number for extents
35713 and catalog file. Fix problem in next index calculation.
35714 (grub_hfs_find_node): Replace recursive function call with loop.
35715 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35716
15c80c09 357172008-01-23 Robert Millan <rmh@aybabtu.com>
35718
35719 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35720 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35721 (grub_multiboot2_real_boot): New function prototype.
35722
35723 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35724 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35725
35726 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35727 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35728
305338fd 357292008-01-23 Robert Millan <rmh@aybabtu.com>
35730
35731 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35732 #ifdef'ed out grub_printf().
35733
3ea52685 357342008-01-23 Robert Millan <rmh@aybabtu.com>
35735
35736 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35737 grub_dprintf calls, since they make "debug=all" mode unusable.
35738 (grub_console_checkkey): Likewise.
35739
5882ae4b 357402008-01-23 Robert Millan <rmh@aybabtu.com>
35741
35742 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35743 `term/i386/pc/at_keyboard.c'.
35744 (pkglib_MODULES): Add `serial.mod'.
35745 (serial_mod_SOURCES): New variable.
35746 (serial_mod_CFLAGS): Likewise.
35747 (serial_mod_LDFLAGS): Likewise.
35748
35749 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35750 `<grub/powerpc/ieee1275/console.h>'.
35751 (grub_keyboard_controller_init): New function prototype.
35752 (grub_console_checkkey): Likewise.
35753 (grub_console_getkey): Likewise.
35754
35755 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35756 keyboard on i386.
35757
35758 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35759 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35760
06ab5303 357612008-01-23 Robert Millan <rmh@aybabtu.com>
35762
35763 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35764 present, "(memdisk)/boot/grub" becomes the default prefix.
35765
35766 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35767 a memdisk tarball with all the modules. Add --overlay=DIR option that
35768 allows users to overlay additional files into the image.
35769
dbb475a4 357702008-01-23 Robert Millan <rmh@aybabtu.com>
35771
35772 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35773 and `machine/memory.h'.
35774 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35775 (_multiboot_mod_SOURCES): New variable.
35776 (_multiboot_mod_CFLAGS): Likewise.
35777 (_multiboot_mod_LDFLAGS): Likewise.
35778 (multiboot_mod_SOURCES): Likewise.
35779 (multiboot_mod_CFLAGS): Likewise.
35780 (multiboot_mod_LDFLAGS): Likewise.
35781
35782 * include/grub/i386/ieee1275/loader.h: New file.
35783
35784 * include/grub/i386/ieee1275/machine.h: Likewise.
35785
35786 * include/grub/i386/ieee1275/memory.h: Likewise.
35787
35788 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35789 variable declaration.
35790 (grub_os_area_size): Likewise.
35791
35792 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35793 (grub_lower_mem, grub_upper_mem): New variables.
35794 (grub_stop_floppy): New function (just to make
35795 grub_multiboot2_real_boot() happy).
35796
35797 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35798 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35799 (grub_stop): New function.
35800 Include `"../realmode.S"' and `"../loader.S"'.
35801
35802 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35803 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35804
35805 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35806 rely on grub_multiboot2_real_boot() for final boot.
35807
25638629 358082008-01-22 Robert Millan <rmh@aybabtu.com>
35809
35810 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35811 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35812 device that doesn't look like an SD card.
35813 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35814 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35816 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35817 found.
35818
9dad816d 358192008-01-22 Robert Millan <rmh@aybabtu.com>
35820
35821 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35822 avoid claiming over our own code.
35823
34842f2d 358242008-01-22 Bean <bean123ch@gmail.com>
35825
35826 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35827 (jpeg_mod_SOURCES): New variable.
35828 (jpeg_mod_CFLAGS): Likewise.
35829 (jpeg_mod_LDFLAGS): Likewise.
35830
35831 * video/readers/jpeg.c : New file.
35832
44023a28 358332008-01-22 Bean <bean123ch@gmail.com>
35834
35835 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35836 there are no more items.
35837
bc2d8ac6 358382008-01-21 Robert Millan <rmh@aybabtu.com>
35839
35840 * kern/mm.c (grub_mm_init_region): Improve debug message.
35841
261bd4bc 358422008-01-21 Robert Millan <rmh@aybabtu.com>
35843
35844 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35845 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35846 address.
35847 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35848 a C macro.
35849 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35850 Indicates start of upper memory.
35851 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35852 (generate_image): Abort when image size is big enough to corrupt
35853 upper memory.
35854
35855 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35856 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35857 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35858 instead of hardcoding 0xA0000.
35859 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35860 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35861 instead of hardcoding 0xA0000.
35862
f970b55e 358632008-01-21 Robert Millan <rmh@aybabtu.com>
35864
35865 * disk/memdisk.c (memdisk_size): New variable.
35866 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35867 `memdisk_size'.
35868 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35869 image to dynamic memory.
35870 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35871 `memdisk_size'. Free memdisk block.
35872
1a8b0526 358732008-01-21 Robert Millan <rmh@aybabtu.com>
35874
35875 Fix detection of very small filesystems (like tar).
35876
35877 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35878 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35879 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35880 a problem with this disk).
35881
6e9b4aab 358822008-01-21 Robert Millan <rmh@aybabtu.com>
35883
35884 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35885 on grub_biosdisk_rw_standard() error.
35886
0d8837b2 358872008-01-21 Robert Millan <rmh@aybabtu.com>
35888
35889 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35890 recent changes.
35891 * kern/elf.c: Likewise.
35892 * kern/ieee1275/ieee1275.c: Likewise.
35893 * kern/powerpc/ieee1275/openfw.c: Likewise.
35894 * term/ieee1275/ofconsole.c: Likewise.
35895
ffd36e34 358962008-01-21 Robert Millan <rmh@aybabtu.com>
35897
35898 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35899
3f0093d0 35900 * include/grub/kernel.h (grub_arch_memdisk_addr)
35901 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35902
3f0093d0 35903 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35904 (grub_arch_memdisk_size): ... to here.
ffd36e34 35905
6c391b21 359062008-01-21 Robert Millan <rmh@aybabtu.com>
35907
35908 Mostly based on bugfix from Bean.
35909
35910 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35911 attribute with hook() parameter.
35912 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35913 declaration.
35914 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35915 attribute with hook() parameter.
35916 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35917 declaration.
35918
55a581dc 359192008-01-21 Robert Millan <rmh@aybabtu.com>
35920
35921 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35922 (pkglib_MODULES): Add `memdisk.mod'.
35923 (memdisk_mod_SOURCES): New variable.
35924 (memdisk_mod_CFLAGS): Likewise.
35925 (memdisk_mod_LDFLAGS): Likewise.
35926
35927 * disk/memdisk.c: New file.
35928
35929 * include/grub/disk.h (grub_disk_dev_id): Add
35930 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35931
35932 * include/grub/i386/pc/kernel.h
35933 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35934 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35935 (grub_kernel_image_size): New variable declaration.
35936 (grub_total_module_size): Likewise.
35937 (grub_memdisk_image_size): Likewise.
35938
35939 * include/grub/i386/pc/memory.h
35940 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35941
35942 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35943 (grub_arch_memdisk_addr): New variable declaration.
35944 (grub_arch_memdisk_size): Likewise.
35945
35946 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35947 (grub_arch_memdisk_size): Likewise.
35948
35949 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35950 (codestart): Replace hardcoded `0x100000' with
35951 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35952
35953 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35954 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35955 not NULL, append the contents of the file it refers to, at the end of
35956 the compressed kernel image. Initialize `grub_memdisk_image_size'
35957 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35958 (options): Add "memdisk"|'m' option.
35959 (main): Parse --memdisk|-m option, and pass user-provided path as
35960 parameter to generate_image().
35961
3d7f54c9 359622008-01-20 Robert Millan <rmh@aybabtu.com>
35963
35964 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35965 grub_dprintf() calls from here ...
35966 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35967
0bf74728 359682008-01-20 Robert Millan <rmh@aybabtu.com>
35969
35970 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35971
35972 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35973 declaration.
35974 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35975 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35976 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35977 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35978 property).
35979 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35980 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35981
33bf70a7 359822008-01-19 Robert Millan <rmh@aybabtu.com>
35983
fe6b695a 35984 Get rid of confusing function (superseded by
33bf70a7 35985 `grub_ieee1275_get_integer_property')
35986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35987 prototype.
35988 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35989 function.
35990 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35991 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35992 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35993
e2da7d26 359942008-01-19 Robert Millan <rmh@aybabtu.com>
35995
35996 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35997 command after "shut-down", since implementations differ on which
35998 the command for halt is.
35999
59f1fd8d 360002008-01-19 Robert Millan <rmh@aybabtu.com>
36001
36002 * include/grub/i386/linuxbios/console.h: Add header protection.
36003 (grub_keyboard_controller_init): New function prototype.
36004 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36005 (KEYBOARD_COMMAND_READ): Likewise.
36006 (KEYBOARD_COMMAND_WRITE): Likewise.
36007 (KEYBOARD_SCANCODE_SET1): Likewise.
36008 (grub_keyboard_controller_write): New function.
36009 (grub_keyboard_controller_read): Likewise.
36010 (grub_keyboard_controller_init): Likewise.
36011
36012 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36013 (grub_console_init): On coreboot/LinuxBIOS, call
36014 grub_keyboard_controller_init().
36015
5f5a7c15 360162008-01-19 Robert Millan <rmh@aybabtu.com>
36017
36018 PowerPC changes provided by Pavel Roskin.
36019
36020 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36021 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36022 don't rely on cmain() doing it.
36023 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36024 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36025
1210e168 360262008-01-16 Robert Millan <rmh@aybabtu.com>
36027
36028 * include/grub/i386/linuxbios/memory.h
36029 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36030 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36031 receive `table_header' as argument. Instead, probe for it in the
36032 known memory ranges where it can be present.
36033 (grub_available_iterate): Do not pass a fixed `table_header' address
36034 to grub_linuxbios_table_iterate().
36035
3d04eab8 360362008-01-15 Robert Millan <rmh@aybabtu.com>
36037
36038 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36039 * conf/i386-ieee1275.rmk: New file.
36040 * include/grub/i386/ieee1275/console.h: Likewise.
36041 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36042 * include/grub/i386/ieee1275/kernel.h: Likewise.
36043 * include/grub/i386/ieee1275/time.h: Likewise.
36044 * kern/i386/ieee1275/init.c: Likewise.
36045 * kern/i386/ieee1275/startup.S: Likewise.
36046
d1bc1b73 360472008-01-15 Robert Millan <rmh@aybabtu.com>
36048
36049 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36050 when pointers are 32-bit (but still do set it to one when they are
36051 64-bit).
36052
66a65807 360532008-01-15 Robert Millan <rmh@aybabtu.com>
36054
36055 * include/grub/ieee1275/ieee1275.h
36056 (grub_ieee1275_get_integer_property): New function prototype.
36057
36058 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36059 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36060 grub_ieee1275_get_property() to handle endianness.
66a65807 36061
36062 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36063 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36064 where appropriate.
66a65807 36065 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36066 (grub_map): Likewise.
36067 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36068
a83ccafd 360692008-01-15 Bean <bean123ch@gmail.com>
36070
36071 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36072 (grub_script_execute_cmdline): Reset grub_errno.
36073
36074 * normal/main.c (read_config_file): Reset grub_errno.
36075
36076 * normal/parse.y (script_init): New.
36077 (script): Move function and menuentry here.
36078 (delimiter): New.
36079 (command): Add delimiter at the end of command.
36080 (commands): Adjust to match the new command.
36081 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36082 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36083 (if): Use the new commands.
36084
36085 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36086
df6ecfc6 360872008-01-15 Robert Millan <rmh@aybabtu.com>
36088
36089 * normal/menu.c (run_menu): Move timeout message from here ...
36090 (print_timeout): ... to here.
36091 (run_menu): Use print_timeout() once during initial draw to print
36092 the whole message, and again in every clock tick to update only
36093 the number of seconds.
36094
87ae25eb 360952008-01-15 Robert Millan <rmh@aybabtu.com>
36096
36097 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36098 actual size of `available' from grub_ieee1275_get_property(), and
36099 restrict parsing to that bound.
36100
47bf09a4 361012008-01-15 Christian Franke <franke@computer.org>
36102
36103 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36104 (argp_program_version): Remove variable.
36105 (argp_program_bug_address): Likewise.
36106 (options): Convert from struct argp_option to struct option.
36107 (struct arguments): Remove.
36108 (parse_opt): Remove.
36109 (usage): New function.
36110 (main): Replace struct args members by simple variables.
36111 Replace argp_parse() by getopt_long().
36112 Add switch to evaluate options.
36113 Add missing "(...)" around root_dev in prefix string.
36114
c86f1469 361152008-01-14 Robert Millan <rmh@aybabtu.com>
36116
36117 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36118 for grub_ieee1275_exit(), in order to improve portability.
36119
e622c559 361202008-01-14 Robert Millan <rmh@aybabtu.com>
36121
36122 * util/grub.d/10_linux.in (prefix): Define.
36123 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36124
44cb1ec8 361252008-01-13 Pavel Roskin <proski@gnu.org>
36126
36127 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36128 grub_errno if no errors have been detected.
36129
1eb8c802 361302008-01-12 Robert Millan <rmh@aybabtu.com>
36131
36132 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36133 (grub_util_get_dev_abstraction): New function prototype.
36134
36135 * util/getroot.c: Include `<grub/util/getroot.h>'
36136 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36137 (grub_util_get_dev_abstraction): ... here (new function).
36138
36139 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36140 `PRINT_ABSTRACTION'.
36141 (probe): Probe for abstraction type when requested.
36142 (main): Understand `--target=abstraction'.
36143
36144 * util/i386/efi/grub-install.in: Add abstraction module to core
36145 image when it is found to be necessary.
36146 * util/i386/pc/grub-install.in: Likewise.
36147 * util/powerpc/ieee1275/grub-install.in: Likewise.
36148
36149 * util/update-grub_lib.in (font_path): Return system path without
36150 converting to GRUB path.
36151 * util/update-grub.in: Convert system path returned by font_path()
36152 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36153 abstraction module is needed for loading fonts (if any). Export
36154 that as `GRUB_PRELOAD_MODULES'.
36155 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36156 insmod commands).
36157
52bd3de9 361582008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36159
36160 Remove some unused code from reiserfs.
f19dbdb7 36161
52bd3de9 36162 * fs/reiserfs.c (struct grub_reiserfs_key)
36163 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36164 (struct grub_reiserfs_node_body): Removed.
36165 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36166 Likewise.
36167 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36168 Likewise.
36169 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36170 Likewise.
36171 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36172 Likewise.
36173 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36174 Likewise.
36175 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36176 Likewise.
36177 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36178 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36179 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36180
2f80039d 361812008-01-10 Robert Millan <rmh@aybabtu.com>
36182
36183 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36184 Determines if a file is garbage left by packaging systems, etc.
36185 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36186 for processing /etc/grub.d scripts.
36187 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36188 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36189 as a condition for processing Linux images.
36190
87888032 361912008-01-10 Pavel Roskin <proski@gnu.org>
36192
36193 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36194 to compile reiserfs.c on PowerPC.
36195
7e54fced 361962008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36197
36198 * kern/device.c (grub_device_iterate): Do not abort device iteration
36199 when one of the devices cannot be opened.
36200 * kern/disk.c (grub_disk_open): Do not account previous failures of
36201 unrelated functions when grub_errno is checked for.
36202
5aa541e6 362032008-01-08 Robert Millan <rmh@aybabtu.com>
36204
36205 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36206 `! grub_linux_is_bzimage', change order of address comparison to make
36207 it more intuitive, and improve "too big zImage" error message.
36208
7076340d 362092008-01-08 Robert Millan <rmh@aybabtu.com>
36210
36211 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36212 `$(update-grub_DATA)'.
36213 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36214 targets.
36215
9ca70333 362162008-01-07 Robert Millan <rmh@aybabtu.com>
36217
36218 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36219 which instruction is modified by grub-setup during installation
36220 (since it wasn't obvious by only looking at this file).
36221
38ccf575 362222008-01-07 Robert Millan <rmh@aybabtu.com>
36223
36224 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36225 listing actual TODO items.
36226
f5db4291 362272008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36228
868967cf 36229 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36230 correctly.
36231 (grub_reiserfs_get_key_offset): Likewise.
36232 (grub_reiserfs_set_key_offset): Likewise.
36233 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36234 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36235
36236 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36237 better to remove the bitfield version completely.
f19dbdb7 36238
868967cf 362392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36240
f5db4291 36241 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36242 allocated from the heap, due to the fshelp implementation.
36243 (grub_reiserfs_dir): Free NODE, due to the same reason.
36244
492e6d9d 362452008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36246
36247 Mostly from Vincent Pelletier:
f19dbdb7 36248
492e6d9d 36249 * fs/reiserfs.c: New file.
f19dbdb7 36250
492e6d9d 36251 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36252 (reiserfs_mod_SOURCES): New variable.
36253 (reiserfs_mod_CFLAGS): Likewise.
36254 (reiserfs_mod_LDFLAGS): Likewise.
36255
36256 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36257 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36258 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36259 normal/color.c.
36260
9ce3e7c1 362612008-01-06 Robert Millan <rmh@aybabtu.com>
36262
36263 * normal/color.c: Remove `<grub/env.h>'.
36264
f3b58148 362652008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36266
36267 * include/grub/normal.h: Include <grub/env.h>.
36268
7ac3bcfa 362692008-01-05 Robert Millan <rmh@aybabtu.com>
36270
36271 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36272 usage example with `(hd0,1)'.
fb358190 36273 Reported by Samuel Thibault.
7ac3bcfa 36274
c8ee99d7 362752008-01-05 Robert Millan <rmh@aybabtu.com>
36276
36277 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36278 (grub_linux_boot_zimage): Rename to ...
36279 (grub_linux_boot): ... this.
36280 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36281 (grub_linux_boot_zimage): Conditionalize zImage copy.
36282
36283 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36284 (grub_linux_boot_bzimage): Remove prototype.
36285 (grub_linux_boot_zimage): Rename to ...
36286 (grub_linux_boot): ... this.
36287
36288 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36289 (grub_linux_boot): Remove function.
36290
0ece25b1 362912008-01-05 Robert Millan <rmh@aybabtu.com>
36292
36293 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36294 (grub_env_write_color_highlight): Likewise.
36295 (grub_wait_after_message): Likewise.
36296
36297 * normal/color.c: New file.
36298
36299 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36300 (normal_mod_DEPENDENCIES): Likewise.
36301
36302 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36303 (normal_mod_DEPENDENCIES): Likewise.
36304
36305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36306 (normal_mod_DEPENDENCIES): Likewise.
36307
36308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36309 (normal_mod_DEPENDENCIES): Likewise.
36310
36311 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36312 for waiting after a message is printed.
36313 * normal/main.c (read_config_file): Likewise.
36314 (grub_normal_init): Register grub_env_write_color_normal() and
36315 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36316 `color_highlight' variables as global.
36317
36318 * normal/menu.c (grub_wait_after_message): New function.
36319 (grub_color_menu_normal): New variable. Replaces ...
36320 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36321 (grub_color_menu_highlight): New variable. Replaces ...
36322 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36323 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36324 `GRUB_TERM_COLOR_STANDARD'.
36325 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36326 `normal_code' and `highlight_code' to `old_color_normal' and
36327 `old_color_highlight', respectively.
36328 (grub_menu_init_page): Update colors when drawing the menu, based on
36329 `menu_color_normal' and `menu_color_highlight' variables.
36330 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36331 a message is printed.
36332
182dd4e5 363332008-01-05 Robert Millan <rmh@aybabtu.com>
36334
36335 * kern/env.c (grub_env_context_open): Propagate hooks for global
36336 variables to new context.
36337
36338 * kern/main.c (grub_set_root_dev): Export `root' variable.
36339
ddf8f6ad 363402008-01-05 Robert Millan <rmh@aybabtu.com>
36341
36342 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36343 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36344 them.
36345
d8b43d9b 363462008-01-05 Robert Millan <rmh@aybabtu.com>
36347
36348 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36349
2bff2de3 363502008-01-04 Christian Franke <franke@computer.org>
36351
36352 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36353 of eisa_mmap.
36354
97eab917 363552008-01-03 Pavel Roskin <proski@gnu.org>
36356
36357 * kern/i386/linuxbios/init.c: Put "void" to all function
36358 declarations with no arguments.
36359 * kern/powerpc/ieee1275/init.c: Likewise.
36360 * term/i386/pc/at_keyboard.c: Likewise.
36361 * term/i386/pc/vga_text.c: Likewise.
36362 * util/grub-mkdevicemap.c: Likewise.
36363
b9416d00 363642008-01-02 Robert Millan <rmh@aybabtu.com>
36365
36366 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36367 message when loaded image is out of bounds.
36368 (grub_multiboot_load_elf64): Likewise.
36369
92695df9 363702008-01-02 Pavel Roskin <proski@gnu.org>
36371
36372 * util/grub.d/10_linux.in: Try version without ".old" when
36373 looking for initrd. It's better to use initrd from the newer
36374 kernel of the same version than no initrd at all.
36375
d98d9cad 363762008-01-01 Robert Millan <rmh@aybabtu.com>
36377
36378 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36379
dbfdce36 363802008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36381
f19dbdb7 36382 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36383 grub_video_get_active_render_target.
36384 (grub_video_adapter): Added unmap_color and get_active_render_target.
36385
f19dbdb7 36386 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36387 grub_video_get_active_render_target.
36388 (grub_video_get_info): Changed method to accept NULL pointer as an
36389 argument to allow detection of active video adapter.
36390
36391 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36392 grub_video_vbe_unmap_color_int.
36393 Added grub_video_vbe_unmap_color and
36394 grub_video_vbe_get_active_render_target.
36395 (grub_video_vbe_adapter): Added unmap_color and
36396 get_active_render_target.
36397
f19dbdb7 36398 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36399 with grub_video_vbe_unmap_color_int.
36400
36401 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36402 (DEFAULT_NORMAL_COLOR): Likewise.
36403 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36404 (DEFAULT_FG_COLOR): Removed.
36405 (DEFAULT_BG_COLOR): Likewise.
36406 (DEFAULT_CURSOR_COLOR): Changed value.
36407 (grub_virtual_screen): Added standard_color_setting,
36408 normal_color_setting, highlight_color_setting and term_color.
36409 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36410 (bitmap_width): Added.
36411 (bitmap_height): Likewise.
36412 (bitmap): Likewise.
36413 (set_term_color): Likewise.
36414 (grub_virtual_screen_setup): Changed to use new terminal coloring
36415 settings.
36416 (grub_gfxterm_init): Added init for bitmap.
36417 (grub_gfxterm_fini): Added destroy for bitmap.
36418 (redraw_screen_rect): Updated to use background bitmap and new
36419 terminal coloring.
36420 (scroll_up): Added optimization for case when there is no bitmap.
36421 (grub_gfxterm_cls): Fixed to use correct background color.
36422 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36423 coloring.
36424 (grub_virtual_screen_setcolor): Likewise.
36425 (grub_virtual_screen_getcolor): Added.
36426 (grub_gfxterm_background_image_cmd): Likewise.
36427 (grub_video_term): Added setcolor and getcolor.
36428 (MOD_INIT): Added registration of background_image command.
36429 (MOD_TERM): Added unregistration for background_image command.
36430
c3c20931 364312007-12-30 Pavel Roskin <proski@gnu.org>
36432
36433 * loader/multiboot_loader.c: Fix multiboot command
36434 unregistration. Fix all typos in the word "multiboot".
36435
df266716 364362007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36437
36438 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36439 support for initrd names used in Fedora.
36440
fc6e896c 364412007-12-26 Bean <bean123ch@gmail.com>
36442
36443 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36444 (cpio_mod_SOURCES): New variable.
36445 (cpio_mod_CFLAGS): Likewise.
36446 (cpio_mod_LDFLAGS): Likewise.
36447
36448 * fs/cpio.c: New file.
36449
36450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36451
36452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36453
36454 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36455
36456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36457
533110ad 364582007-12-25 Robert Millan <rmh@aybabtu.com>
36459
36460 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36461 (grub_getcolor): New function.
36462
36463 * kern/term.c (grub_getcolor): New function.
36464 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36465 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36466 (print_entry): Set normal and highlight colors to
36467 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36468 respectively, before printing and restore them to old
36469 values afterwards.
36470 (grub_menu_init_page): Likewise. Fill an additional colored space
36471 that would otherwise be left blank.
36472
36473 * term/efi/console.c (grub_console_getcolor): New function.
36474 (struct grub_console_term.getcolor): New variable.
36475 * term/i386/pc/console.c (grub_console_getcolor): New function.
36476 (struct grub_console_term.getcolor): New variable.
36477 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36478 (struct grub_console_term.getcolor): New variable.
36479
36480 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36481 (struct grub_console_term.setcolor): Remove variable.
36482 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36483 (struct grub_console_term.setcolor): Remove variable.
36484 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36485 (struct grub_console_term.setcolor): Remove variable.
36486 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36487 (struct grub_console_term.setcolor): Remove variable.
36488
4931827f 364892007-12-25 Robert Millan <rmh@aybabtu.com>
36490
36491 * configure.ac: Search for possible unifont.hex locations, and
36492 define UNIFONT_HEX if found.
36493
36494 * Makefile.in (UNIFONT_HEX): Define variable.
36495 (DATA): Rename to ...
36496 (PKGLIB): ... this. Update all users.
36497 (PKGDATA): New variable.
36498 (pkgdata_IMAGES): Rename to ...
36499 (pkglib_IMAGES): ... this. Update all users.
36500 (pkgdata_MODULES): Rename to ...
36501 (pkglib_MODULES): ... this. Update all users.
36502 (pkgdata_PROGRAMS): Rename to ...
36503 (pkglib_PROGRAMS): ... this. Update all users.
36504 (pkgdata_DATA): Rename to ...
36505 (pkglib_DATA): ... this. Update all users.
36506 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36507 (unicode.pff, ascii.pff): New rules.
36508 (all-local): Add `$(PKGDATA)' dependency.
36509 (install-local): Process `$(PKGDATA)'.
36510
36511 * util/update-grub_lib.in (font_path): Search for *.pff files in
36512 a few more locations, including `${pkgdata}'.
36513
57e57e31 365142007-12-23 Robert Millan <rmh@aybabtu.com>
36515
36516 Patch from Bean <bean123ch@gmail.com>:
36517 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36518 `size'.
36519
4bc72aa9 365202007-12-21 Bean <bean123ch@gmail.com>
36521
36522 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36523 (ntfscomp_mod_SOURCES): New variable.
36524 (ntfscomp_mod_CFLAGS): Likewise.
36525 (ntfscomp_mod_LDFLAGS): Likewise.
36526
36527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36528 (grub_probe_SOURCES): Likewise.
36529 (grub_emu_SOURCES): Likewise.
36530
36531 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36532 (grub_emu_SOURCES): Likewise.
36533
36534 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36535 (grub_emu_SOURCES): Likewise.
36536
36537 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36538 (grub_emu_SOURCES): Likewise.
36539
36540 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36541 (read_run_list): Renamed to grub_ntfs_read_run_list.
36542 (decomp_nextvcn): Moved to ntfscomp.c.
36543 (decomp_getch): Likewise.
36544 (decomp_get16): Likewise.
36545 (decomp_block): Likewise.
36546 (read_block): Likewise.
36547 (read_data): Partially moved to ntfscomp.c.
36548 (fixup): Change unsigned to grub_uint16_t.
36549 (read_mft): Change unsigned long to grub_uint32_t.
36550 (read_attr): Likewise.
36551 (read_data): Likewise.
36552 (read_run_data): Likewise.
36553 (read_run_list): Likewise.
36554 (read_mft): Likewise.
36555
36556 * fs/ntfscomp.c: New file.
36557
36558 * include/grub/ntfs.h: New file.
36559
af680a87 365602007-12-16 Robert Millan <rmh@aybabtu.com>
36561
36562 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36563 IDE disk check, since Linux is known to support 20 IDE disks.
36564 Reported by Colin Watson.
36565
84be7599 365662007-12-15 Bean <bean123ch@gmail.com>
36567
36568 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36569 (lnxboot_img_SOURCES): New variable.
36570 (lnxboot_img_ASFLAGS): Likewise.
36571 (lnxboot_img_LDFLAGS): Likewise.
36572
36573 * boot/i386/pc/lnxboot.S: New file.
36574
6af9db01 365752007-11-24 Pavel Roskin <proski@gnu.org>
36576
36577 * configure.ac: Test if '--build-id=none' is supported by the
36578 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36579 objcopy to generate incorrect binary files (binutils
36580 2.17.50.0.18-1 as shipped by Fedora 8).
36581 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36582 linking, so that build ID doesn't break the test.
36583
7361cfe6 365842007-11-24 Pavel Roskin <proski@gnu.org>
36585
36586 * include/grub/i386/time.h: use "void" in the argument list
36587 of grub_cpu_idle().
36588 * include/grub/powerpc/time.h: Likewise.
36589 * include/grub/sparc64/time.h: Likewise.
36590
1593e10c 365912007-11-18 Christian Franke <franke@computer.org>
36592
36593 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36594 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36595 This fixes the problem that function keys did not work in grub-emu.
36596
3b8db1a8 365972007-11-18 Christian Franke <franke@computer.org>
36598
36599 * disk/host.c (grub_host_open): Remove attribute unused from
36600 name parameter. Add check for "host". This fixes the problem
36601 that grub-emu does not find partitions.
36602
2e29408d 366032007-11-18 Christian Franke <franke@computer.org>
36604
36605 * util/hostfs.c (is_dir): New function.
36606 (grub_hostfs_dir): Handle missing dirent.d_type case.
36607 (grub_hostfs_read): Add missing fseek().
36608 (grub_hostfs_label): Clear label pointer. This fixes a crash
36609 of grub-emu on "ls (host)".
36610
398cd047 366112007-11-18 Christian Franke <franke@computer.org>
36612
36613 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36614 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36615 to 64 bit boundary by default.
36616
c405c391 366172007-11-18 Bean <bean123ch@gmail.com>
36618
36619 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36620 (hexdump_mod_SOURCES): New variable.
36621 (hexdump_mod_CFLAGS): Likewise.
36622 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36623
c405c391 36624 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36625
36626 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36627
36628 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36629
36630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36631
36632 * include/grub/hexdump.h: New file.
36633
36634 * commands/hexdump.c: New file.
36635
5cced7fd 366362007-11-10 Robert Millan <rmh@aybabtu.com>
36637
36638 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36639 in grub_outb() calls.
36640 (beep_on): Likewise.
36641
8b714eb0 366422007-11-10 Christian Franke <franke@computer.org>
36643
36644 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36645 (grub_menu_run): Likewise.
36646
ce0f1839 366472007-11-10 Robert Millan <rmh@aybabtu.com>
36648
36649 * include/grub/i386/efi/machine.h: New file.
36650 * include/grub/i386/linuxbios/machine.h: Likewise.
36651 * include/grub/i386/pc/machine.h: Likewise.
36652 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36653 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36654
36655 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36656 (serial_hw_io_addr): New variable.
36657 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36658 instead of `(unsigned short *) 0x400'.
36659
270c237d 366602007-11-10 Bean <bean123ch@gmail.com>
36661
36662 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36663
a87783bf 366642007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36665
36666 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36667 (vga_mod_SOURCES): Added.
36668 (vga_mod_CFLAGS): Likewise.
36669 (vga_mod_LDFLAGS): Likewise.
36670
36671 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36672 grub_outb() calls.
36673 (set_map_mask): Likewise.
36674 (set_read_map): Likewise.
36675 (set_read_address): Likewise.
36676 (vga_font): Removed variable.
36677 (get_vga_glyph): Removed function.
36678 (invalidate_char): Likewise.
36679 (write_char): Changed to use grub_font_get_glyph() for font
36680 information.
36681 (grub_vga_putchar): Likewise.
36682 (grub_vga_getcharwidth): Likewise.
36683
6433b448 366842007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36685
36686 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36687 flags.
36688 (pxeboot_img_LDFLAGS): Likewise.
36689 (diskboot_img_LDFLAGS): Likewise.
36690 (kernel_img_LDFLAGS): Likewise.
36691
49178511 366922007-11-06 Robert Millan <rmh@aybabtu.com>
36693
36694 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36695 in grub_outb() calls.
36696 (serial_hw_init): Likewise.
36697
53b052de 366982007-11-05 Robert Millan <rmh@aybabtu.com>
36699
36700 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36701 spaces. Skip non-regular files.
36702
5ab33bba 367032007-11-05 Robert Millan <rmh@aybabtu.com>
36704
36705 * kern/disk.c (grub_disk_firmware_fini)
36706 (grub_disk_firmware_is_tainted): New variables.
36707
36708 * include/grub/disk.h (grub_disk_firmware_fini)
36709 (grub_disk_firmware_is_tainted): Likewise.
36710
36711 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36712 (grub_disk_biosdisk_fini): ... to here.
36713 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36714 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36715 is set. Register grub_disk_biosdisk_fini() in
36716 `grub_disk_firmware_fini'.
36717
36718 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36719 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36720 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36721 to finish existing firmware disk interface.
36722
36723 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36724 (ata_mod_SOURCES): New variable.
36725 (ata_mod_CFLAGS): Likewise.
36726 (ata_mod_LDFLAGS): Likewise.
36727
0149ab7c 367282007-11-05 Robert Millan <rmh@aybabtu.com>
36729
36730 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36731 (grub_ata_wait): Reimplement using grub_millisleep().
36732
36733 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36734 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36735
be7ac41e 367362007-11-03 Marco Gerards <marco@gnu.org>
36737
36738 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36739 (CRTC_ADDR_PORT): New macro.
36740 (CRTC_DATA_PORT): Likewise.
36741 (CRTC_CURSOR): Likewise.
36742 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36743 (CRTC_CURSOR_ADDR_LOW): Likewise.
36744 (update_cursor): New function.
36745 (grub_console_real_putchar): Call `update_cursor'.
36746 (grub_console_gotoxy): Likewise.
36747 (grub_console_cls): Set the default color when clearing the
36748 screen.
36749 (grub_console_setcursor): Implemented.
36750
bb06ab2e 367512007-11-03 Marco Gerards <marco@gnu.org>
36752
36753 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36754 become activate.
36755 (grub_ata_pio_write): Likewise.
36756
36757 (grub_atapi_identify): Wait after issuing an ATA command.
36758 (grub_atapi_packet): Likewise.
36759 (grub_ata_identify): Likewise.
36760 (grub_ata_readwrite): Likewise.
36761
cf8f780b 367622007-11-03 Marco Gerards <marco@gnu.org>
36763
36764 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36765 (grub_ata_pio_write): Likewise.
36766 (grub_ata_readwrite): Use `grub_error', instead of
36767 returning `grub_errno'.
36768
ed649e54 367692007-11-03 Marco Gerards <marco@gnu.org>
36770
36771 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36772 grub_ata_pio_write once for every single sector, instead of for
36773 multiple sectors.
36774
ca25d8f0 367752007-10-31 Robert Millan <rmh@aybabtu.com>
36776
36777 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36778
36779 * conf/i386-linuxbios.rmk: New file.
36780
36781 * kern/i386/pc/hardware.c: Likewise.
36782 * term/i386/pc/at_keyboard.c: Likewise.
36783 * term/i386/pc/vga_text.c: Likewise.
36784
36785 * include/grub/i386/linuxbios/boot.h: Likewise.
36786 * include/grub/i386/linuxbios/console.h: Likewise.
36787 * include/grub/i386/linuxbios/init.h: Likewise.
36788 * include/grub/i386/linuxbios/kernel.h: Likewise.
36789 * include/grub/i386/linuxbios/loader.h: Likewise.
36790 * include/grub/i386/linuxbios/memory.h: Likewise.
36791 * include/grub/i386/linuxbios/serial.h: Likewise.
36792 * include/grub/i386/linuxbios/time.h: Likewise.
36793
36794 * kern/i386/linuxbios/init.c: Likewise.
36795 * kern/i386/linuxbios/startup.S: Likewise.
36796 * kern/i386/linuxbios/table.c: Likewise.
36797
e911ecc1 367982007-10-31 Marco Gerards <marco@gnu.org>
36799
36800 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36801 (ata_mod_SOURCES): New variable.
36802 (ata_mod_CFLAGS): Likewise.
36803 (ata_mod_LDFLAGS): Likewise.
36804
36805 * disk/ata.c: New file.
36806
36807 * include/grub/disk.h (grub_disk_dev_id): Add
36808 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36809
7f66d0e0 368102007-10-31 Robert Millan <rmh@aybabtu.com>
36811
36812 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36813 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36814
36815 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36816 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36817
36818 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36819 `<grub/types.h>'.
36820
36821 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36822
5cd7dd46 368232007-10-27 Robert Millan <rmh@aybabtu.com>
36824
3236ca65 36825 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36826
2ebfc90f 368272007-10-22 Robert Millan <rmh@aybabtu.com>
36828
36829 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36830 `"../realmode.S"'.
36831 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36832
73fcb0f3 368332007-10-22 Robert Millan <rmh@aybabtu.com>
36834
36835 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36836 (pkgdata_MODULES): Add `biosdisk.mod'.
36837 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36838 variables.
36839
36840 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36841 (grub_biosdisk_init): Replace with ...
36842 (GRUB_MOD_INIT(biosdisk)): ... this.
36843 (grub_biosdisk_fini): Replace with ...
36844 (GRUB_MOD_FINI(biosdisk)): ... this.
36845
36846 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36847 (grub_machine_init): Remove call to grub_biosdisk_init().
36848 (grub_machine_fini): Remove call to grub_machine_fini().
36849
36850 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36851
3381d274 368522007-10-22 Robert Millan <rmh@aybabtu.com>
36853
36854 * include/grub/time.h: New file.
36855 * include/grub/i386/time.h: Likewise.
36856 * include/grub/powerpc/time.h: Likewise.
36857 * include/grub/sparc64/time.h: Likewise.
36858
36859 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36860 instances to ...
36861 (KERNEL_MACHINE_TIME_HEADER): ... this.
36862 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36863 instances to ...
36864 (KERNEL_MACHINE_TIME_HEADER): ... this.
36865 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36866 instances to ...
36867 (KERNEL_MACHINE_TIME_HEADER): ... this.
36868
36869 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36870 (grub_millisleep): New function.
36871 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36872 (grub_millisleep): New function.
36873 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36874 Remove `grub/machine/time.h' include.
36875 (grub_millisleep): New function.
36876 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36877 Remove `grub/machine/time.h' include.
36878 (grub_millisleep): New function.
36879
36880 * include/grub/misc.h (grub_div_roundup): New function.
36881
36882 * kern/misc.c: Include `<grub/time.h>'.
36883 (grub_millisleep_generic): New function.
36884
36885 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36886 Add `time.h'.
36887 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36888 Add `time.h'.
36889 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36890 `machine/time.h'. Add `time.h'.
36891 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36892
a39a0312 368932007-10-21 Robert Millan <rmh@aybabtu.com>
36894
36895 * include/grub/misc.h (grub_max): New function.
36896
2aad70e2 368972007-10-21 Robert Millan <rmh@aybabtu.com>
36898
36899 * util/misc.c (grub_util_info): Call fflush() before returning.
36900
54b71c4b 369012007-10-20 Robert Millan <rmh@aybabtu.com>
36902
36903 * genmk.rb (Image): Copy `extra_flags' from here ...
36904 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36905
36906 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36907 to `argc' and `args' arguments.
36908
a979f513 369092007-10-17 Robert Millan <rmh@aybabtu.com>
36910
36911 * kern/i386/loader.S: New file.
36912
36913 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36914 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36915 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36916 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36917 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36918 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36919 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36920 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36921 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36922 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36923 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36924 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36925 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36926 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36927
36928 * kern/i386/realmode.S: New file.
36929
36930 * kern/i386/pc/startup.S (protstack): Moved from here ...
36931 * kern/i386/realmode.S (protstack)... to here.
36932 * kern/i386/pc/startup.S (gdt): Moved from here ...
36933 * kern/i386/realmode.S (gdt)... to here.
36934 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36935 * kern/i386/realmode.S (prot_to_real)... to here.
36936
36937 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36938 `kern/i386/realmode.S'.
36939
825fc8fd 369402007-10-17 Robert Millan <rmh@aybabtu.com>
36941
36942 * include/grub/i386/loader.h: New file.
36943
36944 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36945 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36946 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36947 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36948 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36949 * include/grub/i386/loader.h (grub_linux_prot_size)
36950 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36951 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36952 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36953 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36954
36955 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36956
e179b2f4 369572007-10-15 Robert Millan <rmh@aybabtu.com>
36958
36959 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36960 filesystem when dev->disk is unset.
36961 Do probe for filesystem even when dev->disk->has_partitions is set.
36962 In case a filesystem is found, always report it.
36963 In case it isn't, if dev->disk->has_partitions is set, report that
36964 a partition table was found instead of reporting that no filesystem
36965 could be identified.
36966
5db82af6 369672007-10-12 Robert Millan <rmh@aybabtu.com>
36968
36969 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36970 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36971
68f6ac74 36972 * include/grub/types.h (grub_host_to_target16): New macro.
36973 (grub_host_to_target32): Likewise.
36974 (grub_host_to_target64): Likewise.
36975 (grub_target_to_host16): Likewise.
36976 (grub_target_to_host32): Likewise.
36977 (grub_target_to_host64): Likewise.
5db82af6 36978
36979 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36980 Renamed from to ...
36981 (GRUB_MOD_ALIGN): ...this. Update all users.
36982
68f6ac74 36983 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36984 grub_host_to_target32.
36985 Replace grub_be_to_cpu32 with grub_target_to_host32.
36986 (load_modules): Likewise.
36987 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36988 Replace grub_be_to_cpu32 with grub_target_to_host32.
36989 Replace grub_cpu_to_be16 with grub_host_to_target16.
36990 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36991
3cf497cc 369922007-10-12 Robert Millan <rmh@aybabtu.com>
36993
36994 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36995 * util/elf/grub-mkimage.c: ... here.
36996
36997 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36998 `util/powerpc/ieee1275/grub-mkimage.c'.
36999
c8cc3692 370002007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37001
c8cc3692 37002 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37003 and make it easier to figure out.
37004 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37005 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37006 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37007 leave us with less than HEAP_MIN_SIZE total heap.
37008 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37009
5c58b791 370102007-10-03 Robert Millan <rmh@aybabtu.com>
37011
37012 * include/grub/i386/io.h: New file.
37013 * commands/i386/pc/play.c (inb): Removed.
37014 (outb): Removed.
37015 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37016 with grub_outb().
afcd2ef8 37017 * term/i386/pc/serial.c (inb): Removed.
37018 (outb): Removed.
37019 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37020 with grub_outb().
37021 * term/i386/pc/vga.c (inb): Removed.
37022 (outb): Removed.
37023 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37024 with grub_outb().
5c58b791 37025
1a477ed6 370262007-10-02 Robert Millan <rmh@aybabtu.com>
37027
37028 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37030 Reported by Marcin Kurek.
37031
6b5d80fa 370322007-09-07 Robert Millan <rmh@aybabtu.com>
37033
37034 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37035 SmartFirmware version updates (as released by Sven Luther), and avoid
37036 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37037 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37038 known broken.
37039
5618afbf 370402007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37041
37042 From Hitoshi Ozeki:
37043 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37044 when merging two regions.
37045
6139dcd9 370462007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37047
508e39ee 37048 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37049 * normal/completion.c (grub_normal_do_completion): Likewise.
37050 Reported by Hitoshi Ozeki.
37051
370522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37053
6139dcd9 37054 Do not use devices at boot in chainloading.
f19dbdb7 37055
6139dcd9 37056 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37057 (boot_part_addr): Likewise.
37058 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37059 with BOOT_DRIVE and BOOT_PART_ADDR.
37060 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37061 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37062
38da6516 370632007-08-29 Robert Millan <rmh@aybabtu.com>
37064
37065 Patch from Simon Peter <dn.tlp@gmx.net>:
37066 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37067 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37068 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37069 util/i386/pc/grub-setup.c_DEPENDENCIES.
37070 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37071 util/grub-probe.c_DEPENDENCIES.
37072 * conf/powerpc-ieee1275.rmk: Likewise.
37073
29d0928c 370742007-08-28 Robert Millan <rmh@aybabtu.com>
37075
37076 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37077 to tell grub-mkdevicemap how to name devices.
37078 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37079 feature).
37080
37081 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37082 util/i386/get_disk_name.c.
37083 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37084 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37085 util/ieee1275/get_disk_name.c.
37086
37087 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37088
37089 * DISTLIST: Add util/i386/get_disk_name.c and
37090 util/ieee1275/get_disk_name.c.
37091
37092 * util/grub-mkdevicemap.c: Replace device naming logic with
37093 grub_util_get_disk_name() calls.
37094
5a0d3cca 370952007-08-20 Robert Millan <rmh@aybabtu.com>
37096
37097 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37098 (so that it works for both plural and singular quantities).
37099
8b72db2f 371002007-08-05 Robert Millan <rmh@aybabtu.com>
37101
37102 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37103 so that [xz] isn't taken into account when determining order.
37104
352466bf 371052007-08-02 Marco Gerards <marco@gnu.org>
37106
37107 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37108 `include/multiboot2.h', `include/grub/elfload.h',
37109 `include/multiboot.h', `include/grub/multiboot.h',
37110 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37111 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37112 `kern/elf.c', `loader/multiboot_loader.c',
37113 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37114 `loader/i386/pc/multiboot2.c',
37115 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37116 `util/i386/pc/grub-mkrescue.in'. Remove
37117 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37118 `include/grub/i386/pc/util/biosdisk.h' and
37119 `include/grub/powerpc/ieee1275/multiboot.h'.
37120
8f096014 371212007-08-02 Bean <bean123ch@gmail.com>
37122
37123 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37124 (ntfs_mod_SOURCES): New variable.
37125 (ntfs_mod_CFLAGS): Likewise.
37126 (ntfs_mod_LDFLAGS): Likewise.
37127
37128 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37129 (grub_probe_SOURCES): Likewise.
37130 (grub_emu_SOURCES): Likewise.
37131
37132 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37133 (grub_emu_SOURCES): Likewise.
37134
37135 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37136 (grub_emu_SOURCES): Likewise.
f19dbdb7 37137
8f096014 37138 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37139
37140 * fs/ntfs.c: New file.
37141
9959f7db 371422007-08-02 Bean <bean123ch@gmail.com>
37143
37144 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37145
37146 * file.h (grub_file): Likewise.
37147
37148 * fshelp.h (grub_fshelp_read_file): Likewise.
37149
37150 * util/i386/pc/grub-setup.c (setup): Likewise.
37151 (save_first_sector): Likewise.
37152 (save_blocklists): Likewise.
f19dbdb7 37153
9959f7db 37154 * fs/affs.c (grub_affs_read_file): Likewise.
37155
37156 * fs/ext2.c (grub_ext2_read_file): Likewise.
37157
37158 * fs/fat.c (grub_fat_read_data): Likewise.
37159
37160 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37161
37162 * fs/hfs.c (grub_hfs_read_file): Likewise.
37163
37164 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37165
37166 * fs/jfs.c (grub_jfs_read_file): Likewise.
37167
37168 * fs/minix.c (grub_minix_read_file): Likewise.
37169
37170 * fs/sfs.c (grub_sfs_read_file): Likewise.
37171
37172 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37173
9959f7db 37174 * fs/xfs.c (grub_xfs_read_file): Likewise.
37175
37176 * command/blocklist.c (read_blocklist): Likewise.
37177 (print_blocklist): Likewise.
37178
0a203f83 371792007-08-02 Marco Gerards <marco@gnu.org>
37180
37181 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37182 `util/hostfs.c'.
37183
37184 * disk/host.c: New file.
37185
37186 * util/hostfs.c: Likewise.
37187
37188 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37189 return `GRUB_ERR_BAD_FS'.
37190 * fs/sfs.c (grub_sfs_mount): Likewise.
37191 * fs/xfs.c (grub_xfs_mount): Likewise.
37192
37193 * include/grub/disk.h (enum grub_disk_dev_id): Add
37194 `GRUB_DISK_DEVICE_HOST_ID'.
37195
37196 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37197
e5dfe777 371982007-07-24 Jerone Young <jerone@gmail.com>
37199
f19dbdb7 37200 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37201 modules for compilation.
37202 * conf/powerpc-ieee1275.rmk: Likewise.
37203
37204 * include/multiboot.h: Move multiboot definitions to one file. Rename
37205 many definitions to not get grub specific.
37206 * include/multiboot2.h: Create header with multiboot 2 definitions.
37207 * include/grub/multiboot.h: Header for grub specific function
37208 prototypes and definitions.
37209 * include/grub/multiboot2.h: Likewise.
37210 * include/grub/multiboot_loader.h: Likewise.
37211 * include/grub/i386/pc/multiboot.h: Removed.
37212 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37213
37214 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37215 and 2 to allow for one multiboot and module commands.
37216 * loader/multiboot2.c: Add multiboot2 functionality.
37217 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37218 and definition names.
37219 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37220 2 functions.
37221 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37222 ieee1275 specific multiboot2 code.
37223
37224 * kern/i386/pc/startup.S: Change headers and definition names for
37225 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37226
daf0f0ba 372272007-07-22 Robert Millan <rmh@aybabtu.com>
37228
37229 * geninitheader.sh: Process file specified in first parameter rather
37230 than hardcoding grub_modules_init.lst.
fe6b695a 37231 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37232 than hardcoding grub_modules_init.h.
37233
37234 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37235 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37236 grub_probe_init.[ch] and grub_setup_init.[ch].
37237
37238 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37239 grub_modules_init.h with grub_emu_init.h.
37240 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37241 grub_probe_init.[ch] files.
37242 * conf/i386-efi.rmk: Likewise.
37243 * conf/i386-pc.rmk: Likewise.
37244 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37245 grub_setup_init.[ch] files.
37246
37247 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37248 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37249 to initialize modules rather than a list of hardcoded functions.
37250 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37251 grub_init_all() to initialize modules rather than a list of hardcoded
37252 functions.
37253
54cdc1cc 372542007-07-22 Robert Millan <rmh@aybabtu.com>
37255
37256 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37257 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37258
ad0686cc 372592007-07-22 Robert Millan <rmh@aybabtu.com>
37260
37261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37262 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37263 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37264 flag when running on SmartFirmware.
37265 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37266 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37267 was set.
37268
37269 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37270 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37271 rather than decreasing it.
37272
37273 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37274 there's not enough space to do it, fail in the same way as when it
37275 can't be done because there are no partitions.
37276
37277 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37278 when nvsetenv failed.
37279
969c02ec 372802007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37281
37282 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37283 because this rule is automatically generated.
37284 (grub-mkrescue): Removed for the same reason as above.
37285
5a79f472 372862007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37287
37288 Migrate to GNU General Public License Version 3.
f19dbdb7 37289
5a79f472 37290 * COPYING: Replaced with the plain text version of GPLv3.
37291
37292 * config.guess: Updated from gnulib.
37293 * config.sub: Likewise.
37294
37295 * geninit.sh: Output a GPLv3 copyright notice.
37296 * geninitheader.sh: Likewise.
37297 * genmodsrc.sh: Likewise.
37298 * gensymlist.sh.in: Likewise.
37299
37300 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37301 * boot/i386/pc/diskboot.S: Likewise.
37302 * boot/i386/pc/pxeboot.S: Likewise.
37303 * commands/blocklist.c: Likewise.
37304 * commands/boot.c: Likewise.
37305 * commands/cat.c: Likewise.
37306 * commands/cmp.c: Likewise.
37307 * commands/configfile.c: Likewise.
37308 * commands/echo.c: Likewise.
37309 * commands/help.c: Likewise.
37310 * commands/ls.c: Likewise.
37311 * commands/search.c: Likewise.
37312 * commands/terminal.c: Likewise.
37313 * commands/test.c: Likewise.
37314 * commands/videotest.c: Likewise.
37315 * commands/i386/cpuid.c: Likewise.
37316 * commands/i386/pc/halt.c: Likewise.
37317 * commands/i386/pc/play.c: Likewise.
37318 * commands/i386/pc/reboot.c: Likewise.
37319 * commands/i386/pc/vbeinfo.c: Likewise.
37320 * commands/i386/pc/vbetest.c: Likewise.
37321 * commands/ieee1275/halt.c: Likewise.
37322 * commands/ieee1275/reboot.c: Likewise.
37323 * commands/ieee1275/suspend.c: Likewise.
37324 * disk/loopback.c: Likewise.
37325 * disk/lvm.c: Likewise.
37326 * disk/raid.c: Likewise.
37327 * disk/efi/efidisk.c: Likewise.
37328 * disk/i386/pc/biosdisk.c: Likewise.
37329 * disk/ieee1275/ofdisk.c: Likewise.
37330 * font/manager.c: Likewise.
37331 * fs/affs.c: Likewise.
37332 * fs/ext2.c: Likewise.
37333 * fs/fat.c: Likewise.
37334 * fs/fshelp.c: Likewise.
37335 * fs/hfs.c: Likewise.
37336 * fs/hfsplus.c: Likewise.
37337 * fs/iso9660.c: Likewise.
37338 * fs/jfs.c: Likewise.
37339 * fs/minix.c: Likewise.
37340 * fs/sfs.c: Likewise.
37341 * fs/ufs.c: Likewise.
37342 * fs/xfs.c: Likewise.
37343 * hello/hello.c: Likewise.
37344 * include/grub/acorn_filecore.h: Likewise.
37345 * include/grub/arg.h: Likewise.
37346 * include/grub/bitmap.h: Likewise.
37347 * include/grub/boot.h: Likewise.
37348 * include/grub/cache.h: Likewise.
37349 * include/grub/device.h: Likewise.
37350 * include/grub/disk.h: Likewise.
37351 * include/grub/dl.h: Likewise.
37352 * include/grub/elfload.h: Likewise.
37353 * include/grub/env.h: Likewise.
37354 * include/grub/err.h: Likewise.
37355 * include/grub/file.h: Likewise.
37356 * include/grub/font.h: Likewise.
37357 * include/grub/fs.h: Likewise.
37358 * include/grub/fshelp.h: Likewise.
37359 * include/grub/gzio.h: Likewise.
37360 * include/grub/hfs.h: Likewise.
37361 * include/grub/kernel.h: Likewise.
37362 * include/grub/loader.h: Likewise.
37363 * include/grub/lvm.h: Likewise.
37364 * include/grub/misc.h: Likewise.
37365 * include/grub/mm.h: Likewise.
37366 * include/grub/net.h: Likewise.
37367 * include/grub/normal.h: Likewise.
37368 * include/grub/parser.h: Likewise.
37369 * include/grub/partition.h: Likewise.
37370 * include/grub/pc_partition.h: Likewise.
37371 * include/grub/raid.h: Likewise.
37372 * include/grub/rescue.h: Likewise.
37373 * include/grub/script.h: Likewise.
37374 * include/grub/setjmp.h: Likewise.
37375 * include/grub/symbol.h: Likewise.
37376 * include/grub/term.h: Likewise.
37377 * include/grub/terminfo.h: Likewise.
37378 * include/grub/tparm.h: Likewise.
37379 * include/grub/types.h: Likewise.
37380 * include/grub/video.h: Likewise.
37381 * include/grub/efi/api.h: Likewise.
37382 * include/grub/efi/chainloader.h: Likewise.
37383 * include/grub/efi/console.h: Likewise.
37384 * include/grub/efi/console_control.h: Likewise.
37385 * include/grub/efi/disk.h: Likewise.
37386 * include/grub/efi/efi.h: Likewise.
37387 * include/grub/efi/pe32.h: Likewise.
37388 * include/grub/efi/time.h: Likewise.
37389 * include/grub/i386/linux.h: Likewise.
37390 * include/grub/i386/setjmp.h: Likewise.
37391 * include/grub/i386/types.h: Likewise.
37392 * include/grub/i386/efi/kernel.h: Likewise.
37393 * include/grub/i386/efi/loader.h: Likewise.
37394 * include/grub/i386/efi/time.h: Likewise.
37395 * include/grub/i386/pc/biosdisk.h: Likewise.
37396 * include/grub/i386/pc/boot.h: Likewise.
37397 * include/grub/i386/pc/chainloader.h: Likewise.
37398 * include/grub/i386/pc/console.h: Likewise.
37399 * include/grub/i386/pc/init.h: Likewise.
37400 * include/grub/i386/pc/kernel.h: Likewise.
37401 * include/grub/i386/pc/loader.h: Likewise.
37402 * include/grub/i386/pc/memory.h: Likewise.
37403 * include/grub/i386/pc/multiboot.h: Likewise.
37404 * include/grub/i386/pc/serial.h: Likewise.
37405 * include/grub/i386/pc/time.h: Likewise.
37406 * include/grub/i386/pc/vbe.h: Likewise.
37407 * include/grub/i386/pc/vbeblit.h: Likewise.
37408 * include/grub/i386/pc/vbefill.h: Likewise.
37409 * include/grub/i386/pc/vbeutil.h: Likewise.
37410 * include/grub/i386/pc/vga.h: Likewise.
37411 * include/grub/ieee1275/ieee1275.h: Likewise.
37412 * include/grub/ieee1275/ofdisk.h: Likewise.
37413 * include/grub/powerpc/libgcc.h: Likewise.
37414 * include/grub/powerpc/setjmp.h: Likewise.
37415 * include/grub/powerpc/types.h: Likewise.
37416 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37417 * include/grub/powerpc/ieee1275/console.h: Likewise.
37418 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37419 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37420 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37421 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37422 * include/grub/powerpc/ieee1275/time.h: Likewise.
37423 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37424 * include/grub/sparc64/libgcc.h: Likewise.
37425 * include/grub/sparc64/setjmp.h: Likewise.
37426 * include/grub/sparc64/types.h: Likewise.
37427 * include/grub/sparc64/ieee1275/console.h: Likewise.
37428 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37429 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37430 * include/grub/sparc64/ieee1275/time.h: Likewise.
37431 * include/grub/util/biosdisk.h: Likewise.
37432 * include/grub/util/getroot.h: Likewise.
37433 * include/grub/util/lvm.h: Likewise.
37434 * include/grub/util/misc.h: Likewise.
37435 * include/grub/util/raid.h: Likewise.
37436 * include/grub/util/resolve.h: Likewise.
37437 * io/gzio.c: Likewise.
37438 * kern/device.c: Likewise.
37439 * kern/disk.c: Likewise.
37440 * kern/dl.c: Likewise.
37441 * kern/elf.c: Likewise.
37442 * kern/env.c: Likewise.
37443 * kern/err.c: Likewise.
37444 * kern/file.c: Likewise.
37445 * kern/fs.c: Likewise.
37446 * kern/loader.c: Likewise.
37447 * kern/main.c: Likewise.
37448 * kern/misc.c: Likewise.
37449 * kern/mm.c: Likewise.
37450 * kern/parser.c: Likewise.
37451 * kern/partition.c: Likewise.
37452 * kern/rescue.c: Likewise.
37453 * kern/term.c: Likewise.
37454 * kern/efi/efi.c: Likewise.
37455 * kern/efi/init.c: Likewise.
37456 * kern/efi/mm.c: Likewise.
37457 * kern/i386/dl.c: Likewise.
37458 * kern/i386/efi/init.c: Likewise.
37459 * kern/i386/efi/startup.S: Likewise.
37460 * kern/i386/pc/init.c: Likewise.
37461 * kern/i386/pc/lzo1x.S: Likewise.
37462 * kern/i386/pc/startup.S: Likewise.
37463 * kern/ieee1275/ieee1275.c: Likewise.
37464 * kern/powerpc/cache.S: Likewise.
37465 * kern/powerpc/dl.c: Likewise.
37466 * kern/powerpc/ieee1275/cmain.c: Likewise.
37467 * kern/powerpc/ieee1275/crt0.S: Likewise.
37468 * kern/powerpc/ieee1275/init.c: Likewise.
37469 * kern/powerpc/ieee1275/openfw.c: Likewise.
37470 * kern/sparc64/cache.S: Likewise.
37471 * kern/sparc64/dl.c: Likewise.
37472 * kern/sparc64/ieee1275/init.c: Likewise.
37473 * kern/sparc64/ieee1275/openfw.c: Likewise.
37474 * loader/efi/chainloader.c: Likewise.
37475 * loader/efi/chainloader_normal.c: Likewise.
37476 * loader/i386/efi/linux.c: Likewise.
37477 * loader/i386/efi/linux_normal.c: Likewise.
37478 * loader/i386/pc/chainloader.c: Likewise.
37479 * loader/i386/pc/chainloader_normal.c: Likewise.
37480 * loader/i386/pc/linux.c: Likewise.
37481 * loader/i386/pc/linux_normal.c: Likewise.
37482 * loader/i386/pc/multiboot.c: Likewise.
37483 * loader/i386/pc/multiboot_normal.c: Likewise.
37484 * loader/powerpc/ieee1275/linux.c: Likewise.
37485 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37486 * normal/arg.c: Likewise.
37487 * normal/cmdline.c: Likewise.
37488 * normal/command.c: Likewise.
37489 * normal/completion.c: Likewise.
37490 * normal/execute.c: Likewise.
37491 * normal/function.c: Likewise.
37492 * normal/lexer.c: Likewise.
37493 * normal/main.c: Likewise.
37494 * normal/menu.c: Likewise.
37495 * normal/menu_entry.c: Likewise.
37496 * normal/misc.c: Likewise.
37497 * normal/parser.y: Likewise.
37498 * normal/script.c: Likewise.
37499 * normal/i386/setjmp.S: Likewise.
37500 * normal/powerpc/setjmp.S: Likewise.
37501 * normal/sparc64/setjmp.S: Likewise.
37502 * partmap/acorn.c: Likewise.
37503 * partmap/amiga.c: Likewise.
37504 * partmap/apple.c: Likewise.
37505 * partmap/gpt.c: Likewise.
37506 * partmap/pc.c: Likewise.
37507 * partmap/sun.c: Likewise.
37508 * term/gfxterm.c: Likewise.
37509 * term/terminfo.c: Likewise.
37510 * term/efi/console.c: Likewise.
37511 * term/i386/pc/console.c: Likewise.
37512 * term/i386/pc/serial.c: Likewise.
37513 * term/i386/pc/vesafb.c: Likewise.
37514 * term/i386/pc/vga.c: Likewise.
37515 * term/ieee1275/ofconsole.c: Likewise.
37516 * util/biosdisk.c: Likewise.
37517 * util/console.c: Likewise.
37518 * util/genmoddep.c: Likewise.
37519 * util/getroot.c: Likewise.
37520 * util/grub-emu.c: Likewise.
37521 * util/grub-mkdevicemap.c: Likewise.
37522 * util/grub-probe.c: Likewise.
37523 * util/lvm.c: Likewise.
37524 * util/misc.c: Likewise.
37525 * util/raid.c: Likewise.
37526 * util/resolve.c: Likewise.
37527 * util/update-grub.in: Likewise.
37528 * util/update-grub_lib.in: Likewise.
37529 * util/grub.d/00_header.in: Likewise.
37530 * util/grub.d/10_hurd.in: Likewise.
37531 * util/grub.d/10_linux.in: Likewise.
37532 * util/i386/efi/grub-install.in: Likewise.
37533 * util/i386/efi/grub-mkimage.c: Likewise.
37534 * util/i386/pc/grub-install.in: Likewise.
37535 * util/i386/pc/grub-mkimage.c: Likewise.
37536 * util/i386/pc/grub-mkrescue.in: Likewise.
37537 * util/i386/pc/grub-setup.c: Likewise.
37538 * util/i386/pc/misc.c: Likewise.
37539 * util/powerpc/ieee1275/grub-install.in: Likewise.
37540 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37541 * util/powerpc/ieee1275/misc.c: Likewise.
37542 * video/bitmap.c: Likewise.
37543 * video/video.c: Likewise.
37544 * video/i386/pc/vbe.c: Likewise.
37545 * video/i386/pc/vbeblit.c: Likewise.
37546 * video/i386/pc/vbefill.c: Likewise.
37547 * video/i386/pc/vbeutil.c: Likewise.
37548 * video/readers/tga.c: Likewise.
37549
3572d015 375502007-07-02 Robert Millan <rmh@aybabtu.com>
37551
37552 * conf/i386-efi.rmk: Replace obsolete reference to
37553 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37554 with util/getroot.c.
37555 * conf/powerpc-ieee1275.rmk: Likewise.
37556 * conf/sparc64-ieee1275.rmk: Likewise.
37557
37558 * util/grub-emu.c (main): Fix unchecked pointer handling.
37559
2c2a681b 375602007-07-02 Robert Millan <rmh@aybabtu.com>
37561
37562 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37563 invocation to fail, in order to support partition-less media.
37564
37565 * util/i386/pc/grub-install.in: Likewise.
37566
37567 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37568 which fs or partmap modules are needed (akin to its sister scripts).
37569
37570 Also use grub-probe to get rid of unportable /proc/mounts check.
37571
37572 Print the same informational message that the other scripts do, before
fe6b695a 37573 exiting.
2c2a681b 37574
6193defe 375752007-06-23 Robert Millan <rmh@aybabtu.com>
37576
fe6b695a 37577 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37578 a font file can be found and, if so, echo the GRUB path to it.
37579
37580 * util/update-grub.in: Handle multiple terminals depending on user
37581 input, platform availability and font file presence. Propagate
37582 variables of our findings to /etc/grub.d/ children.
37583
37584 * util/grub.d/00_header.in: Handle multiple terminals, based on
37585 environment setup by update-grub.
37586
eface1dc 375872007-06-23 Robert Millan <rmh@aybabtu.com>
37588
ba50d28f 37589 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37590
bf697e28 375912007-06-21 Robert Millan <rmh@aybabtu.com>
37592
37593 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37594 indicate end of data section in kernel image.
37595 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37596 GRUB_KERNEL_MACHINE_DATA_END.
37597
37598 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37599 space for it.
37600 * kern/i386/efi/startup.S: Likewise.
37601
37602 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37603 during image generation. Implement --prefix option to override this
37604 patch.
37605 * util/i386/efi/grub-mkimage.c: Likewise.
37606
37607 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37608 code to make path relative to its root into a separate function.
37609
37610 * util/i386/pc/grub-install.in: Use newly provided
37611 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37612 pass the result to grub-install --prefix.
37613
baa574b4 376142007-06-13 Robert Millan <rmh@aybabtu.com>
37615
37616 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37617 DEFAULT_DEVICE_MAP.
37618 * util/grub-emu.c: Use above definitions from misc.h instead of
37619 defining them.
37620 * util/grub-mkdevicemap.c: Likewise.
37621 * util/i386/pc/grub-setup.c: Likewise.
37622 * util/grub-probe.c: Likewise.
37623 (probe): Abort with grub_util_error() when either
37624 grub_guess_root_device or grub_util_get_grub_dev fails.
37625
0215dcbf 376262007-06-12 Robert Millan <rmh@aybabtu.com>
37627
37628 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37629 "pager" assignment.
37630 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37631 "pcdata".
37632 * util/grub-probe.c (probe): Likewise for "drive_name".
37633
8af2ab7b 376342007-06-11 Robert Millan <rmh@aybabtu.com>
37635
37636 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37637 not just the cdrom one.
37638
59d31694 376392007-06-11 Robert Millan <rmh@aybabtu.com>
37640
37641 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37642 Add --pkglibdir=DIR option to override pkglibdir.
37643 Mention --image-type=TYPE in help output.
37644 Fix --grub-mkimage (it was a no-op).
fe6b695a 37645 Abort gracefully when no parameter is given.
59d31694 37646
7ee367e4 376472007-06-11 Robert Millan <rmh@aybabtu.com>
37648
37649 * util/i386/pc/grub-mkrescue.in: New file.
37650 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37651 * Makefile.in: Handle bin_SCRIPTS.
37652
29b0ed46 376532007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37654
37655 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37656 list of video modes.
37657
c0f90770 376582007-06-06 Robert Millan <rmh@aybabtu.com>
37659
37660 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37661 file doesn't exist, or if it is in a filesystem grub can't read.
37662
37663 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37664 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37665 header comment to fit in 80 columns when the variables are resolved.
37666
37667 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37668 could be identified by update-grub. Remove redundant check for
fe6b695a 37669 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37670 handles that).
37671
fb36dc26 376722007-06-04 Robert Millan <rmh@aybabtu.com>
37673
37674 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37675
37676 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37677
37678 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37679
0c68c93e 376802007-06-04 Robert Millan <rmh@aybabtu.com>
37681
37682 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37683
37684 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37685 grub_apple_partition_map_fini.
37686
37687 * util/biosdisk.c
37688 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37689 to access >2 TiB disks).
37690
37691 Print disk->total_sectors with %llu instead of %lu, since this
37692 variable is always 64-bit (prevents wrong disk size from being displayed
37693 on either >2 TiB disk or big-endian CPU).
37694
37695 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37696 into a generic case that supports all (sane) partition maps.
37697
37698 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37699 breaks big-endian.
37700
37701 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37702 and grub_apple_partition_map_fini() after that.
37703
0f23eb74 377042007-06-01 Robert Millan <rmh@aybabtu.com>
37705
37706 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37707
37708 * util/grub.d/00_header.in: Only enable gfxterm when
37709 convert_system_path_to_grub_path() succeeds.
37710
42c71976 377112007-05-20 Robert Millan <rmh@aybabtu.com>
37712
37713 * util/update-grub_lib.in: New file.
37714 * DISTLIST: Add update-grub_lib.in.
37715 * conf/common.rmk: Generate update-grub_lib and install it in
37716 $(lib_DATA).
37717 * Makefile.in: Add install routine for $(lib_DATA).
37718
37719 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37720 function provided by update-grub_lib to support arbitrary paths of
37721 unifont.pff.
37722 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37723 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37724
5beb2291 377252007-05-19 Robert Millan <rmh@aybabtu.com>
37726
37727 * commands/i386/cpuid.c: New module.
37728 * DISTLIST: Add it.
37729 * conf/i386-efi.rmk: Enable cpuid.mod.
37730 * conf/i386-pc.rmk: Likewise.
37731
7262eca1 377322007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37733
37734 * kern/disk.c (grub_disk_read): Check return value of
37735 grub_realloc().
37736
260ba823 377372007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37738
37739 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37740 arrays.
37741 * disk/raid.c (grub_raid_open): Likewise.
37742
1ecb6cf2 377432007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37744
37745 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37746 stack instead of on the heap.
37747
37748 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37749 before doing a read on it.
37750
37751 * configure.ac: Only use -fno-stack-protector for the target
37752 environment.
f19dbdb7 37753
21c8cbb1 377542007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37755
37756 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37757 __attribute_ ((unused)) to mode_type argument.
37758
37759 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37760
21c8cbb1 37761 * kern/misc.c (memcmp): Fix prototype.
37762
37763 * include/grub/partition.h [GRUB_UTIL]
37764 (grub_gpt_partition_map_init): Add prototype.
37765 (grub_gpt_partition_map_fini): Likewise.
37766
37767 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37768 at the right place.
37769
37770 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37771 (grub_fat_read_data): Likewise.
37772 (grub_fat_find_dir): Likewise.
37773
37774 * font/manager.c (find_glyph): Make table a const.
37775 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37776
849d55d3 377772007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37778
37779 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37780 code, first search for device in /dev/mapper, then in /dev.
37781 (grub_util_get_grub_dev): New function.
37782 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37783 prototype.
37784 * util/grub-probe.c (probe): Remove check for RAID, call
37785 grub_util_get_grub_dev() instead of
37786 grub_util_biosdisk_get_grub_dev().
37787 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37788 grub_util_biosdisk_get_grub_dev().
37789 * util/i386/pc/grub-setup.c (main): Likewise.
37790
8fff7c2f 377912007-05-16 Robert Millan <rmh@aybabtu.com>
37792
37793 * DISTLIST: Update for the latest changes.
37794 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37795 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37796 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37797 grub/util/biosdisk.h.
37798 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37799 grub/util/biosdisk.h.
37800
48e12b52 378012007-05-16 Robert Millan <rmh@aybabtu.com>
37802
37803 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37804
46b9d128 378052007-05-16 Robert Millan <rmh@aybabtu.com>
37806
37807 * util/i386/efi/grub-install.in: New.
37808 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37809 newly added grub-install.
37810 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37811 include.
37812 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37813 grub/util/biosdisk.h.
37814 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37815 grub/util/biosdisk.h.
37816
2d1a40a9 378172007-05-16 Robert Millan <rmh@aybabtu.com>
37818
37819 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37820 * include/grub/util/biosdisk.h: ... here.
37821 * util/i386/pc/biosdisk.c: Moved to ...
37822 * util/biosdisk.c: ... here.
37823 * util/i386/pc/getroot.c: Moved to ...
37824 * util/getroot.c: ... here.
37825 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37826 * util/grub-mkdevicemap.c: ... here.
37827 * util/i386/pc/grub-probe.c: Moved to ...
37828 * util/grub-probe.c: ... here.
37829
9e26e3bc 378302007-05-15 Robert Millan <rmh@aybabtu.com>
37831
37832 * util/update-grub.in: Remove duplicated line in grub.cfg header
37833 message.
37834
57f96397 378352007-05-13 Robert Millan <rmh@aybabtu.com>
37836
37837 * util/update-grub.in: Fix a few assumptions about the devices holding
37838 /, /boot and /boot/grub being the same.
37839 * util/grub.d/00_header.in: Likewise.
37840 * util/grub.d/10_hurd.in: Likewise.
37841 * util/grub.d/10_linux.in: Likewise.
37842
37843 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37844 patterns. Use that to define the `.old' suffix as older than `'.
37845
37846 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37847
37848 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37849 the grub.cfg header message.
37850
2e610d62 378512007-05-11 Robert Millan <rmh@aybabtu.com>
37852
37853 * util/update-grub.in: Create device.map if it doesn't already exist,
37854 before attempting to run grub-probe.
37855 Check for grub-probe and grub-mkdevicemap with the same code
37856 grub-install is using.
37857 Remove test mode.
37858
3f6a10ef 378592007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37860
37861 * Makefile.in: Add the datarootdir autoconf variable.
37862
02e7b75e 378632007-05-09 Robert Millan <rmh@aybabtu.com>
37864
37865 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37866 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37867
75f396cc 378682007-05-07 Robert Millan <rmh@aybabtu.com>
37869
37870 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37871 determine partition map module.
37872 * util/i386/pc/grub-install.in: Use this feature to decide which
37873 partition module to load, instead of hardcoding pc and gpt.
37874
da65cb36 378752007-05-07 Robert Millan <rmh@aybabtu.com>
37876
37877 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37878 source directory differs from build directory.
37879
b57d6a91 378802007-05-05 Robert Millan <rmh@aybabtu.com>
37881
37882 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37883 initialisation.
37884
509d00f1 378852007-05-05 Robert Millan <rmh@aybabtu.com>
37886
37887 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37888
c48f23ef 378892007-05-05 Robert Millan <rmh@aybabtu.com>
37890
37891 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37892 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37893
20b97658 378942007-05-05 Robert Millan <rmh@aybabtu.com>
37895
37896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37897 (grub_probe_SOURCES): Likewise.
37898 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37899 GPT and initialize dos_part and bsd_part accordingly.
37900 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37901 install_bsd_part.
37902 (main): Activate gpt module for use during partition identification,
37903 and deactivate it afterwards.
37904 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37905 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37906 partition identification, and deactivate it afterwards.
37907
99123174 379082007-05-05 Robert Millan <rmh@aybabtu.com>
37909
37910 * term/i386/pc/console.c (grub_console_fini): Call
37911 grub_term_set_current() before grub_term_unregister().
37912
ebd97f6e 379132007-05-04 Robert Millan <rmh@aybabtu.com>
37914
37915 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37916 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37917 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37918 and update-grub_DATA.
37919 * conf/common.rmk: Build and install update-grub components.
37920 * conf/common.mk: Regenerate.
37921 * util/update-grub.in: New. Core of update-grub.
37922 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37923 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37924 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37925 * util/grub.d/README: New. Document grub.d directory layout.
37926
b06a264d 379272007-05-01 Robert Millan <rmh@aybabtu.com>
37928
37929 * util/grub-emu.c: Move initialization functions
37930 grub_util_biosdisk_init() and grub_init_all() before
37931 grub_util_biosdisk_get_grub_dev(), which relies on them.
37932
41f0050e 379332007-04-19 Robert Millan <rmh@aybabtu.com>
37934
37935 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37936 it is used later.
37937
04582bb3 379382007-04-18 Jerone Young <jerone@gmail.com>
37939
f19dbdb7 37940 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37941 stanza.
37942
08db4632 379432007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37944
08db4632 37945 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37946 continue on and look for device node with real device name.
37947
801b76be 379482007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37949
fe6b695a 37950 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37951 ability.
37952 * Makefile.in: Add autoconf package transformation code.
37953 * util/i386/pc/grub-install.in: Likewise.
37954 * util/powerpc/ieee1275/grub-install.in: Likewise.
37955
6795c4e1 379562007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37957
37958 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37959 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37960 (EXT2_REVISION): Likewise.
37961 (EXT2_INODE_SIZE): Likewise.
37962 (struct grub_ext2_block_group): Added a missing member
37963 "used_dirs".
37964 (grub_ext2_read_inode): Divide by the inode size in a superblock
37965 instead of 128 to obtain INODES_PER_BLOCK.
37966 Use the macro EXT2_INODE_SIZE instead of directly using
37967 SBLOCK->INODE_SIZE.
37968
d70af616 379692007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37970
37971 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37972 superblock instead of the structure size to compute an
37973 offset. This fixes the problem that GRUB could not read a
37974 filesystem when inode size is different from 128-byte.
37975
3b801603 379762007-03-05 Marco Gerards <marco@gnu.org>
37977
37978 * normal/main.c (read_config_file): When "menu" is not set, create
37979 an initial context.
37980
4785bfe4 379812007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37982
37983 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37984 (HEAP_LIMIT): New macro.
37985 (grub_claim_heap): Claim memory up to `heaplimit'.
37986
a0cbb023 379872007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37988
37989 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37990 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37991 (_start): Likewise.
37992 (grub_arch_modules_addr): Return address after `_end'.
37993 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37994 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37995 (add_segments): Calculate `_end' from phdr size and location.
37996 (ALIGN_UP): Moved to ...
37997 * include/grub/misc.h: here.
37998 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37999 New macro.
38000 (GRUB_IEEE1275_MODULE_BASE): Removed.
38001
fd7d8eba 380022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38003
38004 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38005 loop boundary.
38006
9b09e6fc 380072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38008
38009 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38010 All users updated.
38011 (grub_elf64_load_hook_t): Likewise.
38012 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38013 debug output.
38014
3ce27299 380152007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38016
38017 * kern/mm.c: Update copyright.
38018 (grub_mm_debug): Correct syntax error.
38019 (grub_mm_dump_free): New function.
38020 (grub_debug_free): Call `grub_free'.
38021 * include/grub/mm.h: Update copyright.
38022 (grub_mm_dump_free): Add declaration.
38023
077d5fee 380242007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38025
38026 * include/grub/ieee1275/ieee1275.h: Update copyright.
38027 * kern/powerpc/ieee1275/init.c: Likewise.
38028 * kern/powerpc/ieee1275/openfw.c: Likewise.
38029
38030 * loader/powerpc/ieee1275/linux.c: Likewise.
38031 * include/grub/elfload.h: Likewise.
38032 * kern/elf.c: Likewise.
38033 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38034 callers.
38035 (grub_elf64_load): Likewise.
38036 (grub_elf32_load_segment): Move to a nested function.
38037 (grub_elf64_load_segment): Likewise.
38038
dc946850 380392007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38040
38041 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38042 prototype.
38043 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38044 (grub_heap_len): Likewise.
38045 (HEAP_SIZE): New macro.
38046 (grub_claim_heap): New function.
38047 (grub_machine_init): Don't claim heap directly. Call
38048 `grub_claim_heap'.
38049 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38050 (grub_available_iterate): New function.
38051
baa2a121 380522007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38053
38054 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38055 * configure.ac: Use it for testing the HOST and TARGET compilers.
38056
4fe9862e 380572006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38058
38059 * Makefile.in (enable_grub_emu): New variable.
38060 * configure.ac (--enable-grub-emu): New option.
38061 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38062 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38063 * conf/i386-pc.rmk: Likewise.
38064 * conf/powerpc-ieee1275.rmk: Likewise.
38065 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38066
a8aa5762 380672006-12-12 Marco Gerards <marco@gnu.org>
38068
38069 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38070
38071 * kern/env.c (grub_env_unset): Don't free the member `value' when
38072 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38073 pointer.
38074
38075 * normal/main.c (current_menu): Removed.
38076 (free_menu): Unset the `menu' environment variable.
38077 (grub_normal_menu_addentry): Make use of the environment variable
38078 `menu', instead of using the global `current_menu'. Allocate
38079 memory for the sourcecode of this entry.
38080 (read_config_file): New argument `nested', changed all callers.
38081 Only in the case of a new context, initialize a new menu. Set the
38082 `menu' environment variable.
38083 (grub_normal_execute): Don't set and unset the environment
38084 variable `menu' here anymore. Only free the menu when leaving the
38085 context.
38086
38087 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38088 leak.
38089
957b3a3e 380902006-12-11 Marco Gerards <marco@gnu.org>
38091
38092 * normal/menu_entry.c (run): Fix off by one bug so the last line
38093 is executed. Move the loader check to outside the loop.
38094
ef875714 380952006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38096
38097 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38098
4e739985 380992006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38100
38101 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38102 the number of sectors. Reported by Andrey Shuvikov
38103 <mr_hyro@yahoo.com>.
f19dbdb7 38104
790707f2 381052006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38106
38107 * kern/disk.c (grub_disk_read): When there is a read error, always
38108 try to read only the necessary data.
f19dbdb7 38109
790707f2 38110 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38111 disk/raid.c.
38112 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38113 prototype.
38114 [GRUB_UTIL] (grub_raid_fini): Likewise.
38115 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38116 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38117 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38118 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38119 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38120 and grub_raid_fini().
f19dbdb7 38121
03e58196 381222006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38123
38124 * include/grub/types.h (__unused): Rename to UNUSED.
38125 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38126 (grub_elf64_size): Likewise.
f19dbdb7 38127
ae4f23bf 381282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38129
38130 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38131 grub_error_push and grub_error_pop in the error-handling path.
38132 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38133 length.
38134
2166cc83 381352006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38136
38137 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38138 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38140 (kernel_elf_SOURCES): Likewise.
38141 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38142 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38143 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38144 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38145 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38146 (elf_mod_SOURCES): New variable.
38147 (elf_mod_CFLAGS): Likewise.
38148 (elf_mod_LDFLAGS): Likewise.
38149 * include/grub/types.h (__unused): New macro.
38150 * include/grub/elfload.h: New file.
38151 * kern/elf.c: Likewise.
38152 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38153 (ELF32_LOADMASK): New macro.
38154 (ELF64_LOADMASK): Likewise.
38155 (vmlinux): Removed.
38156 (grub_linux_load32): New function.
38157 (grub_linux_load64): Likewise.
38158 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38159 Use grub_elf_t instead of grub_file_t.
38160
a09d5aa5 381612006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38162
38163 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38164 `catch_result' to struct set_color_args.
38165
d976fc51 381662006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38167
38168 * normal/menu.c: Include grub/script.h.
38169 * normal/menu_entry.c: Likewise.
38170 * include/grub/normal.h: Do not include grub/script.h.
38171
67507549 381722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38173
38174 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38175
69203a99 381762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38177
38178 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38179 disk.
38180 (grub_disk_close): Print debug messages when closing a disk.
38181 (grub_disk_read): Print debug messages when disk read fails.
38182 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38183 filesystem type.
38184 * kern/partition.c: Include misc.h.
38185 (grub_partition_iterate): Print debug messages when detecting
38186 partition type.
38187
e2b8278c 381882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38189
38190 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38191 is negative.
38192 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38193
97b2f2ff 381942006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38195
38196 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38197 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38198
6555d655 381992006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38200
38201 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38202 instead of sizeof(lv). Patch by Michael Guntsche.
38203
4d42b77f 382042006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38205
38206 * disk/lvm.c: Rename VGS to VG_LIST.
38207 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38208 (grub_lvm_open): Likewise.
38209 Thanks to Michael Guntsche for finding this bug.
38210
5d74d927 382112006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38212
38213 * configure.ac (AC_INIT): Bumped to 1.95.
38214
a1bb27e4 382152006-10-14 Robert Millan <rmh@aybabtu.com>
38216
38217 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38218 with "/dev/.static/dev/md".
38219
e0994b8b 382202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38221
38222 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38223 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38224 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38225 DRIVE_NAME are always freed.
38226
38227 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38228 DOS_PART, as a DOS partition is counted from one instead of zero
38229 now. Reported by Robert Millan.
38230
ddd5cee9 382312006-10-14 Robert Millan <rmh@aybabtu.com>
38232
38233 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38234 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38235 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38236 string returned by grub_guess_root_device.
38237 * util/i386/pc/grub-setup.c: Likewise.
38238 * util/i386/pc/grub-probefs.c: Likewise.
38239
38240 * util/i386/pc/grub-probefs.c: Rename to ...
38241 * util/i386/pc/grub-probe.c: ... this.
38242 * DISTLIST: Remove grub-probefs, add grub-probe.
38243 * conf/i386-efi.rmk: Likewise.
38244 * conf/i386-pc.rmk: Likewise.
38245 * util/i386/pc/grub-install.in: Likewise.
38246
38247 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38248 choose which information we want to print.
38249
2b002173 382502006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38251
38252 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38253 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38254 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38255 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38256 video/readers/tga.c and video/i386/pc/vbeutil.c.
38257
382582006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38259
38260 Added support for RAID and LVM.
f19dbdb7 38261
2b002173 38262 * disk/lvm.c: New file.
38263 * disk/raid.c: Likewise.
38264 * include/grub/lvm.h: Likewise.
f19dbdb7 38265 * include/grub/raid.h: Likewise.
2b002173 38266 * include/grub/util/lvm.h: Likewise.
38267 * include/grub/util/raid.h: Likewise.
38268 * util/lvm.c: Likewise.
38269 * util/raid.c: Likewise.
38270
38271 * include/grub/disk.h (grub_disk_dev_id): Add
38272 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38273 (grub_disk_get_size): New prototype.
38274 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38275 returns a partition.
38276 (grub_disk_get_size): New function.
f19dbdb7 38277
2b002173 38278 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38279 verbatim if grub_install_dos_part is -2.
38280
38281 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38282 and LVM devices.
38283
38284 * util/i386/pc/grub-setup.c (setup): New argument
38285 MUST_EMBED. Force embedding of GRUB when the argument is
38286 true. Close FILE before returning.
38287 (main): Add support for RAID and LVM.
f19dbdb7 38288
2b002173 38289 * conf/common.rmk: Add RAID and LVM modules.
38290 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38291 util/lvm.c.
38292 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38293
38294 * kern/misc.c (grub_strstr): New function.
38295 * include/grub/misc.h (grub_strstr): New prototype.
38296
050548d0 382972006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38298
38299 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38300
da849d2d 383012006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38302
38303 * kern/misc.c (grub_strtoull): Guess the base only if not
38304 specified.
38305
97b2f2ff 383062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38307
38308 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38309 PowerMac support.
38310
97b2f2ff 383112006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38312
38313 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38314
38315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38316 Remove `flags' argument. All callers changed.
38317 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38318 (IEEE1275_IHANDLE_INVALID): New variable.
38319 (IEEE1275_CELL_INVALID): New variable.
38320 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38321 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38322 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38323 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38324 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38325 codes from Open Firmware. All callers updated.
38326 (grub_ieee1275_next_property): Directly return Open Firmware return
38327 code.
38328 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38329 Standardize error checking from `grub_ieee1275_get_property'.
38330 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38331 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38332
97b2f2ff 383332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38334
38335 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38336 `instance_to_package_args' to `instance_to_path_args'.
38337
38338 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38339 `grub_ieee1275_chosen'.
38340
38341 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38342 `grub_ieee1275_interpret'.
38343
97b2f2ff 383442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38345
38346 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38347
97b2f2ff 383482006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38349
38350 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38351 (__cmpdi): Likewise.
38352
38353 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38354 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38355 `grub_ssize_t'.
38356
02bb8acc 38357 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38358
38359 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38360 to type `grub_ssize_t'.
38361 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38362
7f9a8531 383632006-09-22 Marco Gerards <marco@gnu.org>
38364
38365 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38366 newlines.
38367
b5ef1102 383682006-09-22 Marco Gerards <marco@gnu.org>
38369
38370 * commands/echo.c: New file.
38371
38372 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38373
38374 * conf/common.rmk (echo_mod_SOURCES): New variable.
38375 (echo_mod_CFLAGS): Likewise.
38376 (echo_mod_LDFLAGS): Likewise.
38377
2cff3677 383782006-09-22 Marco Gerards <marco@gnu.org>
38379
38380 * normal/main.c (get_line): Malloc memory instead of using
38381 preallocated memory. Removed the arguments `cmdline' and
38382 `max_len'. Updated all callers.
38383
6ba4688b 383842006-09-22 Marco Gerards <marco@gnu.org>
38385
38386 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38387 (normal_mod_DEPENDENCIES): Likewise.
38388
38389 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38390 (normal_mod_DEPENDENCIES): Likewise.
38391
38392 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38393
e02ac02c 383942006-09-22 Johan Rydberg <jrydberg@gnu.org>
38395
38396 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38397 programs.
38398 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38399 (normal_mod_DEPENDENCIES): Likewise.
38400 * conf/i386-pc.mk: Regenerate.
38401 * conf/i386-efi.mk: Likewise
38402 * conf/common.mk: Likewise.
38403 * conf/powerpc-ieee1275.mk: Likewise.
38404 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38405
8d252e44 384062006-09-22 Robert Millan <rmh@aybabtu.com>
38407
38408 Sync with i386 version.
38409 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38410 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38411
209bf7ac 384122006-09-21 Robert Millan <rmh@aybabtu.com>
38413
38414 Import from GRUB Legacy (lib/device.c):
38415 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38416 (init_device_map) [__linux__]: Add support for I2O devices.
38417
6b146090 384182006-09-14 Marco Gerards <marco@gnu.org>
38419
38420 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38421 `-melf_i386'.
38422
e38600a8 384232006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38424
38425 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38426 /boot/grub/*.lst.
78fa1790 38427
2952da5d 38428 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38429
2952da5d 38430 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38431 before adding it to device.map.
38432
01b82a64 384332006-08-15 Johan Rydberg <jrydberg@gnu.org>
38434
fe6b695a 38435 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38436 compiles a file; using the -MD option.
38437 * conf/common.mk: Regenerate.
38438 * conf/i386-pc.mk: Likewise.
38439 * conf/i386-efi.mk: Likewise.
38440 * conf/powerpc-ieee1275.mk: Likewise.
38441 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38442
1064790d 384432006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38444
38445 Move the prototypes of grub_setjmp and grub_longjmp to
38446 cpu/setjmp.h, so that each architecture may specify different
38447 attributes.
f19dbdb7 38448
1064790d 38449 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38450 (grub_longjmp): Likewise.
38451 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38452 (grub_longjmp): Likewise.
38453 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38454 (grub_longjmp): Likewise.
38455
38456 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38457 [!GRUB_UTIL] (grub_longjmp): Removed.
38458
29dda3ed 384592006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38460
38461 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38462 "color!" method does not return any value.
38463
ad2a06ed 384642006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38465
38466 * include/grub/bitmap.h: New file.
38467
38468 * include/grub/i386/pc/vbeutil.h: Likewise.
38469
38470 * video/bitmap.c: Likewise.
38471
38472 * video/readers/tga.c: Likewise.
38473
38474 * video/i386/pc/vbeutil.c: Likewise.
38475
38476 * commands/videotest.c: Code cleanup and updated to reflect to new
38477 video API.
38478
38479 * term/gfxterm.c: Likewise.
38480
38481 * video/video.c: Likewise.
38482
38483 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38484 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38485 (bitmap_mod_SOURCES): New entry.
38486 (bitmap_mod_CFLAGS): Likewise.
38487 (bitmap_mod_LDFLAGS): Likewise.
38488 (tga_mod_SOURCES): Likewise.
38489 (tga_mod_CFLAGS): Likewise.
38490 (tga_mod_LDFLAGS): Likewise.
38491
38492 * include/grub/video.h (grub_video_blit_operators): New enum type.
38493 (grub_video_render_target): Changed as forward declaration and moved
38494 actual definition to be video driver specific.
38495 (grub_video_adapter.blit_bitmap): Added blitting operator.
38496 (grub_video_adapter.blit_render_target): Likewise.
38497 (grub_video_blit_bitmap): Likewise.
38498 (grub_video_blit_render_target): Likewise.
38499
38500 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38501 driver specific render target definition.
38502 (grub_video_vbe_map_rgba): Added driver internal helper.
38503 (grub_video_vbe_unmap_color): Updated to use
38504 grub_video_i386_vbeblit_info.
38505 (grub_video_vbe_get_video_ptr): Likewise.
38506
38507 * include/grub/i386/pc/vbeblit.h
38508 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38509 grub_video_i386_vbeblit_info.
38510 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38511 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38512 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38513 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38514 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38515 (grub_video_i386_vbeblit_index_index): Likewise.
38516 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38518 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38519 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38520 operator.
38521 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38522 operator.
38523
38524 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38525 include/grub/i386/pc/vbeblit.h.
38526
38527 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38528 Updated to use grub_video_i386_vbeblit_info.
38529 (grub_video_i386_vbefill_R8G8B8): Likewise.
38530 (grub_video_i386_vbefill_index): Likewise.
38531 (grub_video_i386_vbefill): Added generic filler.
38532
38533 * video/i386/pc/vbefill.c: Updated to reflect changes on
38534 include/grub/i386/pc/vbefill.h.
38535
38536 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38537 grub_video_i386_vbeblit_info.
38538 (grub_video_vbe_unmap_color): Likewise.
38539 (grub_video_vbe_blit_glyph): Likewise.
38540 (grub_video_vbe_scroll): Likewise.
38541 (grub_video_vbe_draw_pixel): Removed function.
38542 (grub_video_vbe_get_pixel): Likewise.
38543 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38544 updated code to use it.
38545 (common_blitter): Added common blitter for render target and bitmap.
38546 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38547 (grub_video_vbe_blit_render_target): Likewise.
38548
bc8c036d 385492006-07-30 Johan Rydberg <jrydberg@gnu.org>
38550
38551 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38552 is in text mode if there is no console control protocol instance
38553 available.
38554
684a8eff 385552006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38556
38557 * include/grub/video.h: Code cleanup.
38558
38559 * include/grub/i386/pc/vbe.h: Likewise.
38560
38561 * video/i386/pc/vbe.c: Likewise.
38562
38563 * video/i386/pc/vbeblit.c: Likewise.
38564
38565 * video/i386/pc/vbefill.c: Likewise.
38566
38567 * video/video.c: Likewise. Also added more comments.
38568
5915059b 385692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38570
38571 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38572 (struct grub_biosdisk_dap): Likewise.
38573
38574 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38575 linkage settings for all functions.
38576
90ce5d56 385772006-07-12 Marco Gerards <marco@gnu.org>
38578
38579 * configure.ac (--enable-mm-debug): Fix typo.
38580
38581 * genkernsyms.sh.in: Use proper quoting for `CC'.
38582
43e7f879 385832006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38584
38585 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38586 (normal_mod_ASFLAGS): Remove "-m32".
38587
4889bdec 385882006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38589
38590 * util/misc.c: Include config.h.
38591 [!HAVE_MEMALIGN]: Do not include malloc.h.
38592 (grub_memalign): Use posix_memalign, if present. Then, use
38593 memalign, if present. Otherwise, emit an error.
38594
38595 * util/grub-emu.c: Do not include malloc.h.
38596
38597 * include/grub/util/misc.h: Include unistd.h. This is required for
38598 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38599 D. Eades III <hde@foobar-qux.org>.
38600
38601 * configure.ac (AC_GNU_SOURCE): Added.
38602 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38603 type.
38604
fd39d4da 386052006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38606
38607 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38608 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38609
b786f3b5 386102006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38611
38612 * include/grub/types.h (grub_host_addr_t): Rename to
38613 grub_target_addr_t.
38614 (grub_host_off_t): Rename to grub_target_off_t.
38615 (grub_host_size_t): Rename to grub_target_size_t.
38616 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38617 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38618
38619 * include/grub/kernel.h (struct grub_module_header): Change type
38620 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38621 (grub_module_info): Likewise.
f19dbdb7 38622
051988bb 386232006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38624
38625 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38626 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38627 Velazquez <jesus.velazquez@gmail.com>.
38628
deae281b 386292006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38630
38631 Count partitions from 1 instead of 0 in the string representation
38632 of partitions. Still use 0-based internally.
f19dbdb7 38633
deae281b 38634 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38635 (sun_partition_map_iterate): Use grub_partition_t instead of
38636 struct grub_partition *. Cast DESC->START_CYLINDER to
38637 grub_uint64_t after converting the endian.
38638 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38639 (sun_partition_map_get_name): Add 1 to P->INDEX.
38640
38641 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38642 PCDATA->DOS_PART.
38643 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38644
38645 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38646 zero instead of one.
38647 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38648 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38649
38650 * partmap/apple.c (apple_partition_map_iterate): Change the type
38651 of POS to unsigned.
38652 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38653 (apple_partition_map_get_name): Add 1 into P->INDEX.
38654
38655 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38656 of POS to unsigned.
38657 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38658 calculate the offset of a partition.
38659 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38660 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38661
38662 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38663 SECTOR to grub_disk_addr_t.
38664 (acorn_partition_map_iterate): Likewise.
38665 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38666 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38667 top.
38668 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38669
38670 * kern/i386/pc/init.c (make_install_device): Add 1 into
38671 GRUB_INSTALL_DOS_PART.
38672
38673 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38674 conditional.
38675
524a1e6a 386762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38677
38678 Clean up the code to support 64-bit addressing in disks and
38679 files. This change is not enough for filesystems yet.
f19dbdb7 38680
524a1e6a 38681 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38682 type of "start" to grub_uint64_t.
38683 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38684 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38685 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38686 convert addresses.
38687
38688 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38689 to grub_disk_addr_t.
38690
38691 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38692 string.
38693
38694 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38695
38696 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38697 to char *.
38698
38699 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38700
38701 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38702
38703 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38704
38705 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38706 to grub_off_t, to detect an error from grub_file_seek.
38707 (grub_multiboot_load_elf32): Likewise.
38708
38709 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38710 maximum unsigned long value when an overflow is detected.
38711 (grub_strtoull): New function.
38712 (grub_divmod64): Likewise.
38713 (grub_lltoa): use grub_divmod64.
38714
38715 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38716 grub_disk_addr_t.
38717 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38718 the pointer to next character. Use grub_strtoull instead of
38719 grub_strtoul.
38720 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38721 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38722 respectively.
38723
fe6b695a 38724 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38725 return value is signed.
38726 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38727 test if OFFSET is less than zero, as OFFSET is unsigned now.
38728
38729 * kern/disk.c (struct grub_disk_cache): Change the type of
38730 "sector" to grub_disk_addr_t.
38731 (grub_disk_cache_get_index): Change the type of SECTOR to
38732 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38733 unsigned after shifting.
38734 (grub_disk_cache_invalidate): Change the type of SECTOR to
38735 grub_disk_addr_t.
38736 (grub_disk_cache_unlock): Likewise.
38737 (grub_disk_cache_store): Likewise.
38738 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38739 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38740 grub_disk_addr_t and grub_uint64_t, respectively.
38741 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38742 body, as the value of OFFSET is tweaked by
38743 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38744 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38745 respectively.
38746 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38747 body, as the value of OFFSET is tweaked by
38748 grub_disk_check_range. Change the types of LEN and N to
38749 grub_size_t.
38750
38751 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38752 and "saved_offset" to grub_off_t.
38753 (test_header): Cast BUF to char *.
38754 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38755 to char *.
38756 (grub_gzio_read): Change the types of OFFSET and SIZE to
38757 grub_off_t and grub_size_t, respectively.
38758
38759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38760 Removed.
38761 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38762 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38763 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38764 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38765 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38766
38767 * include/grub/types.h (grub_off_t): Unconditionally set to
38768 grub_uint64_t.
38769 (grub_disk_addr_t): Changed to grub_uint64_t.
38770
38771 * include/grub/partition.h (struct grub_partition): Change the
38772 types of "start", "len" and "offset" to grub_disk_addr_t,
38773 grub_uint64_t and grub_disk_addr_t, respectively.
38774 (grub_partition_get_start): Return grub_disk_addr_t.
38775 (grub_partition_get_len): Return grub_uint64_t.
38776
38777 * include/grub/misc.h (grub_strtoull): New prototype.
38778 (grub_divmod64): Likewise.
38779
38780 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38781 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38782 grub_off_t, respectively.
38783 All callers and references changed.
38784
38785 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38786 grub_size_t in "read".
38787 All callers and references changed.
38788
38789 * include/grub/file.h (struct grub_file): Change the types of
38790 "offset" and "size" to grub_off_t and grub_off_t,
38791 respectively. Change the type of SECTOR to grub_disk_addr_t in
38792 "read_hook".
38793 (grub_file_read): Change the type of LEN to grub_size_t.
38794 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38795 grub_off_t.
38796 (grub_file_size): Return grub_off_t.
38797 (grub_file_tell): Likewise.
38798 All callers and references changed.
38799
38800 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38801 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38802 "write".
38803 (struct grub_disk): Change the type of "total_sectors" to
38804 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38805 "read_hook".
524a1e6a 38806 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38807 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38808 (grub_disk_write): Likewise.
38809 All callers and references changed.
38810
38811 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38812 char * for grub_strncmp to silence gcc.
38813 (grub_iso9660_mount): Likewise.
38814 (grub_iso9660_mount): Likewise.
38815 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38816 return statement.
38817 (grub_iso9660_iterate_dir): Likewise.
38818 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38819
38820 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38821 LEN to grub_disk_addr_t and grub_size_t, respectively.
38822
38823 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38824
38825 * fs/jfs.c (grub_jfs_read_file): Likewise.
38826
38827 * fs/minix.c (grub_jfs_read_file): Likewise.
38828
38829 * fs/sfs.c (grub_jfs_read_file): Likewise.
38830
38831 * fs/ufs.c (grub_jfs_read_file): Likewise.
38832
38833 * fs/xfs.c (grub_jfs_read_file): Likewise.
38834
38835 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38836 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38837 respectively.
38838
38839 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38840 BLKNR to -1 instead of returning GRUB_ERRNO.
38841 (grub_ext2_read_file): Change the types of SECTOR and
38842 LEN to grub_disk_addr_t and grub_size_t, respectively.
38843
38844 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38845 LEN to grub_disk_addr_t and grub_size_t, respectively.
38846
38847 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38848 grub_file_read.
38849
38850 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38851 string. Do not cast SECTOR explicitly.
38852
38853 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38854 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38855 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38856 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38857 over 2TB and LBA mode is not supported, raise an error.
38858 (get_safe_sectors): New function.
38859 (grub_biosdisk_read): Use get_safe_sectors.
38860 (grub_biosdisk_write): Likewise.
38861
38862 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38863 (grub_efidisk_write): Likewise.
38864
38865 * disk/loopback.c (delete_loopback): Cosmetic changes.
38866 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38867 correctly.
38868 (grub_loopback_open): Likewise.
38869 (grub_loopback_read): Likewise. Also, change the type of POS to
38870 grub_off_t, and fix the usage of grub_memset.
38871
38872 * commands/i386/pc/play.c: Include grub/machine/time.h.
38873
38874 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38875 print FILE->SIZE.
38876
38877 * commands/configfile.c: Include grub/env.h.
38878
38879 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38880 GRUB_ERRNO directly instead. Change the type of POS to
38881 grub_off_t. Follow the coding standard.
38882
38883 * commands/blocklist.c: Include grub/partition.h.
38884 (grub_cmd_blocklist): Return an error if the underlying device is
38885 not a disk. Take the starting sector of a partition into account,
38886 if a partition is used.
38887
38888 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38889 a length field.
38890 (lba_mode): Support 64-bit addresses.
38891 (chs_mode): Likewise.
38892 (copy_buffer): Adapted to the new offsets of a length field and a
38893 segment field.
38894 (blocklist_default_start): Allocate 64-bit space.
38895
38896 * boot/i386/pc/boot.S (force_lba): Removed.
38897 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38898 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38899 space.
38900 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38901 is useless.
38902 (lba_mode): Refactored to support a 64-bit address. More size
38903 optimization.
38904 (setup_sectors): Likewise.
38905
53af98ad 389062006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38907
38908 * DISTLIST: Added include/grub/i386/linux.h. Removed
38909 include/grub/i386/pc/linux.h
38910
38911 * configure.ac (AC_INIT): Bumped to 1.94.
38912
38913 * config.guess: Updated from gnulib.
38914 * config.sub: Likewise.
38915 * install-sh: Likewise.
38916 * mkinstalldirs: Likewise.
38917
b4c1940a 389182006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38919
38920 * conf/common.rmk (grub_modules_init.lst): Depended on
38921 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38922 MODSRCFILES.
38923
38924 * genmk.rb (PModule::rule): Reverted the previous change.
38925
cfca1cfd 389262006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38927
38928 * conf/common.rmk (grub_modules_init.lst): Depends on
38929 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38930 that the target does not exist before producing.
38931 (grub_modules_init.h): Remove the target before generating.
38932 (grub_emu_init.c): Likewise.
38933
38934 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38935
aa6d7826 389362006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38937
38938 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38939 for the target-specific tests. Make sure that we also have the
38940 up-to-date target variables for those tests.
38941
26c607b9 389422006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38943
38944 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38945 (PModule::rule): Likewise.
38946
0162321a 389472006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38948
38949 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38950 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38951 target-specific flags should be prefixed.
38952 (PModule::rule): Likewise.
38953
6c826348 389542006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38955
38956 * configure.ac (CMP): Check if cmp is available explicitly.
38957
b977bf01 389582006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38959
38960 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38961 (target_cpu): New variable.
38962 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38963
b977bf01 38964 * util/i386/pc/grub-install.in (host_cpu): Removed.
38965 (target_cpu): New variable.
38966 (pkglibdir): Use target_cpu instead of host_cpu.
38967
38968 * util/genmoddep.c: Removed.
f19dbdb7 38969
b977bf01 38970 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38971 instead of GRUB_HOST_SIZEOF_VOID_P.
38972 * kern/dl.c: Likewise.
38973
38974 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38975 ...
38976 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38977 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38978 (GRUB_TARGET_SIZEOF_LONG): ... this.
38979 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38980 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38981 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38982 to ...
38983 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38984 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38985 (GRUB_TARGET_SIZEOF_LONG): ... this.
38986 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38987 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38988 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38989 to ...
38990 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38991 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38992 (GRUB_TARGET_SIZEOF_LONG): ... this.
38993 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38994 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38995
38996 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38997 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38998 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38999 instead of GRUB_HOST_SIZEOF_LONG.
39000 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39001 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39002 GRUB_CPU_WORDS_BIGENDIAN.
39003 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39004 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39005 grub_host_ssize_t.
39006
39007 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39008 (genmoddep_SOURCES): Likewise.
39009 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39010 (genmoddep_SOURCES): Likewise.
39011 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39012 (genmoddep_SOURCES): Likewise.
39013 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39014 Likewise.
39015 (genmoddep_SOURCES): Likewise.
39016
39017 * genmoddep.awk: New file.
39018
39019 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39020 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39021 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39022 (PModule::rule): Likewise.
39023 (Program::rule): Likewise.
39024 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39025 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39026 respectively.
39027
39028 * configure.ac: Rewritten intensively to use host and target
39029 instead of build and host, respectively.
39030
39031 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39032 (host_cpu): Removed.
39033 (target_cpu): New variable.
39034 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39035 (BUILD_CC): Removed.
39036 (BUILD_CFLAGS): Likewise.
39037 (BUILD_CPPFLAGS): Likewise.
39038 (TARGET_CC): New variable.
39039 (TARGET_CFLAGS): Likewise.
39040 (TARGET_CPPFLAGS): Likewise.
39041 (TARGET_LDFLAGS): Likewise.
39042 (AWK): Likewise.
39043 (include): Use target_cpu instead of host_cpu.
39044 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39045
b977bf01 39046 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39047
f09771a1 390482006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39049
39050 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39051 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39052 field 'false' to 'exec_on_false'.
39053 (grub_script_create_cmdif): Renamed argument names to reflect above
39054 changes.
39055
39056 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39057
39058 * normal/script.c (grub_script_create_cmdif): Likewise.
39059
118f4fb3 390602006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39061
39062 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39063 top.
39064 (grub_hfsplus_btree_recptr): Likewise.
39065 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39066 FILEBLOCK both to pass a block number and store next block
39067 number.
39068 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39069 overflow file correctly. Specify errors appropriately, because
39070 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39071 grub_hfsplus_btree_recptr to get the pointer to a found key.
39072 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39073 is found.
39074
39075 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39076 linux.mod.
39077 (_linux_mod_SOURCES): New variable.
39078 (_linux_mod_CFLAGS): Likewise.
39079 (_linux_mod_LDFLAGS): Likewise.
39080 (linux_mod_SOURCES): Likewise.
39081 (linux_mod_CFLAGS): Likewise.
39082 (linux_mod_LDFLAGS): Likewise.
39083
39084 * DISTLIST: Added loader/i386/efi/linux.c,
39085 loader/i386/efi/linux_normal.c and
39086 include/grub/i386/efi/loader.h.
39087
39088 * loader/i386/efi/linux.c: New file.
39089 * loader/i386/efi/linux_normal.c: Likewise.
39090 * include/grub/i386/efi/loader.h: Likewise.
39091
89a7d726 390922006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39093
39094 * commands/blocklist.c: New file.
39095
39096 * DISTLIST: Added commands/blocklist.c.
39097
39098 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39099 color for the background, and a darker color for the foreground.
89a7d726 39100 (grub_console_checkkey): Return READ_KEY.
39101 (grub_console_cls): Set the background to
39102 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39103
39104 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39105
39106 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39107 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39108
39109 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39110 prototype.
39111
39112 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39113 BG. The spec is wrong again.
39114
39115 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39116 prototype.
39117 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39118
39119 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39120 commands/blocklist.c.
39121 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39122
89a7d726 39123 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39124 (blocklist_mod_SOURCES): New variable.
39125 (blocklist_mod_CFLAGS): Likewise.
39126 (blocklist_mod_LDFLAGS): Likewise.
39127
75c8f258 391282006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39129
39130 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39131 duplication.
39132 (lba_mode): Use %eax more intensively to reduce the code size.
39133
da2eb181 391342006-05-20 Marco Gerards <marco@gnu.org>
39135
39136 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39137
39138 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39139 for `menuentry'.
39140 (script): Accept leading newlines.
39141 (newlines): New rule to describe 0 or more newlines.
39142 (commands): Accept `command' with trailing newline. Fixed the
39143 order in which arguments were passed to `grub_script_add_cmd'.
39144 Accept commands separated by newlines.
39145 (function): Changed to accept newlines.
39146 (menuentry) Rewritten.
39147
39148 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39149 front of the list, instead of to the end.
39150
577b4050 391512006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39152
39153 * util/i386/pc/grub-install.in (bindir): New variable.
39154 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39155 Shaver <lbgwjl@gmail.com>.
39156
0d6e1189 391572006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39158
39159 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39160 grub/machine/linux.h
39161 * loader/i386/pc/linux.c: Likewise.
39162
39163 * include/grub/i386/pc/linux.h: Moved to ...
39164 * include/grub/i386/linux.h: ... here.
39165
39166 * include/grub/i386/linux.h (struct linux_kernel_params): New
39167 struct.
f19dbdb7 39168
31b86e9f 391692006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39170
39171 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39172 checking.
39173 (grub_video_vbe_blit_glyph): Likewise.
39174 (grub_video_vbe_blit_bitmap): Likewise.
39175 (grub_video_vbe_blit_render_target): Likewise.
39176
83b984de 391772006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39178
39179 * configure.ac (--with-platform): Properly quote the square
39180 brackets.
39181
5f0413bd 391822006-05-08 Marco Gerards <marco@gnu.org>
39183
39184 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39185 this...
39186 (kernel_elf_HEADERS): ...to this. Updated all users.
39187 (grubof_symlist.c): Renamed from this...
39188 (kernel_elf_symlist.c): ...to this. Updated all users.
39189 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39190 (grubof_SOURCES): Renamed from this...
39191 (kernel_elf_SOURCES): ...to this.
39192 (grubof_HEADERS): Renamed from this...
39193 (kernel_elf_HEADERS): ...to this.
39194 (grubof_CFLAGS): Renamed from this...
39195 (kernel_elf_CFLAGS): ...to this.
39196 (grubof_ASFLAGS): Renamed from this...
39197 (kernel_elf_ASFLAGS): ...to this.
39198 (grubof_LDFLAGS): Renamed from this...
39199 (kernel_elf_LDFLAGS): ...to this.
39200
39201 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39202 this...
39203 (kernel_elf_HEADERS): ...to this. Updated all users.
39204 (grubof_symlist.c): Renamed from this...
39205 (kernel_elf_symlist.c): ...to this. Updated all users.
39206 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39207 (grubof_SOURCES): Renamed from this...
39208 (kernel_elf_SOURCES): ...to this.
39209 (grubof_HEADERS): Renamed from this...
39210 (kernel_elf_HEADERS): ...to this.
39211 (grubof_CFLAGS): Renamed from this...
39212 (kernel_elf_CFLAGS): ...to this.
39213 (grubof_ASFLAGS): Renamed from this...
39214 (kernel_elf_ASFLAGS): ...to this.
39215 (grubof_LDFLAGS): Renamed from this...
39216 (kernel_elf_LDFLAGS): ...to this.
39217
39218 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39219 `kernel.elf' instead of `grubof'.
39220
05568c2e 392212006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39222
39223 Add --with-platform to configure. Use pkglibdir instead of
39224 pkgdatadir. This is reported by Roger Leigh.
39225
39226 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39227 (host_vendor): Likewise.
39228 (host_os): Likewise.
39229 (pkgdatadir): Likewise.
39230 (platform): New variable.
39231 (pkglibdir): Likewise.
39232 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39233
05568c2e 39234 * util/i386/pc/grub-install.in (datadir): Removed.
39235 (host_vendor): Likewise.
39236 (host_os): Likewise.
39237 (pkgdatadir): Likewise.
39238 (platform): New variable.
39239 (pkglibdir): Likewise.
39240 Use PKGLIBDIR instead of PKGDATADIR.
39241
39242 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39243 instead of GRUB_DATADIR.
39244 (main): Likewise.
39245 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39246 (main): Likewise.
39247 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39248 (main): Likewise.
39249
39250 * configure.ac (--with-platform): New option.
39251 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39252
39253 * Makefile.in: Include a makefile based on PLATFORM instead of
39254 HOST_VENDOR.
39255 (pkgdatadir): Not appended by the machine type.
39256 (pkglibdir): Appended by the machine type.
39257 (host_vendor): Removed.
39258 (platform): New variable.
39259 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39260 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39261 (uninstall): Likewise.
39262
4e93851c 392632006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39264
39265 Use the environment context in the menu. Remove the commands
39266 "default" and "timeout", and use variables instead.
f19dbdb7 39267
4e93851c 39268 * normal/menu.c: Include grub/env.h.
39269 (print_entry): Cast TITLE to silence gcc.
39270 (get_timeout): New function.
39271 (set_timeout): Likewise.
39272 (get_entry_number): Likewise.
39273 (run_menu): Use a default entry, a fallback entry and a timeout
39274 in the environment variables "default", "fallback" and
39275 "timeout". Also, tweak the default entry if it is not within the
39276 current menu entries.
39277 (grub_menu_run): Use a fallback entry in the environment variable
39278 "fallback".
39279
39280 * normal/main.c (read_config_file): Do not initialize
39281 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39282 NEWMENU->TIMEOUT.
39283 (grub_normal_execute): Use a data slot to store the menu.
39284
39285 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39286 fallback_entry and timeout.
39287 (struct grub_menu_list): Removed.
39288 (grub_menu_list_t): Likewise.
39289 (struct grub_context): Likewise.
39290 (grub_context_t): Likewise.
39291 (grub_context_get): Likewise.
39292 (grub_context_get_current_menu): Likewise.
39293 (grub_context_push_menu): Likewise.
39294 (grub_context_pop_menu): Likewise.
39295 (grub_default_init): Likewise.
39296 (grub_default_fini): Likewise.
39297 (grub_timeout_init): Likewise.
39298 (grub_timeout_fini): Likewise.
39299
39300 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39301 and timeout.mod.
39302 (normal_mod_SOURCES): Removed normal/context.c.
39303
39304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39305 commands/default.c, commands/timeout.c and normal/context.c.
39306 (normal_mod_SOURCES): Removed normal/context.c.
39307
39308 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39309 commands/timeout.c and normal/context.c.
39310 (normal_mod_SOURCES): Removed normal/context.c.
39311
39312 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39313 commands/default.c, commands/timeout.c and normal/context.c.
39314 (normal_mod_SOURCES): Removed normal/context.c.
39315
39316 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39317 timeout.mod.
39318 (default_mod_SOURCES): Removed.
39319 (default_mod_CFLAGS): Likewise.
39320 (default_mod_LDFLAGS): Likewise.
39321 (timeout_mod_SOURCES): Removed.
39322 (timeout_mod_CFLAGS): Likewise.
39323 (timeout_mod_LDFLAGS): Likewise.
39324
39325 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39326 normal/context.c.
39327
39328 * commands/default.c: Removed.
39329 * commands/timeout.c: Likewise.
39330 * normal/context.c: Likewise.
39331
1eb9cc1d 393322006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39333
39334 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39335
385bd9c1 393362006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39337
39338 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39339 "next" to "prev" for readability.
39340 (struct grub_env_sorted_var): New struct.
39341 (grub_env_context): Renamed to ...
39342 (initial_context): ... this.
39343 (grub_env_var_context): Renamed to ...
39344 (current_context): ... this.
39345 (grub_env_find): Look only at CURRENT_CONTEXT.
39346 (grub_env_context_open): Rewritten to copy exported variables from
39347 previous context.
39348 (grub_env_context_close): Rewritten according to the new
39349 scheme. Also, add an assertion to prevent the initial context from
39350 removed.
39351 (grub_env_insert): Removed the code for the sorted list.
39352 (grub_env_remove): Likewise.
39353 (grub_env_export): Simply mark the variable with
39354 GRUB_ENV_VAR_GLOBAL.
39355 (grub_env_set): A cosmetic change for naming consistency.
39356 (grub_env_get): Likewise.
39357 (grub_env_unset): Likewise.
39358 (grub_env_iterate): Rewritten to sort variables within this
39359 function.
39360 (grub_register_variable_hook): Fixed for naming consistency. Call
39361 grub_env_find again, only if NAME is not found at the first time.
39362 (mangle_data_slot_name): New function.
39363 (grub_env_set_data_slot): Likewise.
39364 (grub_env_get_data_slot): Likewise.
39365 (grub_env_unset_data_slot): Likewise.
39366
39367 * include/grub/env.h (grub_env_var_type): New enum.
39368 (GRUB_ENV_VAR_LOCAL): New constant.
39369 (GRUB_ENV_VAR_GLOBAL): Likewise.
39370 (GRUB_ENV_VAR_DATA): Likewise.
39371 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39372 "type".
39373 (grub_env_set): Replace VAR with NAME for consistency.
39374 (grub_register_variable_hook): Likewise.
39375 (grub_env_export): Specify the name of the argument.
39376 (grub_env_set_data_slot): New prototype.
39377 (grub_env_get_data_slot): Likewise.
39378 (grub_env_unset_data_slot): Likewise.
39379
7f362539 393802006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39381
39382 Extend the loader so that GRUB can accept a loader which comes
39383 back to GRUB when a loaded image exits. Also, this change adds
39384 support for a chainloader on EFI.
f19dbdb7 39385
7f362539 39386 * term/efi/console.c: Include grub/misc.h.
39387 (grub_console_checkkey): Display a scan code on the top for
39388 debugging. This will be removed once the EFI port gets stable.
39389 Correct the scan code mapping.
39390
39391 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39392 allocate memory from larger regions, in order to reduce the number
39393 of allocated regions. Otherwise, the MacOSX loader panics.
39394 (filter_memory_map): Avoid less than 1MB for compatibility with
39395 other loaders.
39396 (add_memory_regions): Allocate from the tail of a region, if
39397 possible, to avoid allocating a region near to 1MB, for the MacOSX
39398 loader.
39399
39400 * kern/efi/init.c (grub_efi_set_prefix): Specify
39401 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39402
39403 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39404 argument IMAGE_HANDLE and specify it to get a loaded image.
39405 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39406 grub_efi_get_loaded_image.
fe6b695a 39407 (grub_efi_get_filename): Divide the length by the size of
7f362539 39408 grub_efi_char16_t.
39409 (grub_efi_get_device_path): New function.
39410 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39411 the length by the size of grub_efi_char16_t for a file path device
39412 path node.
39413
39414 * kern/loader.c (grub_loader_noreturn): New variable.
39415 (grub_loader_set): Accept a new argument NORETURN. Set
39416 GRUB_LOADER_NORETURN to NORETURN.
39417 All callers changed.
39418 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39419 grub_machine_fini.
39420
39421 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39422 prototype.
39423 (grub_efi_get_loaded_image): Take an argument to specify an image
39424 handle.
39425
39426 * include/grub/loader.h (grub_loader_set): Added one more argument
39427 NORETURN.
39428
39429 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39430 instead of grub_efi_open_protocol.
39431 (grub_efidisk_get_device_name): Likewise.
39432 (grub_efidisk_close): Print a newline.
39433 (grub_efidisk_get_device_handle): Fixed to use
39434 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39435 GRUB_EFI_DEVICE_PATH_TYPE.
39436
39437 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39438 * kern/efi/efi.c (device_path_guid): ... here.
39439
39440 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39441 chain.mod.
39442 (kernel_mod_HEADERS): Added efi/disk.h.
39443 (_chain_mod_SOURCES): New variable.
39444 (_chain_mod_CFLAGS): Likewise.
39445 (_chain_mod_LDFLAGS): Likewise.
39446 (chain_mod_SOURCES): Likewise.
39447 (chain_mod_CFLAGS): Likewise.
39448 (chain_mod_LDFLAGS): Likewise.
39449
39450 * DISTLIST: Added include/grub/efi/chainloader.h,
39451 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39452
39453 * include/grub/efi/chainloader.h: New file.
39454 * loader/efi/chainloader.c: Likewise.
39455 * loader/efi/chainloader_normal.c: Likewise.
39456
c0111d6e 394572006-04-30 Marco Gerards <marco@gnu.org>
39458
39459 * commands/configfile.c (grub_cmd_source): New function.
39460 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39461 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39462
df5341da 394632006-04-30 Marco Gerards <marco@gnu.org>
39464
39465 * normal/execute.c (grub_script_execute_cmd): Change the return
39466 type to `grub_err_t'. Correctly return the error.
39467 (grub_script_execute_cmdline): In case a command line is not a
39468 command or a function, try to interpret it as an assignment.
39469
f85934bd 394702006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39471
39472 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39473 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39474 skip a node whose name is obviously invalid as UTF-16,
39475 i.e. contains a NUL character. Stop the iteration when the last
39476 directory entry is found. Instead of using the return value of
39477 grub_hfsplus_btree_iterate_node, store the value in RET and use
39478 it, because the iterator can be stopped by the last directory
39479 entry.
39480
8f8a2cf8 394812006-04-30 Marco Gerards <marco@gnu.org>
39482
39483 * include/grub/env.h (grub_env_export): New prototype. Reported
39484 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39485
a27e84ce 394862006-04-30 Marco Gerards <marco@gnu.org>
39487
39488 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39489 size of the extents in a catalog file record.
39490
eaef0553 394912006-04-29 Marco Gerards <marco@gnu.org>
39492
39493 * commands/configfile.c (grub_cmd_configfile): Execute the
39494 configfile within its own context.
39495
39496 * include/grub/env.h (grub_env_context_open): New prototype.
39497 (grub_env_context_close): Likewise.
39498
39499 * kern/env.c (grub_env): Removed.
39500 (grub_env_sorted): Likewise.
39501 (grub_env_context): New variable.
39502 (grub_env_var_context): Likewise.
39503 (grub_env_find): Search both the active context and the global
39504 context.
39505 (grub_env_context_open): New function.
39506 (grub_env_context_close): Likewise.
39507 (grub_env_insert): Likewise.
39508 (grub_env_remove): Likewise.
39509 (grub_env_export): Likewise.
39510 (grub_env_set): Changed to use helper functions to avoid code
39511 duplication.
39512 (grub_env_iterate): Rewritten so both the current context and the
39513 global context are being used.
39514
39515 * normal/command.c (export_command): New function.
39516 (grub_command_init): Register the `export' function.
39517
7b455f4d 395182006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39519
39520 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39521 explicitly to suppress gcc's warnings.
39522 * fs/fat.c (grub_fat_find_dir): Likewise.
39523 (grub_fat_label): Likewise.
39524 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39525 (grub_xfs_mount): Likewise.
39526 (grub_xfs_label): Likewise.
39527 * fs/affs.c (grub_affs_mount): Likewise.
39528 (grub_affs_label): Likewise.
39529 (grub_affs_iterate_dir): Likewise.
39530 * fs/sfs.c (grub_sfs_mount): Likewise.
39531 (grub_sfs_iterate_dir): Likewise.
39532 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39533 * fs/hfs.c (grub_hfs_mount): Likewise.
39534 (grub_hfs_cmp_catkeys): Likewise.
39535 (grub_hfs_find_dir): Likewise.
39536 (grub_hfs_dir): Likewise.
39537 (grub_hfs_label): Likewise.
39538 * fs/jfs.c (grub_jfs_mount): Likewise.
39539 (grub_jfs_opendir): Likewise.
39540 (grub_jfs_getent): Likewise.
39541 (grub_jfs_lookup_symlink): Likewise.
39542 (grub_jfs_label): Likewise.
39543 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39544 (grub_hfsplus_iterate_dir): Likewise.
39545 (grub_hfsplus_btree_iterate_node): Made static.
39546
39547 * util/grub-emu.c (prefix): New variable.
39548 (grub_machine_set_prefix): New function.
39549 (main): Do not set the environment variable "prefix" here. Only
39550 set PREFIX, which is used later by grub_machine_set_prefix.
39551
39552 * include/grub/video.h: Do not include grub/symbol.h.
39553 (grub_video_register): Not exported. This symbol is not defined in
39554 the kernel.
39555 (grub_video_unregister): Likewise.
39556 (grub_video_iterate): Likewise.
39557 (grub_video_setup): Likewise.
39558 (grub_video_restore): Likewise.
39559 (grub_video_get_info): Likewise.
39560 (grub_video_get_blit_format): Likewise.
39561 (grub_video_set_palette): Likewise.
39562 (grub_video_get_palette): Likewise.
39563 (grub_video_set_viewport): Likewise.
39564 (grub_video_get_viewport): Likewise.
39565 (grub_video_map_color): Likewise.
39566 (grub_video_map_rgb): Likewise.
39567 (grub_video_map_rgba): Likewise.
39568 (grub_video_fill_rect): Likewise.
39569 (grub_video_blit_glyph): Likewise.
39570 (grub_video_blit_bitmap): Likewise.
39571 (grub_video_blit_render_target): Likewise.
39572 (grub_video_scroll): Likewise.
39573 (grub_video_swap_buffers): Likewise.
39574 (grub_video_create_render_target): Likewise.
39575 (grub_video_delete_render_target): Likewise.
39576 (grub_video_set_active_render_target): Likewise.
39577
39578 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39579 Undefined.
39580 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39581
39582 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39583 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39584 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39585 instead of $(srcdir)/genkernsyms.sh.
39586
39587 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39588 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39589 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39590 instead of $(srcdir)/genkernsyms.sh.
39591
39592 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39593 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39594 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39595 instead of $(srcdir)/genkernsyms.sh.
39596
39597 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39598 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39599 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39600 instead of $(srcdir)/genkernsyms.sh.
39601
39602 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39603 genkernsyms.sh.
39604
39605 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39606 genkernsyms.sh.
39607 (gensymlist.sh): New target.
39608 (genkernsyms.sh): Likewise.
39609
39610 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39611 genkernsyms.sh.in and gensymlist.sh.in.
39612
39613 * genkernsyms.sh: Removed.
39614 * gensymlist.sh: Likewise.
f19dbdb7 39615
7b455f4d 39616 * genkernsyms.sh.in: New file.
39617 * gensymlist.sh.in: Likewise.
39618
1885bb27 396192006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39620
39621 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39622 clobber "prefix", since we may have already set it manually.
39623
71538dff 396242006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39625
39626 * kern/misc.c (abort): New alias for grub_abort.
39627
2965c7cc 396282006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39629
39630 A new machine-specific function "grub_machine_set_prefix" is
39631 defined. This is called after loading modules, so that a prefix
39632 initialization can use modules. Also, this change adds an
39633 intensive debugging feature for the memory manager via the
39634 configure option "--enable-mm-debug".
f19dbdb7 39635
2965c7cc 39636 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39637 PART.LEN.
39638
39639 * kern/sparc64/ieee1275/init.c (abort): Removed.
39640 (grub_stop): Likewise.
39641 (grub_exit): New function.
39642 (grub_set_prefix): Renamed to ...
39643 (grub_machine_set_prefix): ... this.
39644 (grub_machine_init): Do not call grub_set_prefix.
39645
39646 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39647 (grub_machine_set_prefix): ... this.
39648 (grub_machine_init): Do not call grub_set_prefix.
39649
39650 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39651 (grub_machine_init): Do not set the prefix here.
39652
39653 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39654
39655 * kern/efi/init.c: Include grub/mm.h.
39656 (grub_efi_set_prefix): New function.
39657
39658 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39659 (grub_efi_get_filename): New function.
39660 (grub_print_device_path): Renamed to ...
39661 (grub_efi_print_device_path): ... this.
39662
39663 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39664 [MM_DEBUG] (grub_realloc): Likewise.
39665 [MM_DEBUG] (grub_free): Likewise.
39666 [MM_DEBUG] (grub_memalign): Likewise.
39667 [MM_DEBUG] (grub_mm_debug): New variable.
39668 [MM_DEBUG] (grub_debug_malloc): New function.
39669 [MM_DEBUG] (grub_debug_free): New function.
39670 [MM_DEBUG] (grub_debug_realloc): New function.
39671 [MM_DEBUG] (grub_debug_memalign): New function.
39672
39673 * kern/misc.c (grub_abort): Print a newline to distinguish
39674 the message.
39675
39676 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39677 grub_set_root_dev after loading modules. This is necessary when
39678 setting a prefix depends on modules.
39679
39680 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39681 (grub_efi_print_device_path): ... this.
39682 (grub_efi_get_filename): New prototype.
39683 (grub_efi_set_prefix): Likewise.
39684
39685 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39686 and grub/disk.h.
39687 (grub_efidisk_get_device_handle): New prototype.
39688 (grub_efidisk_get_device_name): Likewise.
39689
39690 * include/grub/mm.h: Include config.h.
39691 (MM_DEBUG): Removed.
39692 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39693 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39694 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39695 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39696 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39697 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39698 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39699 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39700 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39701
39702 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39703
39704 * disk/efi/efidisk.c: Include grub/partition.h.
39705 (iterate_child_devices): New function.
39706 (add_device): First, compare only last device path nodes, so that
39707 devices are sorted by the types.
39708 (grub_efidisk_get_device_handle): New function.
39709 (grub_efidisk_get_device_name): Likewise.
39710
39711 * configure.ac (--enable-mm-debug): New option to enable the
39712 memory manager debugging feature. This makes the binary much
39713 bigger, so is disabled by default.
39714
9cacaa17 397152006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39716
39717 Use grub_abort instead of grub_stop, and grub_exit must be
39718 define in each architecture now. Also, this change adds support
39719 for EFI disks.
f19dbdb7 39720
9cacaa17 39721 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39722 (grub_getkey): New function.
39723 (grub_term_get_current): Likewise.
39724
39725 * util/i386/pc/grub-setup.c: Include grub/term.h.
39726 (grub_getkey): New function.
39727 (grub_term_get_current): Likewise.
39728
39729 * util/misc.c (grub_stop): Renamed to ...
39730 (grub_exit): ... this.
39731
39732 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39733 (grub_exit): ... this.
39734 (grub_machine_init): Use grub_abort instead of abort.
39735 (grub_stop): Removed.
39736
39737 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39738 abort.
39739
39740 * kern/i386/pc/startup.S (grub_exit): New function.
39741 (cold_reboot): New label.
39742
39743 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39744 (grub_efi_init): Call grub_efidisk_init.
39745 (grub_efi_fini): Call grub_efidisk_fini.
39746
39747 * kern/efi/efi.c: Include grub/mm.h.
39748 (grub_efi_console_control_guid): Renamed to ...
39749 (console_control_guid): ... this.
39750 (grub_efi_loaded_image_guid): Renamed to ...
39751 (loaded_image_guid): ... this.
39752 (grub_efi_locate_handle): New function.
39753 (grub_efi_open_protocol): Likewise.
39754 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39755 GRUB_EFI_CONSOLE_CONTROL_GUID.
39756 (grub_efi_exit): Removed.
39757 (grub_stop): Likewise.
39758 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39759 (grub_exit): New function.
39760 (grub_print_device_path): Likewise.
39761
39762 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39763 (grub_enter_rescue_mode): Register "exit".
39764
39765 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39766 (grub_abort): New function.
39767
39768 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39769
39770 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39771
39772 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39773
39774 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39775 (grub_print_device_path): New prototype.
39776 (grub_efi_locate_handle): Likewise.
39777 (grub_efi_open_protocol): Likewise.
39778
39779 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39780 * disk/efi/efidisk.c: Likewise.
39781
39782 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39783
39784 * include/grub/efi/console_control.h
39785 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39786
39787 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39788 last 8 bytes as an array.
39789 (GRUB_EFI_DISK_IO_GUID): New macro.
39790 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39791 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39792 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39793 grub_uint8_t.
39794 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39795 (struct grub_efi_device_path): Rename the member "sub_type" to
39796 "subtype".
39797 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39798 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39799 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39800 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39801 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39802 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39803 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39804 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39805 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39806 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39807 (struct grub_efi_pci_device_path): New structure.
39808 (grub_efi_pci_device_path_t): New type.
39809 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39810 (struct grub_efi_pccard_device_path): New structure.
39811 (grub_efi_pccard_device_path_t): New type.
39812 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39813 (struct grub_efi_memory_mapped_device_path): New structure.
39814 (grub_efi_memory_mapped_device_path_t): New type.
39815 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39816 (struct grub_efi_vendor_device_path): New structure.
39817 (grub_efi_vendor_device_path_t): New type.
39818 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39819 (struct grub_efi_controller_device_path): New structure.
39820 (grub_efi_controller_device_path_t): New type.
39821 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39822 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39823 (struct grub_efi_acpi_device_path): New structure.
39824 (grub_efi_acpi_device_path_t): New type.
39825 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39826 (struct grub_efi_expanded_acpi_device_path): New structure.
39827 (grub_efi_expanded_acpi_device_path_t): New type.
39828 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39829 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39830 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39831 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39832 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39833 (struct grub_efi_atapi_device_path): New structure.
39834 (grub_efi_atapi_device_path_t): New type.
39835 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39836 (struct grub_efi_fibre_channel_device_path): New structure.
39837 (grub_efi_fibre_channel_device_path_t): New type.
39838 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39839 (struct grub_efi_1394_device_path): New structure.
39840 (grub_efi_1394_device_path_t): New type.
39841 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39842 (struct grub_efi_usb_device_path): New structure.
39843 (grub_efi_usb_device_path_t): New type.
39844 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39845 (struct grub_efi_usb_class_device_path): New structure.
39846 (grub_efi_usb_class_device_path_t): New type.
39847 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39848 (struct grub_efi_i2o_device_path): New structure.
39849 (grub_efi_i2o_device_path_t): New type.
39850 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39851 (struct grub_efi_mac_address_device_path): New structure.
39852 (grub_efi_mac_address_device_path_t): New type.
39853 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39854 (struct grub_efi_ipv4_device_path): New structure.
39855 (grub_efi_ipv4_device_path_t): New type.
39856 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39857 (struct grub_efi_ipv6_device_path): New structure.
39858 (grub_efi_ipv6_device_path_t): New type.
39859 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39860 (struct grub_efi_infiniband_device_path): New structure.
39861 (grub_efi_infiniband_device_path_t): New type.
39862 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39863 (struct grub_efi_uart_device_path): New structure.
39864 (grub_efi_uart_device_path_t): New type.
39865 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39866 (struct grub_efi_vendor_messaging_device_path): New structure.
39867 (grub_efi_vendor_messaging_device_path_t): New type.
39868 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39869 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39870 (struct grub_efi_hard_drive_device_path): New structure.
39871 (grub_efi_hard_drive_device_path_t): New type.
39872 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39873 (struct grub_efi_cdrom_device_path): New structure.
39874 (grub_efi_cdrom_device_path_t): New type.
39875 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39876 (struct grub_efi_vendor_media_device_path): New structure.
39877 (grub_efi_vendor_media_device_path_t): New type.
39878 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39879 (struct grub_efi_file_path_device_path): New structure.
39880 (grub_efi_file_path_device_path_t): New type.
39881 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39882 (struct grub_efi_protocol_device_path): New structure.
39883 (grub_efi_protocol_device_path_t): New type.
39884 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39885 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39886 (struct grub_efi_bios_device_path): New structure.
39887 (grub_efi_bios_device_path_t): New type.
39888 (struct grub_efi_disk_io): New structure.
39889 (grub_efi_disk_io_t): New type.
39890 (struct grub_efi_block_io_media): New structure.
39891 (grub_efi_block_io_media_t): New type.
39892 (struct grub_efi_block_io): New structure.
39893 (grub_efi_block_io_t): New type.
39894
39895 * include/grub/misc.h (grub_stop): Removed.
39896 (grub_exit): New prototype.
39897 (grub_abort): Likewise.
39898
39899 * include/grub/disk.h (enum grub_disk_dev_id): Added
39900 GRUB_DISK_DEVICE_EFIDISK_ID.
39901
39902 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39903 disk/efi/efidisk.c.
39904 (kernel_syms.lst): Remove the target if an error occurs.
39905
49986a9f 399062006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39907
39908 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39909 as it was simply too buggy.
39910
970d3b8a 399112006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39912
39913 * kern/misc.c (grub_lltoa): New function.
39914 (grub_vsprintf): Added support for the long long suffix,
39915 i.e. "ll".
39916
ff04ec24 399172006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39918
39919 * Makefile.in (LDFLAGS): Add variable.
39920 (LD): Remove variable.
39921 * configure.ac: Add -m32 to LDFLAGS.
39922 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39923 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39924 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39925 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39926 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39927 variables.
39928 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39929 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39930 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39931
37e5e1a4 399322006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39933
39934 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39935 length for unknown glyph.
39936
c352d8dd 399372006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39938
2eab1c0d 39939 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39940
2eab1c0d 39941 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39942 completely. Accept one more argument DIR. The caller has changed.
39943
39944 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39945
39946 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39947 (grub_efi_loaded_image_guid): New variable.
39948 (grub_efi_get_loaded_image): New function.
39949 (grub_arch_modules_addr): Likewise.
39950
39951 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39952 prototype.
39953
39954 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39955 (struct grub_efi_loaded_image): New structure.
39956 (grub_efi_loaded_image_t): New type.
39957
399582006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39959
c352d8dd 39960 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39961 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39962 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39963
6d01d6b4 399642006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39965
39966 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39967
976a4ea0 399682006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39969
39970 * DISTLIST: Added include/grub/efi/console.h,
39971 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39972 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39973
39974 * include/grub/efi/console.h: New file.
39975 * include/grub/efi/time.h: Likewise.
39976 * include/grub/i386/efi/kernel.h: Likewise.
39977 * kern/efi/init.c: Likewise.
39978 * kern/efi/mm.c: Likewise.
39979 * term/efi/console.c: Likewise.
f19dbdb7 39980
976a4ea0 39981 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39982 (grub_stop): Removed.
39983 (grub_get_rtc): Likewise.
39984 (grub_machine_init): Simply call grub_efi_init.
39985 (grub_machine_fini): Call grub_efi_fini.
39986
39987 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39988 (grub_efi_output_string): Removed.
39989 (grub_efi_stall): New function.
39990 (grub_stop): Likewise.
39991 (grub_get_rtc): Likewise.
39992
39993 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39994 (grub_efi_stall): New prototype.
39995 (grub_efi_allocate_pages): Likewise.
39996 (grub_efi_free_pages): Likewise.
39997 (grub_efi_get_memory_map): Likewise.
39998 (grub_efi_mm_init): Likewise.
39999 (grub_efi_mm_fini): Likewise.
40000 (grub_efi_init): Likewise.
40001 (grub_efi_fini): Likewise.
40002
40003 * include/grub/i386/efi/time.h: Do not include
40004 grub/symbol.h. Include grub/efi/time.h.
40005 (GRUB_TICKS_PER_SECOND): Removed.
40006 (grub_get_rtc): Likewise.
40007
40008 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40009 Added padding. The EFI spec is buggy.
40010 (GRUB_EFI_BLACK): New macro.
40011 (GRUB_EFI_BLUE): Likewise.
40012 (GRUB_EFI_GREEN): Likewise.
40013 (GRUB_EFI_CYAN): Likewise.
40014 (GRUB_EFI_RED): Likewise.
40015 (GRUB_EFI_MAGENTA): Likewise.
40016 (GRUB_EFI_BROWN): Likewise.
40017 (GRUB_EFI_LIGHTGRAY): Likewise.
40018 (GRUB_EFI_BRIGHT): Likewise.
40019 (GRUB_EFI_DARKGRAY): Likewise.
40020 (GRUB_EFI_LIGHTBLUE): Likewise.
40021 (GRUB_EFI_LIGHTGREEN): Likewise.
40022 (GRUB_EFI_LIGHTCYAN): Likewise.
40023 (GRUB_EFI_LIGHTRED): Likewise.
40024 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40025 (GRUB_EFI_YELLOW): Likewise.
40026 (GRUB_EFI_WHITE): Likewise.
40027 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40028 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40029 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40030 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40031 (GRUB_EFI_BACKGROUND_RED): Likewise.
40032 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40033 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40034 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40035 (GRUB_EFI_TEXT_ATTR): Likewise.
40036
40037 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40038 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40039 (kernel_mod_HEADERS): Added efi/time.h.
40040
83709125 400412006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40042
40043 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40044 include/grub/efi/api.h, include/grub/efi/console_control.h,
40045 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40046 include/grub/i386/efi/time.h, kern/efi/efi.c,
40047 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40048 and util/i386/efi/grub-mkimage.c.
40049
40050 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40051
40052 * genmk.rb (PModule#rule): Do not export symbols if
40053 #{prefix}_EXPORTS is set to "no".
40054
40055 * conf/i386-efi.mk: New file.
40056 * conf/i386-efi.rmk: Likewise.
40057 * include/grub/efi/api.h: Likewise.
40058 * include/grub/efi/console_control.h: Likewise.
40059 * include/grub/efi/efi.h: Likewise.
40060 * include/grub/efi/pe32.h: Likewise.
40061 * include/grub/i386/efi/time.h: Likewise.
40062 * kern/efi/efi.c: Likewise.
40063 * kern/i386/efi/init.c: Likewise.
40064 * kern/i386/efi/startup.S: Likewise.
40065 * util/i386/efi/grub-mkimage.c: Likewise.
40066
400672006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40068
40069 * include/grub/script.h: Include <grub/parser.h> and
40070 "grub_script.tab.h".
40071 (struct grub_lexer_param): New struct.
40072 (struct grub_parser_param): Likewise.
40073 (grub_script_create_arglist): Pass the state in an argument.
40074 (grub_script_add_arglist): Likewise.
40075 (grub_script_create_cmdline): Likewise.
40076 (grub_script_create_cmdblock): Likewise.
40077 (grub_script_create_cmdif): Likewise.
40078 (grub_script_create_cmdmenu): Likewise.
40079 (grub_script_add_cmd): Likewise.
40080 (grub_script_arg_add): Likewise.
40081 (grub_script_lexer_ref): Likewise.
40082 (grub_script_lexer_deref): Likewise.
40083 (grub_script_lexer_record_start): Likewise.
40084 (grub_script_lexer_record_stop): Likewise.
40085 (grub_script_mem_record): Likewise.
40086 (grub_script_mem_record_stop): Likewise.
40087 (grub_script_malloc): Likewise.
40088 (grub_script_yylex): Likewise.
40089 (grub_script_yyparse): Likewise.
40090 (grub_script_yyerror): Likewise.
40091 (grub_script_yylex): Likewise.
40092 (grub_script_lexer_init): Return the state.
40093
40094 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40095 (grub_script_lexer_done): Likewise.
40096 (grub_script_lexer_getline): Likewise.
40097 (grub_script_lexer_refs): Likewise.
40098 (script): Likewise.
40099 (newscript): Likewise.
40100 (record): Likewise.
40101 (recording): Likewise.
40102 (recordpos): Likewise.
40103 (recordlen): Likewise.
40104 (grub_script_lexer_init): Return the state instead of setting
40105 global variables.
40106 (grub_script_lexer_ref): Use the newly added argument for state
40107 instead of globals.
40108 (grub_script_lexer_deref): Likewise.
40109 (grub_script_lexer_record_start): Likewise.
40110 (grub_script_lexer_record_stop): Likewise.
40111 (recordchar): Likewise.
40112 (nextchar): Likewise.
40113 (grub_script_yylex2): Likewise.
40114 (grub_script_yylex): Likewise.
40115 (grub_script_yyerror): Likewise.
40116
40117 * normal/parser.y (func_mem): Removed variable.
40118 (menu_entry): Likewise.
40119 (err): Likewise.
40120 (%lex-param): New parser option.
40121 (%parse-param): Likewise.
40122 (script): Always return the AST.
40123 (argument): Pass the state around.
40124 (arguments): Likewise.
40125 (grubcmd): Likewise.
40126 (commands): Likewise.
40127 (function): Likewise.
40128 (menuentry): Likewise.
40129 (if_statement): Likewise.
40130 (if): Likewise.
40131
40132 * normal/script.c (grub_script_memused): Removed variable.
40133 (grub_script_parsed): Likewise.
40134 (grub_script_malloc): Added a state argument. Use that instead of
40135 global variables.
40136 (grub_script_mem_record): Likewise.
40137 (grub_script_mem_record_stop): Likewise.
40138 (grub_script_arg_add): Likewise.
40139 (grub_script_add_arglist): Likewise.
40140 (grub_script_create_cmdline): Likewise.
40141 (grub_script_create_cmdif): Likewise.
40142 (grub_script_create_cmdmenu): Likewise.
40143 (grub_script_add_cmd): Likewise.
40144 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40145
e2a8c904 401462006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40147
40148 * normal/command.c (grub_command_init): Remove the title command.
40149
40150 * normal/lexer.c (grub_script_yylex): Renamed from this...
40151 (grub_script_yylex2): ... to this.
40152 (grub_script_yylex): New function. Temporary
40153 introduced to filter some tokens.
40154 (grub_script_yyerror): Print a newline.
40155
40156 * normal/main.c (read_config_file): Output information about the
40157 lines that contain errors. Wait for a key after all lines have
40158 been processed. Don't return an empty menu.
40159
40160 * normal/parser.y (func_mem): Don't initialize.
40161 (menu_entry): Likewise.
40162 (err): New variable.
40163 (script): Don't return anything when an error was encountered.
40164 (ws, returns): Removed rules.
40165 (argument): Disabled concatenated variable support.
40166 (arguments): Remove explicit separators.
40167 (grubcmd): Likewise.
40168 (function): Likewise.
40169 (menuentry): Likewise.
40170 (if): Likewise.
40171 (commands): Likewise. Add error handling.
40172
40173 * normal/script.c (grub_script_create_cmdline): If
40174 `grub_script_parsed' is 0, assume the parser encountered an error.
40175
c9a86192 401762006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40177
40178 * configure.ac: Add support for EFI. Fix the typo
40179 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40180
70f3b243 401812006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40182
40183 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40184 foreign multibyte characters should be shown correctly.
40185
65f201ad 401862006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40187
40188 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40189 calculation.
40190 (read_config_file): Made it to close file before returning.
40191
b4b93674 401922006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40193
40194 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40195 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40196 video/i386/pc/vbefill.c.
40197
40198 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40199 video/i386/pc/vbefill.c.
40200
40201 * include/grub/video.h (grub_video_blit_format): New enum.
40202 (grub_video_mode_info): Added new member blit_format.
40203 (grub_video_get_blit_format): New function prototype.
40204
40205 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40206 function prototype.
40207 (grub_video_vbe_map_rgb): Likewise.
40208 (grub_video_vbe_unmap_color): Likewise.
40209
40210 * include/grub/i386/pc/vbeblit.h: New file.
40211
40212 * include/grub/i386/pc/vbefill.h: New file.
40213
40214 * video/video.c (grub_video_get_blit_format): New function.
40215 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40216 (grub_video_vbe_map_rgb): Likewise.
40217 (grub_video_vbe_unmap_color): Likewise.
40218
40219 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40220 optimized fills.
40221 (grub_video_vbe_blit_render_target): Changed to use more optimized
40222 blits.
40223 (grub_video_vbe_setup): Added detection for optimized settings.
40224 (grub_video_vbe_create_render_target): Likewise.
40225
40226 * video/i386/pc/vbeblit.c: New file.
40227
40228 * video/i386/pc/vbefill.c: New file.
40229
c2379b9c 402302006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40231
40232 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40233 here...
40234
40235 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40236 parsing to support both hex and dec ranges. If filename was missing
40237 show usage information.
40238
bd0d7896 402392006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40240
40241 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40242 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40243
40244 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40245 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40246 (video_mod_SOURCES): Added.
40247 (video_mod_CFLAGS): Likewise.
40248 (video_mod_LDFLAGS): Likewise.
40249 (gfxterm_mod_SOURCES): Likewise.
40250 (gfxterm_mod_CFLAGS): Likewise.
40251 (gfxterm_mod_LDFLAGS): Likewise.
40252 (videotest_mod_SOURCES): Likewise.
40253 (videotest_mod_CFLAGS): Likewise.
40254 (videotest_mod_LDFLAGS): Likewise.
40255 (vesafb_mod_SOURCES): Removed.
40256 (vesafb_mod_CFLAGS): Likewise.
40257 (vesafb_mod_LDFLAGS): Likewise.
40258 (vga_mod_SOURCES): Likewise.
40259 (vga_mod_CFLAGS): Likewise.
40260 (vga_mod_LDFLAGS): Likewise.
40261
40262 * commands/videotest.c: New file.
40263
40264 * font/manager.c (fill_with_default_glyph): Modified to use
40265 grub_font_glyph.
40266 (grub_font_get_glyph): Likewise.
40267 (fontmanager): Renamed from this...
40268 (font_manager): ... to this.
40269
40270 * include/grub/font.h (grub_font_glyph): Added new structure.
40271 (grub_font_get_glyph): Modified to use grub_font_glyph.
40272
40273 * include/grub/misc.h (grub_abs): Added as inline function.
40274
40275 * include/grub/video.h: New file.
40276
40277 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40278 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40279 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40280 (grub_vbe_get_controller_info): Renamed from this...
40281 (grub_vbe_bios_get_controller_info): ... to this.
40282 (grub_vbe_get_mode_info): Renamed from this...
40283 (grub_vbe_bios_get_mode_info): ... to this.
40284 (grub_vbe_set_mode): Renamed from this...
40285 (grub_vbe_bios_set_mode): ... to this.
40286 (grub_vbe_get_mode): Renamed from this...
40287 (grub_vbe_bios_get_mode): ... to this.
40288 (grub_vbe_set_memory_window): Renamed from this...
40289 (grub_vbe_bios_set_memory_window): ... to this.
40290 (grub_vbe_get_memory_window): Renamed from this...
40291 (grub_vbe_bios_get_memory_window): ... to this.
40292 (grub_vbe_set_scanline_length): Renamed from this...
40293 (grub_vbe_set_scanline_length): ... to this.
40294 (grub_vbe_get_scanline_length): Renamed from this...
40295 (grub_vbe_bios_get_scanline_length): ... to this.
40296 (grub_vbe_set_display_start): Renamed from this...
40297 (grub_vbe_bios_set_display_start): ... to this.
40298 (grub_vbe_get_display_start): Renamed from this...
40299 (grub_vbe_bios_get_display_start): ... to this.
40300 (grub_vbe_set_palette_data): Renamed from this...
40301 (grub_vbe_bios_set_palette_data): ... to this.
40302 (grub_vbe_set_pixel_rgb): Removed.
40303 (grub_vbe_set_pixel_index): Likewise.
40304
40305 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40306 from this...
40307 (grub_vbe_bios_get_controller_info): ... to this.
40308 (grub_vbe_get_mode_info): Renamed from this...
40309 (grub_vbe_bios_get_mode_info): ... to this.
40310 (grub_vbe_set_mode): Renamed from this...
40311 (grub_vbe_bios_set_mode): ... to this.
40312 (grub_vbe_get_mode): Renamed from this...
40313 (grub_vbe_bios_get_mode): ... to this.
40314 (grub_vbe_set_memory_window): Renamed from this...
40315 (grub_vbe_bios_set_memory_window): ... to this.
40316 (grub_vbe_get_memory_window): Renamed from this...
40317 (grub_vbe_bios_get_memory_window): ... to this.
40318 (grub_vbe_set_scanline_length): Renamed from this...
40319 (grub_vbe_set_scanline_length): ... to this.
40320 (grub_vbe_get_scanline_length): Renamed from this...
40321 (grub_vbe_bios_get_scanline_length): ... to this.
40322 (grub_vbe_set_display_start): Renamed from this...
40323 (grub_vbe_bios_set_display_start): ... to this.
40324 (grub_vbe_get_display_start): Renamed from this...
40325 (grub_vbe_bios_get_display_start): ... to this.
40326 (grub_vbe_set_palette_data): Renamed from this...
40327 (grub_vbe_bios_set_palette_data): ... to this.
40328 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40329 getting corrupted after calling it. Added more pushes and pops.
40330 (grub_vbe_bios_set_mode): Likewise.
40331 (grub_vbe_bios_get_mode): Likewise.
40332 (grub_vbe_bios_get_memory_window): Likewise.
40333 (grub_vbe_bios_set_scanline_length): Likewise.
40334 (grub_vbe_bios_get_scanline_length): Likewise.
40335 (grub_vbe_bios_get_display_start): Likewise.
40336 (grub_vbe_bios_set_palette_data): Likewise.
40337
40338 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40339 (cl_insert): Likewise.
40340 (cl_delete): Likewise.
40341
40342 * term/gfxterm.c: New file.
40343
40344 * term/i386/pc/vesafb.c: Removed file.
40345
40346 * video/video.c: New file.
40347
40348 * video/i386/pc/vbe.c (real2pm): Added new function.
40349 (grub_video_vbe_draw_pixel): Likewise.
40350 (grub_video_vbe_get_video_ptr): Likewise.
40351 (grub_video_vbe_get_pixel): Likewise
40352 (grub_video_vbe_init): Likewise.
40353 (grub_video_vbe_fini): Likewise.
40354 (grub_video_vbe_setup): Likewise.
40355 (grub_video_vbe_get_info): Likewise.
40356 (grub_video_vbe_set_palette): Likewise.
40357 (grub_video_vbe_get_palette): Likewise.
40358 (grub_video_vbe_set_viewport): Likewise.
40359 (grub_video_vbe_get_viewport): Likewise.
40360 (grub_video_vbe_map_color): Likewise.
40361 (grub_video_vbe_map_rgb): Likewise.
40362 (grub_video_vbe_map_rgba): Likewise.
40363 (grub_video_vbe_unmap_color): Likewise.
40364 (grub_video_vbe_fill_rect): Likewise.
40365 (grub_video_vbe_blit_glyph): Likewise.
40366 (grub_video_vbe_blit_bitmap): Likewise.
40367 (grub_video_vbe_blit_render_target): Likewise.
40368 (grub_video_vbe_scroll): Likewise.
40369 (grub_video_vbe_swap_buffers): Likewise.
40370 (grub_video_vbe_create_render_target): Likewise.
40371 (grub_video_vbe_delete_render_target): Likewise.
40372 (grub_video_vbe_set_active_render_target): Likewise.
40373 (grub_vbe_set_pixel_rgb): Remove function.
40374 (grub_vbe_set_pixel_index): Likewise.
40375 (index_color_mode): Remove static variable.
40376 (active_mode): Likewise.
40377 (framebuffer): Likewise.
40378 (bytes_per_scan_line): Likewise.
40379 (grub_video_vbe_adapter): Added new static variable.
40380 (framebuffer): Likewise.
40381 (render_target): Likewise.
40382 (initial_mode): Likewise.
40383 (mode_in_use): Likewise.
40384 (mode_list): Likewise.
40385
5f97350b 403862006-03-10 Marco Gerards <marco@gnu.org>
40387
40388 * configure.ac (AC_INIT): Bumped to 1.93.
40389
40390 * DISTLIST: Added `include/grub/hfs.h'.
40391
a3c5c6f8 403922006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40393
40394 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40395 18H, which might help the BIOS falling back to next boot media.
40396
6de53d26 403972006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40398
40399 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40400 Poe Chen <poe.poechen@gmail.com>.
40401
77c4a393 404022006-01-17 Marco Gerards <marco@gnu.org>
40403
40404 * include/grub/normal.h: Include <grub/script.h>.
40405 (grub_command_list): Removed struct.
40406 (grub_command_list_t): Removed type.
40407 (grub_menu_entry): Remove members `num' and `command_list'. Add
40408 members `commands' and `sourcecode'.
40409 * include/grub/script.h: Add inclusion guards.
40410 (grub_script_cmd_menuentry): New struct.
40411 (grub_script_execute_menuentry): New prototype.
40412 (grub_script_lexer_record_start): Likewise.
40413 (grub_script_lexer_record_stop): Likewise.
40414 * normal/execute.c (grub_script_execute_menuentry): New function.
40415 * normal/lexer.c (record, recording, recordpos, recordlen): New
40416 variables.
40417 (grub_script_lexer_record_start): New function.
40418 (grub_script_lexer_record_stop): Likewise.
40419 (recordchar): Likewise.
40420 (nextchar): Likewise.
40421 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40422 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40423 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40424 (current_menu): New variable.
40425 (free_menu): Mainly rewritten.
40426 (grub_normal_menu_addentry): New function.
40427 (read_config_file): Rewritten.
40428 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40429 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40430 the menu entry.
40431 (run): Mainly rewritten.
40432 * normal/parser.y (menu_entry): New variable.
40433 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40434 (menuentry): New rule.
40435 (command): Add `menuentry'.
40436 (if_statement): Allow additional returns before `fi'.
40437 * normal/script.c (grub_script_create_cmdmenu): New function.
40438
144f1f98 404392006-01-03 Marco Gerards <marco@gnu.org>
40440
40441 * INSTALL: GNU Bison is required.
40442 * configure.ac: Rewritten the test to detect Bison.
40443 * Makefile.in (YACC): New variable. Reported by Xun Sun
40444 <xun.sun.cn@gmail.com>.
40445
af4b2d89 404462006-01-03 Marco Gerards <marco@gnu.org>
40447
40448 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40449 the HFS+ filesystem to filesystem blocks.
40450 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40451 GCC warning is silenced.
40452
15643b71 404532006-01-03 Marco Gerards <marco@gnu.org>
40454
40455 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40456 read from disk from big endian to host byte order.
40457
00905879 404582006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40459
40460 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40461 documentation.
40462 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40463 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40464 embedded HFS+ filesystem.
40465 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40466 (grub_hfs_sblock): Move from here...
40467 * include/grub/hfs.h: To here... New file.
40468 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40469 documentation.
40470 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40471 New macros.
40472 (grub_hfsplus_volheader): Change type of member `magic' to
40473 `grub_uint16_t'.
40474 (grub_hfsplus_data): Add new member `embedded_offset'.
40475 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40476 returned block.
40477 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40478 Calculate the offset.
40479
8899bc3e 404802005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40481
40482 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40483 Removed.
40484 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40485
ae8c0277 404862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40487
40488 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40489 ENV->NAME is NULL after allocating ENV->VALUE.
40490
07084456 404912005-12-25 Marco Gerards <marco@gnu.org>
40492
40493 * kern/env.c (grub_env_set): Rewritten the error handling code.
40494
4750f5f1 404952005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40496
40497 * geninit.sh: Made more robust, and more portable.
40498
50214199 404992005-12-25 Marco Gerards <marco@gnu.org>
40500
40501 Add support for Apple HFS+ filesystems.
f19dbdb7 40502
50214199 40503 * fs/hfsplus.c: New file.
40504
40505 * DISTLIST: Added `fs/hfsplus.c'.
40506
40507 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40508 (hfsplus_mod_SOURCES): New variable.
40509 (hfsplus_mod_CFLAGS): Likewise.
40510 (hfsplus_mod_LDFLAGS): Likewise.
40511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40512 (grub_setup_SOURCES): Likewise.
40513 (grub_mkdevicemap_SOURCES): Likewise.
40514 (grub_emu_SOURCES): Likewise.
40515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40516
40517 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40518
40519 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40520
befaed6c 405212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40522
40523 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40524 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40525 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40526 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40527 normal/lexer.c, normal/parser.y, normal/script.c, and
40528 partmap/gpt.c.
40529 Removed kern/sparc64/cache.c.
40530
40531 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40532 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40533 grub_emu_init.c.
40534
40535 * configure.ac (AC_INIT): Bumped to 1.92.
40536
6a124103 405372005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40538
40539 * kern/err.c (grub_error_push): Added new function to support error
40540 stacks.
40541 (grub_error_pop): Likewise.
40542 (grub_error_stack_items): New local variable to support error stacks.
40543 (grub_error_stack_pos): Likewise.
40544 (grub_error_stack_assert): Likewise.
40545 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40546 stack depth.
40547 (grub_print_error): Added support to print errors from error stack.
40548
40549 * include/grub/err.h (grub_error_push): Added function prototype.
40550 (grub_error_pop): Likewise.
40551
be973c1b 405522005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40553
40554 * configure.ac: Accept `powerpc64' as host_cpu.
40555 (amd64): Rename to `biarch32'.
40556
40557 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40558 non-cacheline-aligned addresses.
40559
40560 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40561 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40562 if `size' is non-zero.
40563
b04216ab 405642005-12-03 Marco Gerards <mgerards@xs4all.nl>
40565
40566 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40567 and `cd' to make sure the filename is not prefixed with a
40568 directory name.
40569 (pkgdata_MODULES): Add `gpt.mod'.
40570 (gpt_mod_SOURCES): New variable.
40571 (gpt_mod_CFLAGS): Likewise.
40572 (gpt_mod_LDFLAGS): Likewise.
40573
40574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40575
40576 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40577 New macro.
40578
40579 * partmap/gpt.c: New file.
40580
40581 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40582 GPT partition map is detected.
40583
41730ed9 405842005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40585
40586 * commands/i386/pc/play.c: New file.
40587 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40588 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40589 macros.
f19dbdb7 40590
95dc3643 405912005-11-27 Marco Gerards <mgerards@xs4all.nl>
40592
40593 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40594 ((unused))' to silence gcc warning.
40595
1569ec51 405962005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40597
40598 * configure.ac: Correct `AC_PROG_YACC' test.
40599
9abde152 406002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40601
40602 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40603 check before installing files.
40604
44b83271 406052005-11-22 Mike Small <smallm@panix.com>
40606
40607 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40608 number regex so multidigit numbers are recognized correctly.
40609
406102005-11-22 Mike Small <smallm@panix.com>
40611
40612 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40613 debugging message before attempting to claim memory.
40614 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40615 multiple addresses in case of failure.
40616
9c12956b 406172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40618
40619 * term/tparm.c (get_space): Remove empty `if' statement.
40620
40621 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40622
40623 * kern/parser.c (check_varstate): Rename `state' to 's'.
40624
aeaf81d9 406252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40626
40627 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40628 variable definitions to the beginning of each function. Sort stack
40629 variables by size.
40630 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40631 `buf' argument to `char *'.
40632
79bbb63f 406332005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40634
40635 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40636 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40637 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40638 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40639 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40640 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40641 configfile.mod, search.mod, gzio.mod and test.mod.
40642 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40643 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40644 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40645 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40646 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40647 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40648 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40649 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40650 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40651 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40652 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40653 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40654 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40655 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40656 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40657 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40658 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40659 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40660 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40661 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40662 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40663 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40664 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40665
40666 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40667 `grep --include'.
40668 (pkgdata_MODULES): Add test.mod.
40669
233b1628 406702005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40671
40672 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40673 appending to variables with "+=".
40674 (PModule): Use full pathname to generate *.lst filenames.
40675
40676 * Makefile.in: Fixed list rules moved from genmk.rb.
40677 (.DELETE_ON_ERROR): New special target.
40678 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40679
40680 * conf/i386-pc.rmk: Include conf/common.mk.
40681 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40682 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40683 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40684 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40685 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40686 configfile.mod, search.mod, gzio.mod and test.mod.
40687 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40688 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40689 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40690 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40691 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40692 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40693 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40694 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40695 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40696 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40697 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40698 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40699 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40700 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40701 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40702 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40703 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40704 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40705 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40706 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40707 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40708 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40709 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40710 here...
40711 * conf/common.rmk: ... to here. New file.
40712
40713 * conf/common.mk: New file.
40714
16f820c8 407152005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40716
40717 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40718 (grub_script.tab.c): ... here.
40719
40720 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40721 (grub_script.tab.c): ... here.
40722
40723 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40724 (grub_script.tab.c): ... here.
40725
40726 * normal/command.c (grub_command_find): Fixed a memory leak of
40727 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40728
63ba1554 407292005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40730
40731 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40732 "@" which marks the start of a comment on ARM.
40733 (VARIABLE): Likewise.
40734
7f67dc13 407352005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40736
79bbb63f 40737 Add support for Linux/ADFS partition tables.
7f67dc13 40738
40739 * partmap/acorn.c: New file.
40740
40741 * include/grub/acorn_filecore.h: Likewise.
40742
40743 * DISTLIST: Added `partmap/acorn.c' and
40744 `include/grub/acorn_filecore.h'.
f19dbdb7 40745
7f67dc13 40746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40747 `partmap/acorn.c'.
40748 (pkgdata_MODULES): Add `acorn.mod'.
40749 (acorn_mod_SOURCES): New variable.
40750 (acorn_mod_CFLAGS): Likewise.
40751
40752 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40753 `partmap/acorn.c'.
40754 (pkgdata_MODULES): Add `acorn.mod'.
40755 (acorn_mod_SOURCES): New variable.
40756 (acorn_mod_CFLAGS): Likewise.
40757
40758 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40759 (pkgdata_MODULES): Add `acorn.mod'.
40760 (acorn_mod_SOURCES): New variable.
40761 (acorn_mod_CFLAGS): Likewise.
40762 (acorn_mod_LDFLAGS): Likewise.
40763
40764 * include/types.h (grub_disk_addr_t): New typedef.
40765
6d099807 407662005-11-13 Marco Gerards <mgerards@xs4all.nl>
40767
40768 * geninit.sh: New file.
40769
40770 * geninitheader.sh: Likewise.
40771
40772 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40773 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40774 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40775 * commands/configfile.c (grub_configfile_init)
40776 (grub_configfile_fini): Likewise.
40777 * commands/default.c (grub_default_init, grub_default_fini):
40778 Likewise.
40779 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40780 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40781 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40782 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40783 Likewise.
40784 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40785 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40786 Likewise.
40787 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40788 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40789 Likewise.
40790 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40791 Likewise.
fe6b695a 40792 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40793 Likewise.
40794 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40795 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40796 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40797 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40798 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40799 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40800 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40801 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40802 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40803 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40804 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40805 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40806 * partmap/amiga.c (grub_amiga_partition_map_init)
40807 (grub_amiga_partition_map_fini): Likewise.
40808 * partmap/apple.c (grub_apple_partition_map_init)
40809 (grub_apple_partition_map_fini): Likewise.
40810 * partmap/pc.c (grub_pc_partition_map_init)
40811 (grub_pc_partition_map_fini): Likewise.
40812 * partmap/sun.c (grub_sun_partition_map_init,
40813 grub_sun_partition_map_fini): Likewise.
40814 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40815 Likewise.
40816
40817 * util/grub-emu.c: Include <grub_modules_init.h>.
40818 (main): Don't initialize and de-initialize any modules directly,
40819 use `grub_init_all' and `grub_fini_all' instead.
40820
40821 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40822 `grub_vesafb_mod_init'.
40823 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40824 all users.
40825 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40826 `grub_vga_mod_init'. Updated all users.
40827 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40828
6d099807 40829 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40830 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40831 rules.
40832
40833 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40834 Generate a function to initialize the module in utilities.
40835 Updated all callers.
40836 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40837 initialize the module in utilities. Updated all callers.
40838
9046bcf0 408392005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40840
40841 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40842 escape sequence and a literal ^L to clear the screen.
40843
40844 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40845 when returning from Open Firmware.
40846
d13ea639 408472005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40848
40849 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40850 (grub_ofconsole_height): Likewise.
40851 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40852 manually insert a '\n'.
40853 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40854 `grub_ofconsole_height'. Return early if these are already set.
40855
a8fcf206 408562005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40857
40858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40859 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40860 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40861 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40862 and `normal/script.c'.
40863 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40864 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40865 (test_mod_SOURCES): New variable.
40866 (test_mod_CFLAGS): Likewise.
40867 (test_mod_LDFLAGS): Likewise.
40868 (pkgdata_MODULES): Add `test.mod'.
40869 (grub_script.tab.c): New rule.
40870 (grub_script.tab.h): Likewise.
40871
b6b32745 408722005-11-07 Marco Gerards <mgerards@xs4all.nl>
40873
40874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40875 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40876 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40877 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40878 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40879 (test_mod_SOURCES): New variable.
40880 (test_mod_CFLAGS): Likewise.
40881 (pkgdata_MODULES): Add `test.mod'.
40882 (grub_script.tab.c): New rule.
40883 (grub_script.tab.h): Likewise.
40884
daac212a 408852005-11-06 Marco Gerards <mgerards@xs4all.nl>
40886
40887 Add initial scripting support.
40888
40889 * commands/test.c: New file.
40890 * include/grub/script.h: Likewise.
40891 * normal/execute.c: Likewise.
40892 * normal/function.c: Likewise.
40893 * normal/lexer.c: Likewise.
40894 * normal/parser.y: Likewise.
40895 * normal/script.c: Likewise.
40896
40897 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40898
daac212a 40899 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40900 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40901 `normal/function.c' and `normal/script.c'.
40902 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40903 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40904 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40905 variables.
daac212a 40906 (pkgdata_MODULES): Add `test.mod'.
40907 (grub_script.tab.c): New rule.
40908 (grub_script.tab.h): Likewise.
40909
40910 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40911
40912 * include/grub/normal.h (grub_test_init): New prototype.
40913 (grub_test_fini): Likewise.
f19dbdb7 40914
daac212a 40915 * normal/command.c: Include <grub/script.h>.
40916 (grub_command_execute): Rewritten.
f19dbdb7 40917
daac212a 40918 * util/grub-emu.c (main): Call `grub_test_init' and
40919 `grub_test_fini'.
40920
77500b2b 409212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40922
40923 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40924 to 0.
40925 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40926 there are no pending characters.
40927
e45deb9e 409282005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40929
40930 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40931 `grub_strndup' to drop device arguments. Replace unnecessary
40932 `grub_strndup' with `grub_strdup'.
40933
4ce32619 409342005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40935
40936 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40937 `debug' environment variable has been set.
40938
409392005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40940
4ce32619 40941 * Makefile.in (install-local): Use $(DATA).
40942 (uninstall): Likewise.
40943 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40944 (sbin_UTILITIES): ... to here.
40945 (sbin_SCRIPTS): New variable.
40946 (grub_install_SOURCES): New variable.
40947 * util/powerpc/ieee1275/grub-install.in: New file.
40948 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40949 variable.
40950 (add_segments): Call `grub_util_get_path'.
40951
25fe6f03 409522005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40953
40954 From Timothy Baldwin:
40955 * commands/ls.c (grub_ls_list_files): Close FILE with
40956 grub_file_close.
40957 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40958
04ccf3ec 409592005-10-24 Marco Gerards <mgerards@xs4all.nl>
40960
40961 * include/grub/parser.h: New file.
40962
40963 * kern/parser.c: Likewise.
40964
40965 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40966 (grub_setup_SOURCES): Likewise.
40967 (grub_probefs_SOURCES): Likewise.
40968 (grub_emu_SOURCES): Likewise.
40969 (kernel_img_HEADERS): Add `parser.h'.
40970
40971 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40972 (grub_emu_SOURCES): Add `kern/parser.c'.
40973 (grubof_SOURCES): Likewise.
40974
40975 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40976 (grubof_SOURCES): Add `kern/parser.c'.
40977
40978 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40979
40980 * kern/misc.c (grub_split_cmdline): Removed function.
40981
40982 * kern/rescue.c: Include <grub/parser.h>.
40983 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40984 of `grub_split_cmdline'.
40985
40986 * normal/command.c: Include <grub/parser.h>.
40987 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40988 of `grub_split_cmdline'.
40989
40990 * normal/completion.c: Include <grub/parser.h>.
40991 (cmdline_state): New variable.
40992 (iterate_dir): End the filename with a quote depending on the
40993 command line state.
40994 (get_state): new function.
40995 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40996 split the arguments and determine the current argument. When the
40997 argument string is not quoted, escape all spaces.
40998
6d8f4b0e 409992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41000
41001 * normal/sparc64/setjmp.S: New file.
41002
15cf03ed 410032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41004
41005 * include/grub/sparc64/libgcc.h: New file.
41006 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41007 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41008 normal/sparc64/setjmp.c.
41009
03e8661a 410102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41011
41012 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41013 * kern/sparc64/cache.S: New file.
41014 * kern/sparc64/cache.c: Removed.
41015 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41016 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41017 -mtune=ultrasparc.
41018 (COMMON_LDFLAGS): Add -melf64_sparc.
41019 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41020 (grubof_SOURCES): Use cache.S instead of cache.c.
41021 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41022 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41023 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41024 commented though.
41025 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41026 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41027 (linux_mod_CFLAGS): Commented out.
41028 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41029 out because module isn't built.
41030 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41031 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41032 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41033 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41034 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41035 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41036 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41037 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41038 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41039 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41040 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41041 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41042 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41043 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41044
34eeec8a 410452005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41046
41047 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41048 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41049 longer, because HFS should not be used on PC.
41050
708367a3 410512005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41052
41053 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41054 consistently within the loop.
41055
6fa1251a 410562005-10-15 Marco Gerards <mgerards@xs4all.nl>
41057
41058 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41059 directory can not be read.
41060
4801580b 410612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41062
41063 * configure.ac (AC_INIT): Increase the version number to 1.91.
41064
41065 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41066 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41067 term/i386/pc/serial.c.
41068
219ad426 410692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41070
41071 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41072 file size must be permitted.
41073
41074 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41075 between %ah and %al.
41076
688e5699 410772005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41078
41079 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41080 grub_uint64_t.
41081 Call the hook with a NUL-terminated filename.
41082 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41083 grub_cpu_to_be32.
41084
41085 * kern/term.c (cursor_state): New variable.
41086 (grub_term_set_current): Reset the cursor state on a new
41087 terminal.
41088 (grub_setcursor): Rewritten to use CURSOR_STATE.
41089 (grub_getcursor): New function.
41090
41091 * include/grub/term.h (grub_getcursor): New prototype.
41092
41093 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41094 integers on ARM. Reported by Timothy Baldwin
41095 <T.E.Baldwin99@members.leeds.ac.uk>.
41096
bb34586c 410972005-10-11 Marco Gerards <mgerards@xs4all.nl>
41098
41099 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41100 allocated.
41101 (grub_sfs_dir): Likewise.
41102
9a909877 411032005-10-09 Marco Gerards <mgerards@xs4all.nl>
41104
41105 Add support for the SFS filesystem.
41106
41107 * fs/sfs.c: New file.
41108
41109 * DISTLIST: Added `fs/sfs.c'.
41110
41111 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41112 (grub_probefs_SOURCES): Likewise.
41113 (grub_emu_SOURCES): Likewise.
41114 (pkgdata_MODULES): Add `sfs.mod'.
41115 (sfs_mod_SOURCES): New variable.
41116 (sfs_mod_CFLAGS): Likewise.
41117 (sfs_mod_LDFLAGS): Likewise.
41118
41119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41120 (pkgdata_MODULES): Add `sfs.mod'.
41121 (sfs_mod_SOURCES): New variable.
41122 (sfs_mod_CFLAGS): Likewise.
41123
41124 * util/grub-emu.c (main): Call `grub_sfs_init' and
41125 `grub_sfs_fini'.
41126
41127 * include/grub/fs.h (grub_sfs_init): New prototype.
41128 (grub_sfs_fini): Likewise.
41129
57bdbde3 411302005-10-07 Marco Gerards <mgerards@xs4all.nl>
41131
41132 Add support for the AFFS filesystem.
41133
41134 * fs/affs.c: New file.
41135
41136 * DISTLIST: Added `fs/affs.c'.
41137
41138 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41139 (grub_probefs_SOURCES): Likewise.
41140 (grub_emu_SOURCES): Likewise.
41141 (pkgdata_MODULES): Add `affs.mod'.
41142 (affs_mod_SOURCES): New variable.
41143 (affs_mod_CFLAGS): Likewise.
41144 (affs_mod_LDFLAGS): Likewise.
41145
41146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41147 (pkgdata_MODULES): Add `affs.mod'.
41148 (affs_mod_SOURCES): New variable.
41149 (affs_mod_CFLAGS): Likewise.
41150
41151 * util/grub-emu.c (main): Call `grub_affs_init' and
41152 `grub_affs_fini'.
41153
41154 * include/grub/fs.h (grub_affs_init): New prototype.
41155 (grub_affs_fini): Likewise.
41156
047b67e0 411572005-10-01 Marco Gerards <mgerards@xs4all.nl>
41158
41159 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41160
59b8208a 411612005-10-01 Marco Gerards <mgerards@xs4all.nl>
41162
41163 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41164 `-m32' to CFLAGS.
41165
41166 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41167 linking.
f19dbdb7 41168
59b8208a 41169 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41170 (COMMON_LDFLAGS): New variable.
41171 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41172 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41173 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41174 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41175 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41176 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41177 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41178 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41179 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41180 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41181 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41182 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41183 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41184 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41185 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41186 variables.
41187 (normal_mod_ASFLAGS): Add `-m32'.
41188
41189 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41190 (grub_host_size_t, grub_host_ssize_t): New types.
41191 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41192 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41193 `GRUB_HOST_SIZEOF_VOID_P'.
41194
41195 * include/grub/kernel.h (struct grub_module_header): Type of
41196 member offset changed to `grub_host_off_t'. Type of member size
41197 changed to `grub_host_size_t'.
41198 (struct grub_module_info): Type of member offset changed to
41199 `grub_host_off_t'. Type of member size changed to
41200 `grub_host_size_t'.
41201
b4093103 412022005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41203
41204 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41205
b4093103 41206 * kern/i386/pc/startup.S (multiboot_header): New label.
41207 (multiboot_entry): Likewise.
41208 (multiboot_trampoline): Likewise.
41209
41210 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41211 Increased to 0x4A0.
41212
41213 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41214 put parentheses after a question mark.
41215 [!GRUB_UTIL] (my_mod): New variable.
41216
41217 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41218
b2499b29 412192005-09-28 Marco Gerards <mgerards@xs4all.nl>
41220
41221 Adds support for the XFS filesystem. Btrees are not supported
41222 yet.
41223
41224 * fs/xfs.c: New file.
41225
41226 * DISTLIST: Added `fs/xfs.c'.
41227
41228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41229 (grub_probefs_SOURCES): Likewise.
41230 (grub_emu_SOURCES): Likewise.
41231 (pkgdata_MODULES): Add `xfs.mod'.
41232 (xfs_mod_SOURCES): New variable.
41233 (xfs_mod_CFLAGS): Likewise.
41234
41235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41236 (pkgdata_MODULES): Add `xfs.mod'.
41237 (xfs_mod_SOURCES): New variable.
41238 (xfs_mod_CFLAGS): Likewise.
41239
41240 * util/grub-emu.c (main): Call `grub_xfs_init' and
41241 `grub_xfs_fini'.
41242
41243 * include/grub/fs.h (grub_xfs_init): New prototype.
41244 (grub_xfs_fini): Likewise.
41245
f19dbdb7 41246
83d37a62 412472005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41248
41249 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41250 color modes, allow greater than 16 colors to be configured as
41251 a default palette.
41252
47d2d65e 412532005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41254
41255 * normal/completion.c (complete_arguments): Add the qualifier
41256 const into OPTIONS.
41257
41258 From Omniflux <omniflux+lists@omniflux.com>:
41259 * include/grub/terminfo.h: New file.
41260 * include/grub/tparm.h: Likewise.
41261 * include/grub/i386/pc/serial.h: Likewise.
41262 * term/terminfo.c: Likewise.
41263 * term/tparm.c: Likewise.
41264 * term/i386/pc/serial.c: Likewise.
41265 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41266 serial.mod.
41267 (terminfo_mod_SOURCES): New variable.
41268 (terminfo_mod_CFLAGS): Likewise.
41269 (serial_mod_SOURCES): Likewise.
41270 (serial_mod_CFLAGS): Likewise.
41271
48b671ff 412722005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41273
41274 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41275 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41276 and kern/powerpc/ieee1275/cmain.c, respectively.
41277
41278 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41279 * kern/powerpc/ieee1275/crt0.S: ... here.
41280
41281 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41282 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41283
48b671ff 41284 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41285 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41286 instead of boot/powerpc/ieee1275/crt0.S and
41287 boot/powerpc/ieee1275/cmain.c, respectively.
41288
41289 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41290 sectors. It was not used anyway.
41291
09fc77a7 412922005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41293
41294 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41295 `unused parameter' warning.
41296
003789c7 412972005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41298
41299 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41300 function.
41301 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41302 getcharwidth.
41303
67f44c86 413042005-08-28 Marco Gerards <metgerards@student.han.nl>
41305
41306 * include/grub/normal.h (enum grub_completion_type): Added
41307 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41308
41309 * normal/cmdline.c (print_completion): Handle
41310 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41311 * normal/menu_entry.c (store_completion): Likewise.
41312
41313 * normal/completion.c (complete_arguments): New function.
41314 (grub_normal_do_completion): Call `complete_arguments' when the
41315 current words start with a dash.
41316
0b5abe02 413172005-08-27 Marco Gerards <metgerards@student.han.nl>
41318
41319 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41320 `gzio.mod' instead of `io.mod').
41321
d9864ee1 413222005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41323
41324 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41325 (DISTDIRS): Added io and video.
41326 Rewrite the search routine to make an output consistently.
41327
41328 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41329 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41330 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41331 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41332 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41333 util/powerpc/ieee1275/misc.c.
f19dbdb7 41334
d9864ee1 41335 * include/grub/gzio.h: New file.
41336 * io/gzio.c: Likewise.
f19dbdb7 41337
d9864ee1 41338 * kern/file.c (grub_file_close): Call grub_device_close only if
41339 FILE->DEVICE is not NULL.
41340
41341 * include/grub/mm.h [!NULL] (NULL): New macro.
41342
41343 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41344
41345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41346 (pkgdata_MODULES): Added gzio.mod.
41347 (gzio_mod_SOURCES): New variable.
41348 (gzio_mod_CFLAGS): Likewise.
41349
41350 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41351 (pkgdata_MODULES): Added gzio.mod.
41352 (gzio_mod_SOURCES): New variable.
41353 (gzio_mod_CFLAGS): Likewise.
41354
41355 * commands/cat.c: Include grub/gzio.h.
41356 (grub_cmd_cat): Use grub_gzfile_open instead of
41357 grub_file_open.
f19dbdb7 41358
d9864ee1 41359 * commands/cmp.c: Include grub/gzio.h.
41360 (grub_cmd_cmp): Use grub_gzfile_open instead of
41361 grub_file_open.
41362
41363 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41364 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41365 grub_file_open.
41366 (grub_rescue_cmd_module): Likewise.
41367
fa46f4b5 413682005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41369
41370 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41371 kern/sparc64/ieee1275/init.c because it contains _start.
41372 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41373
e9211b5d 413742005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41375
41376 * configure.ac: Add support for sparc64 host with ieee1275
41377 firmware.
41378 * configure: Generated from configure.ac.
41379 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41380 instead of int.
41381 (grub_ofdisk_read): Likewise.
41382 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41383 pointers as (void *) to remove a warning.
41384 (grub_ofdisk_close): Likewise.
41385 (grub_ofdisk_read): Likewise.
41386 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41387 returns, so make it return void to remove a warning.
41388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41389 Corresponding prototype change.
41390 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41391 values, and cast the pointers as (void *) to remove a warning.
41392 (grub_mm_dump): Likewise.
41393 * conf/sparc64-ieee1275.mk: New file.
41394 * conf/sparc64-ieee1275.rmk: Likewise.
41395 * include/grub/sparc64/setjmp.h: Likewise.
41396 * include/grub/sparc64/types.h: Likewise.
41397 * include/grub/sparc64/ieee1275/console.h: Likewise.
41398 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41399 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41400 * include/grub/sparc64/ieee1275/time.h: Likewise.
41401 * kern/sparc64/cache.c: Likewise.
41402 * kern/sparc64/dl.c: Likewise.
41403 * kern/sparc64/ieee1275/init.c: Likewise.
41404 * kern/sparc64/ieee1275/openfw.c: Likewise.
41405
385c6a92 414062005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41407
41408 * util/console.c (grub_ncurses_putchar): If C is greater than
41409 0x7f, set C to a question mark.
41410 (grub_ncurses_getcharwidth): New function.
41411 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41412 getcharwidth.
41413
41414 * normal/menu.c (print_entry): Made aware of Unicode. First,
41415 convert TITLE to UCS-4, and predict the cursor position by
41416 grub_getcharwidth.
41417
41418 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41419 const to SRC.
41420 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41421
16ccb8b1 414222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41423
41424 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41425 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41426 grub_strcat.
41427
41428 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41429 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41430 grub_strcpy and grub_strlen. Take it into account that a space
41431 character is inserted as a delimiter.
41432
6a85ce79 414332005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41434
41435 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41436 invalid magic in the error.
6a85ce79 41437
41438 * commands/search.c: New file.
f19dbdb7 41439
6a85ce79 41440 * util/grub-emu.c (main): Call grub_search_init and
41441 grub_search_fini.
41442
41443 * kern/rescue.c (grub_rescue_print_disks): Removed.
41444 (grub_rescue_print_devices): New function.
41445 (grub_rescue_cmd_ls): Use grub_device_iterate with
41446 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41447 grub_rescue_print_disks.
41448
41449 * kern/partition.c (grub_partition_iterate): Return the result of
41450 PARTMAP->ITERATE instead of GRUB_ERRNO.
41451
41452 * kern/device.c: Include grub/partition.h.
41453 (grub_device_iterate): New function.
41454
41455 * include/grub/partition.h (grub_partition_iterate): Return int
41456 instead of grub_err_t.
41457
41458 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41459 prototype.
41460 [GRUB_UTIL] (grub_search_fini): Likewise.
41461
41462 * include/grub/device.h (grub_device_iterate): New prototype.
41463
41464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41465 commands/search.c.
41466 (pkgdata_MODULES): Added search.mod.
41467 (search_mod_SOURCES): New variable.
41468 (search_mod_CFLAGS): Likewise.
41469
41470 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41471 (pkgdata_MODULES): Added search.mod.
41472 (search_mod_SOURCES): New variable.
41473 (search_mod_CFLAGS): Likewise.
41474
41475 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41476 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41477 All callers changed.
41478
41479 * DISTLIST: Added commands/search.c.
41480
ef095434 414812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41482
41483 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41484 conversion.
41485 (grub_getcharwidth): New function.
41486
41487 * kern/misc.c (grub_utf8_to_ucs4): New function.
41488
41489 * include/grub/term.h (struct grub_term): Added a new member
41490 "getcharwidth".
41491 (grub_getcharwidth): New prototype.
41492
41493 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41494
41495 * term/i386/pc/console.c (map_char): New function. Segregated from
41496 grub_console_putchar.
41497 (grub_console_putchar): Use map_char.
41498 (grub_console_getcharwidth): New function.
41499 (grub_console_term): Specified grub_console_getcharwidth as
41500 getcharwidth.
41501
41502 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41503 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41504
41505 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41506 GRUB_ERRNO.
41507 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41508 on grub_strtoul completely.
41509 (write_char): Declare local variables in the beginning of the
41510 function.
41511 (grub_vesafb_getcharwidth): New function.
41512 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41513 getcharwidth.
41514
1f0a95e4 415152005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41516
41517 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41518 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41519 commands/i386/pc/vbetest.c.
41520
41521 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41522 call grub_vbe_get_controller_info again, because the returned
41523 information is volatile.
41524 (grub_vbe_set_video_mode): Mostly rewritten.
41525 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41526 grub_vbe_status_t correctly.
41527 (grub_vbe_get_video_mode_info): Likewise.
41528 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41529 several if statements.
41530
41531 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41532 * commands/i386/pc/vbeinfo.c: ... this.
41533
41534 * commands/i386/pc/vbe_test.c: Renamed to ...
41535 * commands/i386/pc/vbetest.c: ... this.
41536
41537 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41538 ...
41539 (grub_cmd_vbeinfo): ... this. Save video modes before
41540 iterating. Skip a video mode, if it is not available, not enough
41541 information is given or it is monochrome. Show the memory
41542 model. Leave the interpretation of MODEVAR to grub_strtoul
41543 completely.
41544 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41545 (GRUB_MOD_FINI): Likewise.
41546
41547 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41548 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41549 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41550 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41551 grub_strtoul completely.
41552 (real2pm): Removed.
41553 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41554 (GRUB_MOD_FINI): Likewise.
41555
41556 * normal/misc.c: Include grub/mm.h.
41557
41558 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41559 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41560 (vbe_list_modes_mod_SOURCES): Removed.
41561 (vbe_list_modes_mod_CFLAGS): Likewise.
41562 (vbe_test_mod_SOURCES): Likewise.
41563 (vbe_test_mod_CFLAGS): Likewise.
41564 (vbeinfo_mod_SOURCES): New variable.
41565 (vbeinfo_mod_CFLAGS): Likewise.
41566 (vbetest_mod_SOURCES): Likewise.
41567 (vbetest_mod_CFLAGS): Likewise.
41568
992ffbbe 415692005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41570
41571 * normal/misc.c: New file.
41572
41573 * DISTLIST: Added normal/misc.c.
f19dbdb7 41574
992ffbbe 41575 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41576 DISK to HOOK. Call HOOK with DISK.
41577 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41578 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41579 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41580
41581 * normal/menu_entry.c (struct screen): Added a new member
41582 "completion_shown".
41583 (completion_buffer): New global variable.
41584 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41585 (store_completion): New function.
41586 (complete): Likewise.
41587 (clear_completions): Likewise.
41588 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41589 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41590 a tab, call complete.
41591
41592 * normal/completion.c (disk_dev): Removed.
41593 (print_simple_completion): Likewise.
41594 (print_partition_completion): Likewise.
41595 (print_func): New global variable.
41596 (add_completion): Do not take the arguments WHAT or PRINT any
41597 longer. Added a new argument TYPE. Instead of printing directly,
41598 call PRINT_FUNC if not NULL.
41599 All callers changed.
41600 (complete_device): Use a local variable DEV instead of
41601 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41602 (grub_normal_do_completion): Take a new argument HOOK. Do not
41603 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41604 empty string, return NULL instead.
41605 All callers changed.
41606
41607 * normal/cmdline.c (print_completion): New function.
41608
41609 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41610 to HOOK.
41611 All callers changed.
41612
41613 * kern/disk.c (grub_print_partinfo): Removed.
41614
41615 * include/grub/partition.h (struct grub_partition_map): Add a new
41616 argument DISK into HOOK of ITERATE.
41617 (grub_partition_iterate): Add a new argument DISK to HOOK.
41618
41619 * include/grub/normal.h (enum grub_completion_type): New enum.
41620 (grub_completion_type_t): New type.
41621 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41622 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41623 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41624 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41625 (grub_normal_do_completion): Added a new argument HOOK.
41626 (grub_normal_print_device_info): New prototype.
41627
41628 * include/grub/disk.h (grub_print_partinfo): Removed.
41629
41630 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41631 (normal_mod_SOURCES): Likewise.
41632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41633 (normal_mod_SOURCES): Likewise.
41634
41635 * commands/ls.c (grub_ls_list_disks): Use
41636 grub_normal_print_device_info instead of grub_print_partinfo. Free
41637 PNAME.
41638 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41639 duplicating the code.
41640
0bd41162 416412005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41642
41643 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41644 follow GCS more precisely.
41645 * commands/i386/pc/vbe_test.c: Likewise.
41646 * include/grub/i386/pc/vbe.h: Likewise.
41647 * term/i386/pc/vesafb.c: Likewise.
41648 * video/i386/pc/vbe.c: Likewise.
0bd41162 41649
6323696a 416502005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41651
41652 * DISTLIST: Added term/i386/pc/vesafb.c
41653 DISTLIST: Added video/i386/pc/vbe.c
41654 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41655 DISTLIST: Added commands/i386/pc/vbe_test.c.
41656 * commands/i386/pc/vbe_list_modes.c: New file.
41657 * commands/i386/pc/vbe_test.c: Likewise.
41658 * term/i386/pc/vesafb.c: Likewise.
41659 * video/i386/pc/vbe.c: Likewise.
41660 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41661 (grub_vbe_probe) Added prototype.
41662 (grub_vbe_set_video_mode) Likewise.
41663 (grub_vbe_get_video_mode) Likewise.
41664 (grub_vbe_get_video_mode_info) Likewise.
41665 (grub_vbe_set_pixel_rgb) Likewise.
41666 (grub_vbe_set_pixel_index) Likewise.
41667 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41668 (pkgdata_MODULES): Added vesafb.mod.
41669 (pkgdata_MODULES): Added vbe_list_modes.mod.
41670 (pkgdata_MODULES): Added vbe_test.mod.
41671 (vbe_mod_SOURCES): Added.
41672 (vbe_mod_CFLAGS): Likewise.
41673 (vesafb_mod_SOURCES): Likewise.
41674 (vesafb_mod_CFLAGS): Likewise.
41675 (vbe_list_modes_mod_SOURCES): Likewise.
41676 (vbe_list_modes_mod_CFLAGS): Likewise.
41677 (vbe_test_mod_SOURCES): Likewise.
41678 (vbe_test_mod_CFLAGS): Likewise.
41679
0a74e62f 416802005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41681
0a74e62f 41682 * normal/command.c (grub_command_execute): If INTERACTIVE is
41683 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41684 CMDLINE. Disable the pager if INTERACTIVE is true.
41685 All callers are changed.
41686
41687 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41688 before reading a config file.
41689 * normal/main.c (read_config_file): Even if a command is not
41690 found, register it if it is within an entry.
41691
41692 * util/grub-emu.c: Include sys/types.h and unistd.h.
41693 (options): Added --hold.
41694 (struct arguments): Added a new member "hold".
41695 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41696 missing.
41697 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41698 cleared by a debugger, if it is not zero.
41699
41700 * include/grub/normal.h (grub_command_execute): Add an argument
41701 INTERACTIVE.
41702
e51f85ae 417032005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41704
41705 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41706
e9c6f39b 417072005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41708
41709 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41710 program with another one, because the old one didn't detect a bug
41711 in gcc-3.4. Always use regparm 2, because the new test is still
41712 not enough for gcc-4.0. Someone must investigate a simple test
41713 case which detects a bug in gcc-4.0.
41714
8de3495c 417152005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41716
41717 * DISTLIST: Added normal/completion.c.
41718
41719 * normal/completion.c: New file.
f19dbdb7 41720
8de3495c 41721 * term/i386/pc/console.c (grub_console_getwh): New function.
41722 (grub_console_term): Assign grub_console_getwh to getwh.
41723
41724 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41725 function is defined in normal/completion.c as
41726 grub_normal_do_completion.
41727 (grub_cmdline_get): Use grub_normal_do_completion instead of
41728 grub_tab_complete.
41729
41730 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41731 returns non-zero, otherwise return 0.
41732 (grub_partition_iterate): First, probe the partition map. Then,
41733 call ITERATE only for this partition map.
41734
41735 * kern/misc.c (grub_strncmp): Rewritten.
41736
41737 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41738 returns non-zero. Otherwise return 0.
41739
41740 * include/grub/partition.h (grub_partition_map_iterate): Return
41741 int instead of void.
41742
41743 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41744
41745 * include/grub/misc.h (grub_strncmp): Change the type of N to
41746 grub_size_t.
41747
41748 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41749 of void.
41750
41751 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41752 unsigned explicitly before comparing it with I.
8de3495c 41753
41754 * kern/main.c (grub_env_write_root): Add the attribute unused into
41755 VAR.
41756
41757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41758 normal/completion.c.
41759 (normal_mod_SOURCES): Likewise.
41760 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41761 (normal_mod_SOURCES): Likewise.
41762
41763 * normal/command.c (grub_iterate_commands): If ITERATE returns
41764 non-zero, return one immediately.
41765
e85e144b 417662005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41767
41768 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41769 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41770 descriptions.
41771 (grub_vbe_get_controller_info): New function.
41772 (grub_vbe_get_mode_info): Likewise.
41773 (grub_vbe_set_mode): Likewise.
41774 (grub_vbe_get_mode): Likewise.
41775 (grub_vbe_set_memory_window): Likewise.
41776 (grub_vbe_get_memory_window): Likewise.
41777 (grub_vbe_set_scanline_length): Likewise.
41778 (grub_vbe_get_scanline_length): Likewise.
41779 (grub_vbe_set_display_start): Likewise.
41780 (grub_vbe_get_display_start): Likewise.
41781 (grub_vbe_set_palette_data): Likewise.
41782 * include/grub/i386/pc/vbe.h: New file.
41783
c46153d2 417842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41785
41786 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41787 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41788 * DISTLIST: Likewise.
41789 * kern/ieee1275/of.c: Moved to ...
41790 * kern/ieee1275/ieee1275.c: ... here.
41791
0cb90c45 417922005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41793
41794 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41795 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41796 Pass 0 as `end' parameter to grub_strtoul().
41797
a19fb360 417982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41799
41800 * include/grub/powerpc/ieee1275/console.h: Do not include
41801 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41802 ifdef.
41803 (grub_console_cur_color): Remove i386-specific prototype.
41804 (grub_console_real_putchar): Likewise.
41805 (grub_console_checkkey): Likewise.
41806 (grub_console_getkey): Likewise.
41807 (grub_console_getxy): Likewise.
41808 (grub_console_gotoxy): Likewise.
41809 (grub_console_cls): Likewise.
41810 (grub_console_setcursor): Likewise.
41811 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41812 Include <grub/machine/console.h>.
41813 * term/ieee1275/ofconsole.c: Likewise.
41814
4ac9bd04 418152005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41816
41817 * Makefile.in (LIBLZO): New variable.
41818
41819 * configure.ac: Check for LZO version 2.
41820
41821 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41822 lzo/lzo1x.h instead of lzo1x.h.
41823
41824 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41825 of -llzo.
41826
41827 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41828 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41829
41830 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41831 copying the data from PARTITION to P.
41832
f4917dfd 418332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41834
41835 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41836 negative, unload the module.
41837
41838 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41839 map is "pc_partition_map" but not "pc".
41840 (usage): Fix the description. The options are --boot-image and
41841 --core-image but not --boot-file or --core-file.
41842 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41843 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41844 DEFAULT_DIRECTORY.
41845
41846 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41847 --core-file. Specify INSTALL_DEVICE as an argument.
41848
41849 * util/console.c: Include config.h.
41850 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41851 [HAVE_NCURSES_H]: Include ncurses.h.
41852 [HAVE_CURSES_H]: Include curses.h.
41853 [!A_NORMAL] (A_NORMAL): Defined as zero.
41854 [!A_STANDOUT] (A_STANDOUT): Likewise.
41855
41856 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41857 -lncurses.
41858 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41859
41860 * configure.ac: Check for curses libraries and headers.
41861
41862 * Makefile.in (LIBCURSES): New variable.
41863
41864 * genmk.rb (Script::rule): Set the executable bits.
41865
41866 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41867 name of the PC partition map is "pc_partition_map" but not "pc".
41868
0e143073 418692005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41870
41871 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41872 (modules): Likewise.
41873 (usage): Added descriptions for --modules and --grub-probefs.
41874 Handle --modules and --grub-probefs. Save the arguments in MODULES
41875 and GRUB_PROBEFS, respectively.
41876 Auto-detect a filesystem module against GRUBDIR. If the result is
41877 empty and modules are not specified explicitly, abort the
41878 installation. Add the result to MODULES.
41879
41880 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41881 disk/powerpc/ieee1275/ofdisk.c,
41882 include/grub/powerpc/ieee1275/init.h and
41883 term/powerpc/ieee1275/ofconsole.c.
41884 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41885 term/ieee1275/ofconsole.c.
41886
41887 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41888
41889 * COPYING: Upgraded to the latest version. Only the address of the
41890 FSF office has changed.
f19dbdb7 41891
efd6e6d5 418922005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41893
41894 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41895 kern/ieee1275.c with kern/ieee1275/of.c.
41896
41897 * kern/ieee1275.c: Moved to ...
41898 * kern/ieee1275/of.c: ... here.
41899
8ceafda2 419002005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41901
41902 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41903 readability.
8ceafda2 41904
41905 * config.guess: Updated to the latest version from gnulib.
41906 * config.sub: Likewise.
41907 * install.sh: Likewise.
41908 * mkinstalldirs: Likewise.
41909
41910 * include/grub/console.h: Removed. This file is arch-specific. Do
41911 not put this in include/grub.
41912
41913 * include/grub/i386/pc/console.h: Resurrected.
41914
41915 * util/console.c: Include grub/machine/console.h instead of
41916 grub/console.h.
41917 * util/grub-emu.c: Likewise.
41918
267f6cd9 419192005-08-04 Marco Gerards <metgerards@student.han.nl>
41920
41921 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41922 hardcoded value.
f19dbdb7 41923
267f6cd9 41924 From Vincent Pelletier <subdino2004@yahoo.fr>
41925 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41926 Redefined to use grub_getwh.
41927 (grub_term): New member named getwh.
41928 (grub_getwh): New prototype.
41929 * kern/term.c (grub_getwh): New function.
41930 * term/i386/pc/console.c (grub_console_getwh): New function.
41931 (grub_console_term): New member `getwh'.
41932 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41933 (grub_vga_term): New member `getwh'.
0b5abe02 41934 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41935 grub_ssize_t.
41936 (grub_ofconsole_getw): New function.
41937 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41938 (grub_ofconsole_term): New field named getwh and new initial
41939 value.
41940
3be7266d 419412005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41942
41943 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41944 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41945 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41946 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41947 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41948 of <grub/machine/ieee1275.h>.
41949 * commands/ieee1275/reboot.c: Likewise.
41950 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41951 * kern/ieee1275.c: ... to here. All users updated. Change all
41952 parameter structs to use new type `grub_ieee1275_cell_t'.
41953 * term/powerpc/ieee1275/ofconsole.c: Move ...
41954 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41955 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41956 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41957 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41958 to return int.
41959 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41960 Remove unused prototypes. All users updated.
41961 * include/grub/powerpc/ieee1275/console.h: Removed.
41962 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41963 `grub_ieee1275_cell_t'.
41964 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41965 Cast comparisons with -1 to the correct type.
41966 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41967 type to match `grub_ieee1275_entry_fn'.
41968
8b5f3938 419692005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41970
41971 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41972
41973 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41974 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41975 partmap/sun.c.
41976 (grub_probefs_SOURCES): New variable.
41977
41978 * util/i386/pc/grub-probefs.c: New file.
41979
41980 * util/i386/pc/grub-setup.c (main): Call
41981 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41982 grub_hfs_init and grub_jfs_init to initialize the system. Call
41983 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41984 grub_pc_partition_map_fini to finish the system.
41985
ea409713 419862005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41987
41988 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41989 function.
41990 (grub_multiboot_load_elf32): Likewise.
41991 (grub_multiboot_is_elf64): Likewise.
41992 (grub_multiboot_load_elf64): Likewise.
41993 (grub_multiboot_load_elf): Likewise.
41994 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41995 an ELF32 or ELF64 file.
41996 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41997
41998 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41999 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42000 NULL before calling FS->LABEL.
42001 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42002 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42003 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42004 before calling FS->LABEL.
42005
141a288b 420062005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42007
42008 * util/i386/pc/grub-install.in (datadir): New variable.
42009 (libdir): Removed.
42010 (pkgdatadir): New variable.
42011 (pkglibdir): Removed.
42012
0d5f8a54 420132005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42014
42015 * DISTLIST: Added util/i386/pc/grub-install.in.
42016
42017 * util/i386/pc/grub-install.in: New file.
42018
42019 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42020 (grub_install_SOURCES): Likewise.
42021
42022 * genmk.rb: Added support for scripts.
42023 (Script): New class.
42024 (scripts): New variable.
42025
42026 * Makefile.in (install-local): Install sbin_SCRIPTS by
42027 INSTALL_SCRIPT.
42028 (uninstall): Remove sbin_SCRIPTS.
42029
42030 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42031 device, try to get a GRUB device by
42032 grub_util_biosdisk_get_grub_dev.
42033 Free DEST_DEV.
42034
42035 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42036 description for --device-map.
42037
5f968e1e 420382005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42039
42040 Change the semantics of variable hooks. They now return strings
42041 instead of error values.
f19dbdb7 42042
5f968e1e 42043 * util/i386/pc/grub-setup.c: Include grub/env.h.
42044 (setup): Use grub_device_set_root instead of grub_env_set.
42045
42046 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42047 grub_env_get instead of grub_device_set_root and
42048 grub_device_get_root, respectively.
42049
42050 * kern/main.c (grub_env_write_root): New function.
42051 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42052 grub_env_set instead of grub_device_set_root.
42053
42054 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42055 many variables.
42056 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42057 rather than calling ENV->WRITE_HOOK afterwards.
42058 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42059 passing a pointer of a pointer.
42060 (grub_register_variable_hook): Change the types of "read_hook" and
42061 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42062 respectively.
42063 Allocate the default empty string on the heap, because this string
42064 may be freed later.
42065
42066 * kern/device.c: Include grub/env.h.
42067 (grub_device_set_root): Removed.
42068 (grub_device_get_root): Likewise.
42069 (grub_device_open): Use grub_env_get instead of
42070 grub_device_get_root.
42071
42072 * include/grub/env.h (grub_env_read_hook_t): New type.
42073 (grub_env_write_hook_t): Likewise.
42074 (grub_env_var): Change the types of "read_hook" and "write_hook"
42075 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42076 (grub_register_variable_hook): Likewise.
42077
42078 * include/grub/device.h (grub_device_set_root): Removed.
42079 (grub_device_set_root): Likewise.
42080
42081 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42082 make sure that DIRNAME terminates with '/', so that
42083 grub_fat_find_dir will fail if PATH is not a directory.
42084
42085 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42086 from DIRNAME.
42087 Use the qualifier auto for print_files and print_files_long.
42088 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42089 as a regular file.
42090 Put a newline only if there is no error.
42091 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42092 used.
42093
896f0afd 420942005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42095
42096 * kern/partition.c (grub_partition_probe): Initialize PART to
42097 NULL. Otherwise, when no partition map is registered, this returns
42098 a garbage.
42099
b28b81b2 421002005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42101
42102 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42103 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42104 valid.
42105
5f3607e0 421062005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42107
42108 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42109 information on each device, if it does not have partitions. Print
42110 "Device" instead of "Disk", because this function is not specific
42111 to disk devices.
42112
42113 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42114 static to ensure that it is put on the memory rather than a
42115 register.
42116
502c87e8 421172005-07-17 Yoshinori Okuji <okuji@enbug.org>
42118
42119 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42120 (grub_cat_init): Likewise.
42121 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42122 (options): Likewise.
42123 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42124 (grub_configfile_init): Likewise.
42125 * font/manager.c (GRUB_MOD_INIT): Likewise.
42126 * commands/help.c (GRUB_MOD_INIT): Likewise.
42127 (grub_help_init): Likewise.
42128 * normal/command.c (grub_command_init): Likewise.
42129 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42130 * disk/loopback.c (grub_loop_init): Likewise.
42131 (GRUB_MOD_INIT): Likewise.
42132 * commands/ls.c (grub_ls_init): Likewise.
42133 (GRUB_MOD_INIT): Likewise.
42134 (options): Likewise.
42135 * commands/boot.c (grub_boot_init): Likewise.
42136 (GRUB_MOD_INIT): Likewise.
42137 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42138 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42139 (GRUB_MOD_INIT): Likewise.
42140 * commands/cmp.c (grub_cmp_init): Likewise.
42141 (GRUB_MOD_INIT): Likewise.
42142
42143 * normal/arg.c: Use <> instead of "" to include header files.
42144 (SHORT_ARG_HELP): New macro.
42145 (SHORT_ARG_USAGE): Likewise.
42146 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42147 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42148 descriptions.
42149 (find_short): Check if C is 'h' or 'u' explicitly.
42150 (grub_arg_show_help): Use space characters instead of tabs. Treat
42151 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42152 are shown with --help and --usage only if they are not used for
42153 the command itself.
42154 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42155 'h' and 'u'.
42156
42157 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42158 const into "longarg". Change the type of "shortarg" to int.
42159
f806d18e 421602005-07-17 Yoshinori Okuji <okuji@enbug.org>
42161
42162 * boot/i386/pc/boot.S (boot_drive_check): New label.
42163
42164 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42165 macro.
42166
42167 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42168 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42169
e293232b 421702005-07-17 Yoshinori Okuji <okuji@enbug.org>
42171
42172 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42173 When turning off Gate A20, skip the check and return immediately,
42174 because this is not fatal usually.
42175
ebedfd00 421762005-07-17 Yoshinori Okuji <okuji@enbug.org>
42177
42178 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42179 be 0x7C00 instead of 0x8000.
42180
42181 * boot/i386/pc/pxeboot.S: Rewritten.
42182
42183 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42184 EXT_C.
42185 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42186 result.
42187
654fc59f 421882005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42189
42190 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42191 robustness. This routine now supports a BIOS call and System
42192 Control Port A to modify the gate A20.
42193
42194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42195 Increased to 0x440.
42196
09f9923f 421972005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42198
42199 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42200 device path and resulting ihandle.
42201 (grub_ofdisk_close): dprintf the ihandle being closed.
42202 (grub_ofdisk_read): dprintf function parameters.
42203 * kern/mm.c (grub_mm_init_region): Likewise.
42204 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42205 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42206 size, and boot arguments.
42207 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42208 before loading into memory.
42209 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42210 before loading into memory.
42211
7ef504d8 422122005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42213
42214 * kern/mm.c: Added much documentation.
42215 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42216 8, set to 5 instead of 8.
42217
e0f050c2 422182005-07-10 Yoshinori Okuji <okuji@enbug.org>
42219
42220 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42221
42222 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42223 (grub_mkdevicemap_SOURCES): New variable.
42224
42225 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42226 lib/device.c of GRUB Legacy.
42227
7224189a 422282005-07-10 Yoshinori Okuji <okuji@enbug.org>
42229
42230 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42231 instead of PATH is NULL.
42232
68c864eb 422332005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42234
42235 * commands/cmp.c (BUFFER_SIZE): New macro.
42236 (grub_cmd_cmp): Close the right file at the right time. Compare
42237 only data just read. Don't report files of different size as
42238 identical. Dynamically allocate buffers. Move variable
42239 declarations at the beginning of function.
42240
e6f3e614 422412005-07-09 Yoshinori Okuji <okuji@enbug.org>
42242
42243 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42244 reverse.
42245
f8f1559a 422462004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42247
42248 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42249 when backspace is pressed at beginning of line.
42250
39c9d41d 422512005-07-03 Yoshinori Okuji <okuji@enbug.org>
42252
42253 * DISTLIST: Added genfslist.sh.
42254
42255 * normal/main.c (fs_module_list): New variable.
42256 (autoload_fs_module): New function.
42257 (read_fs_list): Likewise.
42258 (grub_normal_execute): Call read_fs_list.
42259
42260 * kern/fs.c (grub_fs_autoload_hook): New variable.
42261 (grub_fs_probe): Added support for auto-loading.
42262
42263 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42264 (grub_fs_module_list_t): New type.
42265
42266 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42267 (grub_fs_autoload_hook): New prototype.
42268
42269 * genfslist.sh: New file.
f19dbdb7 42270
39c9d41d 42271 * genmk.rb: Added a rule to generate a filesystem list.
42272
121c1d83 422732005-06-30 Marco Gerards <metgerards@student.han.nl>
42274
42275 * configure.ac: Fix the test for cross-compiling.
42276
42277 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42278 define GRUB_UTIL anymore.
42279
42280 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42281 so this function works on other systems than just big endian.
42282 (load_modules): Likewise.
42283 (add_segments): Likewise.
42284
e75d76e1 422852005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42286
42287 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42288 contains `l' modifier, get a long from va_arg().
42289
50b5a0a7 422902005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42291
42292 * kern/mm.c (grub_free): If the next free block which is being
42293 merged is the first free block, set the first block to the block
42294 being freed.
42295 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42296
89371b20 422972005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42298
42299 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42300 `grub_ieee1275_chosen'.
42301
168d6e58 423022005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42303
42304 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42305 (grub_ieee1275_chosen): New variable.
42306 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42307 `chosen'.
42308 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42309 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42310 Rename first argument to `phandle' for consistency.
42311 (grub_ieee1275_get_property_length): Likewise.
42312 (grub_ieee1275_next_property): Likewise. Change type of first argument
42313 to grub_ieee1275_phandle_t.
42314 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42315 Move export next to declaration.
42316 (grub_ieee1275_chosen): New variable.
42317 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42318 Correct cosmetic typo.
42319 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42320 `grub_ieee1275_chosen'.
42321 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42322 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42323 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42324 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42325 `grub_ieee1275_chosen'.
42326
ca5baa3f 423272005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42328
42329 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42330 /chosen/bootargs.
42331 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42332 /chosen/bootargs as "variable=value" pairs.
42333
708b345f 423342005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42335
42336 * include/grub/misc.h (grub_dprintf): New macro.
42337 (grub_real_dprintf): New prototype.
42338 (grub_strword): Likewise.
42339 (grub_iswordseparator): Likewise.
42340 * kern/misc.c (grub_real_dprintf): New function.
42341 (grub_strword): Likewise.
42342 (grub_iswordseparator): Likewise.
42343
f4c5e67c 423442005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42345
42346 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42347 (roundup): Remove macro.
42348 (grub_ieee1275_flags): Make static.
42349 (grub_ieee1275_realmode): Remove.
42350 (grub_ieee1275_test_flag): New function.
42351 (grub_ieee1275_set_flag): Likewise.
42352 (find_options): Rename to `grub_ieee1275_find_options'; update
42353 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42354 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42355 (cmain): New prototype.
42356 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42357 `grub_ieee1275_flags' directly.
42358 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42359 machine/biosdisk.h.
42360 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42361 Don't include grub/machine/init.h.
42362 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42363 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42364 Remove prototype.
42365 (grub_ieee1275_realmode): Likewise.
42366 (grub_ieee1275_flag): New enum.
42367 (grub_ieee1275_test_flag): New prototype.
42368 (grub_ieee1275_set_flag): New prototype.
42369 * include/grub/powerpc/ieee1275/init.h: Remove file.
42370 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42371 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42372 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42373 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42374 comment.
42375 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42376 `grub_ieee1275_test_flag'.
42377 (grub_ieee1275_encode_devname): Likewise.
42378
ed16607e 423792005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42380
42381 * include/grub/powerpc/ieee1275/ieee1275.h
42382 (grub_ieee1275_encode_devname): New prototype.
42383 (grub_ieee1275_get_filename): Likewise.
42384 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42385 function.
42386 (grub_set_prefix): Likewise.
42387 (grub_machine_init): Call grub_set_prefix.
42388 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42389 (grub_parse_type): New enum.
42390 (grub_ieee1275_get_devargs): New function.
42391 (grub_ieee1275_get_devname): Likewise.
42392 (grub_ieee1275_parse_args): Likewise.
42393 (grub_ieee1275_get_filename): Likewise.
42394 (grub_ieee1275_encode_devname): Likewise.
42395
be369920 423962005-03-30 Marco Gerards <metgerards@student.han.nl>
42397
42398 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42399 `grub_loader_unset'.
42400
a5ce3a4a 424012005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42402
42403 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42404 instead of grub_ieee1275_interpret.
42405 (grub_halt_init): New function.
42406 (grub_halt_fini): Likewise.
42407 (GRUB_MOD_INIT): Correct message grammar.
42408 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42409 instead of grub_ieee1275_interpret.
42410 (grub_reboot_init): New function.
42411 (grub_reboot_fini): Likewise.
42412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42413 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42414 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42415 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42416 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42417 function.
42418 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42419 Add prototype.
42420 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42421 prototype.
42422 (grub_halt): Likewise.
42423 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42424 (cmain): Remove __attribute__((unused)).
42425 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42426 (grub_heap_len): Likewise.
42427 (grub_machine_fini): New function.
42428 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42429 (grub_halt): Likewise.
42430 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42431 function.
42432 * util/powerpc/ieee1275/misc.c: New file.
42433
0058f771 424342005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42435
42436 * DISTLIST: New file.
42437 * gendistlist.sh: Likewise.
f19dbdb7 42438
0058f771 42439 * Makefile.in (COMMON_DISTFILES): Removed.
42440 (BOOT_DISTFILES): Likewise.
42441 (CONF_DISTFILES): Likewise.
42442 (DISK_DISTFILES): Likewise.
42443 (FS_DISTFILES): Likewise.
42444 (INCLUDE_DISTFILES): Likewise.
42445 (KERN_DISTFILES): Likewise.
42446 (LOADER_DISTFILES): Likewise.
42447 (TERM_DISTFILES): Likewise.
42448 (UTIL_DISTFILES): Likewise.
42449 (DISTFILES): Likewise.
42450 (uninstall): Uninstall files in $(pkgdata_DATA).
42451 (DISTLIST): New target.
42452 (distdir): Use the contents of the file DISTLIST to get a list of
42453 distributed files.
42454
46b3b8a5 424552005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42456
42457 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42458 descriptor. This is ported from GRUB Legacy.
42459
42460 * gencmdlist.sh: Added an extra semicolon to make it work with
42461 old sed versions. Reported by Robert Bihlmeyer
42462 <robbe@orcus.priv.at>.
42463
5822ff87 424642005-03-08 Yoshinori Okuji <okuji@enbug.org>
42465
42466 Automatic loading of commands is supported.
f19dbdb7 42467
5822ff87 42468 * normal/main.c (read_command_list): New function.
42469 (grub_normal_execute): Call read_command_list.
42470
42471 * normal/command.c (grub_register_command): Return zero or CMD.
42472 Allocate CMD->NAME from the heap.
42473 Initialize CMD->MODULE_NAME to zero.
42474 Find the same name as well. If the same command is found and it is
42475 a dummy command, overwrite members. If it is not a dummy command,
42476 return zero.
42477 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42478 (grub_command_find): If a dummy command is found, load a module
42479 and retry to find a command only once.
42480
42481 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42482 make sure that each command is loaded.
42483
42484 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42485 macro.
42486 (struct grub_command): Remove const from the member `name'.
42487 Add a new member `module_name'.
42488 (grub_register_command): Return grub_command_t.
42489
42490 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42491 sure that each command is loaded.
42492
42493 * genmk.rb (PModule::rule): Specify a module name without the
42494 suffix ".mod" to gencmdlist.sh.
42495
7b1f4b57 424962005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42497
42498 * gencmdlist.sh: New file.
f19dbdb7 42499
7b1f4b57 42500 * genmk.rb (PModule::rule): Generate a rule for a command list.
42501 Clean command.lst.
42502 Generate command.lst from $(COMMANDFILES).
42503
42504 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42505 (DATA): Added $(pkgdata_DATA).
42506 (install-local): Install files in $(pkgdata_DATA).
42507
062aaf39 425082005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42509
42510 * term/i386/pc/vga.c (debug_command): Removed.
42511 (GRUB_MOD_INIT): Do not register the command "debug".
42512
42513 From Hollis Blanchard:
42514 * commands/configfile.c: New file.
42515 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42516 commands/configfile.c.
42517 (pkgdata_MODULES): Added configfile.mod.
42518 (configfile_mod_SOURCES): New variable.
42519 (configfile_mod_CFLAGS): Likewise.
42520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42521 commands/configfile.c.
42522 (pkgdata_MODULES): Added configfile.mod.
42523 (configfile_mod_SOURCES): New variable.
42524 (configfile_mod_CFLAGS): Likewise.
42525 * util/grub-emu.c (main): Call grub_configfile_init and
42526 grub_configfile_fini.
42527 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42528 prototype.
42529 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42530
cee01aa6 425312005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42532
42533 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42534 address.
42535
42536 * commands/help.c (grub_cmd_help): Do not print newlines after
42537 the last command in print_command_help.
42538
93f3a1d8 425392005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42540
42541 * commands/default.h: New file.
42542 * commands/timeout.h: Likewise.
42543 * normal/context.c: Likewise.
f19dbdb7 42544
93f3a1d8 42545 * util/misc.c: Do not include sys/times.h.
42546 Include sys/time.h and grub/machine/time.h.
42547 (grub_get_rtc): Rewritten with gettimeofday.
42548
42549 * util/grub-emu.c (main): Call grub_default_init and
42550 grub_timeout_init before grub_normal_init, and call
42551 grub_timeout_fini and grub_default_fini after grub_main.
42552
42553 * util/console.c (grub_ncurses_checkkey): Return the read
42554 character or -1.
42555
42556 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42557 timeouts.
42558
42559 * normal/main.c (read_config_file): Push MENU. If this fails,
42560 print an error and wait for a user input.
42561 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42562 If a menu is empty or an error occurs, pop MENU.
42563 (grub_normal_execute): Pop and free MENU after grub_menu_run
42564 returns.
42565
42566 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42567
42568 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42569 include time.h.
42570 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42571 without GRUB_UTIL.
42572 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42573 time.h.
42574 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42575 without GRUB_UTIL.
42576
42577 * include/grub/normal.h (struct grub_menu_list): New struct.
42578 (grub_menu_list_t): New type.
42579 (struct grub_context): New struct.
42580 (grub_context_t): New type.
42581 (grub_register_command): Got rid of EXPORT_FUNC.
42582 (grub_unregister_command): Likewise.
42583 (grub_context_get): New prototype.
42584 (grub_context_get_current_menu): Likewise.
42585 (grub_context_push_menu): Likewise.
42586 (grub_context_pop_menu): Likewise.
42587 [GRUB_UTIL] (grub_default_init): Likewise.
42588 [GRUB_UTIL] (grub_default_fini): Likewise.
42589 [GRUB_UTIL] (grub_timeout_init): Likewise.
42590 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42591
42592 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42593 commands/timeout.c and normal/context.c.
42594 (pkgdata_MODULES): Added default.mod and timeout.mod.
42595 (normal_mod_SOURCES): Added normal/context.c.
42596 (default_mod_SOURCES): New variable.
42597 (default_mod_CFLAGS): Likewise.
42598 (timeout_mod_SOURCES): Likewise.
42599 (timeout_mod_CFLAGS): Likewise.
42600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42601 conf/i386-pc.rmk.
42602 (pkgdata_MODULES): Added default.mod and timeout.mod.
42603 (normal_mod_SOURCES): Added normal/context.c.
42604 (default_mod_SOURCES): New variable.
42605 (default_mod_CFLAGS): Likewise.
42606 (timeout_mod_SOURCES): Likewise.
42607 (timeout_mod_CFLAGS): Likewise.
42608
42609 * Makefile.in (all-local): Added $(MKFILES).
42610
4ed2e1dd 426112005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42612
42613 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42614 (grub_emu_SOURCES): Likewise.
42615 (pkgdata_MODULES): Add `sun.mod'.
42616 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42618 `partmap/sun.c'.
42619 (pkgdata_MODULES): Add `sun.mod'.
42620 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42621 * include/grub/partition.h (grub_sun_partition_map_init): New
42622 prototype.
42623 (grub_sun_partition_map_fini): Likewise.
42624 * partmap/sun.c: New file.
42625 * util/grub-emu.c (main): Initialize and de-initialize the sun
42626 partitionmap support.
42627
4d4e372e 426282005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42629
42630 This implements an Emacs-like menu entry editor.
f19dbdb7 42631
4d4e372e 42632 * normal/menu_entry.c: New file.
f19dbdb7 42633
4d4e372e 42634 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42635 characters to ASCII.
42636 (saved_char): New variable.
42637 (grub_ncurses_checkkey): Rewritten completely.
42638 (grub_ncurses_getkey): Likewise.
42639 (grub_ncurses_init): Call raw instead of cbreak.
42640
42641 * normal/menu.c (print_entry): Do not put a space.
42642 (init_page): Renamed to ...
42643 (grub_menu_init_page): ... this. All callers changed.
42644 (edit_menu_entry): Removed.
42645 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42646
42647 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42648
42649 * kern/misc.c (grub_vprintf): Call grub_refresh.
42650
42651 * normal/menu.c (DISP_LEFT): Renamed to ...
42652 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42653 * normal/menu.c (DISP_UP): Renamed to ...
42654 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42655 * normal/menu.c (DISP_RIGHT): Renamed to ...
42656 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42657 * normal/menu.c (DISP_DOWN): Renamed to ...
42658 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42659 * normal/menu.c (DISP_HLINE): Renamed to ...
42660 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42661 * normal/menu.c (DISP_VLINE): Renamed to ...
42662 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42663 * normal/menu.c (DISP_UL): Renamed to ...
42664 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42665 * normal/menu.c (DISP_UR): Renamed to ...
42666 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42667 * normal/menu.c (DISP_LL): Renamed to ...
42668 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42669 * normal/menu.c (DISP_LR): Renamed to ...
42670 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42671 * normal/menu.c (TERM_WIDTH): Renamed to ...
42672 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42673 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42674 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42675 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42676 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42677 * normal/menu.c (TERM_MARGIN): Renamed to ...
42678 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42679 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42680 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42681 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42682 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42683 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42684 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42685 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42686 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42687 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42688 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42689 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42690 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42691 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42692 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42693 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42694 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42695 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42696 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42697 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42698 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42699 All callers changed.
42700
42701 * include/grub/normal.h: New prototype.
42702
42703 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42704 normal/menu_entry.c.
42705 (normal_mod_SOURCES): Likewise.
42706 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42707 (normal_mod_SOURCES): Likewise.
42708
e6b92c8a 427092005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42710
42711 * include/grub/normal.h (grub_halt_init): New prototype.
42712 (grub_halt_fini): Likewise.
42713 (grub_reboot_init): Likewise.
42714 (grub_reboot_fini): Likewise.
42715
42716 * util/grub-emu.c: Include signal.h.
42717 (main_env): New global variable.
42718 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42719 catch C-c.
42720 (grub_machine_fini): New function.
42721 (main): Call grub_halt_init and grub_reboot_init before
42722 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42723 Call setjmp with MAIN_ENV to go back afterwards.
42724 Call grub_machine_fini right before return.
42725
42726 * include/grub/util/misc.h: Include setjmp.h.
42727 (main_env): New prototype.
42728
42729 * include/grub/kernel.h (grub_machine_fini): New prototype.
42730 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42731 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42732
42733 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42734 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42735 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42736
e6b92c8a 42737 * util/i386/pc/misc.c: New file.
f19dbdb7 42738
e6b92c8a 42739 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42740 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42741 commands/i386/pc/reboot.c.
42742
c642636f 427432005-02-14 Guillem Jover <guillem@hadrons.org>
42744
42745 * include/grub/dl.h (grub_dl_check_header): New prototype.
42746 (grub_arch_dl_check_header): Change return type to grub_err_t,
42747 remove size parameter and export function. Update all callers.
42748 * kern/dl.c (grub_dl_check_header): New function.
42749 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42750 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42751 are inside the core.
42752 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42753 independent ELF header checks.
42754 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42755 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42756 `grub_dl_check_header' instead of explicit checks. Check for the
42757 ELF type.
42758 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42759 `grub_dl_check_header' instead of explicit checks. Remove arch
42760 specific ELF header checks.
42761
e6b92c8a 42762 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42763 argument SIZE.
42764
5eabe94b 427652005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42766
42767 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42768 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42769
1b14a681 427702005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42771
42772 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42773 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42774 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42775 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42776 * partmap/amiga.c (amiga_partition_map_iterate): Return
42777 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42778 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42779
aca108aa 427802005-02-01 Guillem Jover <guillem@hadrons.org>
42781
42782 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42783 help info.
42784
c9f9c556 427852005-01-31 Marco Gerards <metgerards@student.han.nl>
42786
42787 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42788 Removed prototype.
42789 (grub_rescue_cmd_linux): New prototype.
42790 (grub_rescue_cmd_initrd): Likewise.
42791 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42792 `bi_rec'.
42793 (grub_linux_release_mem): Release the memory for the initrd.
42794 (grub_load_linux): Renamed from this...
42795 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42796 Changed `entry' not to be static. Loop over memory regions to
42797 find another one when the default fails.
42798 (grub_rescue_cmd_initrd): New function.
42799 (grub_linux_init): Remove function.
42800 (grub_linux_fini): Likewise.
42801 (GRUB_MOD_INIT): Register `initrd'.
42802 (GRUB_MOD_FINI): Unregister `initrd'.
42803 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42804 Function removed.
42805 (grub_linux_normal_fini): Likewise.
42806 (GRUB_MOD_INIT): Register `initrd'.
42807 (GRUB_MOD_FINI): Unregister `initrd'.
42808
990cf3aa 428092005-01-31 Marco Gerards <metgerards@student.han.nl>
42810
42811 * commands/help.c: New file.
42812 * normal/arg.c (show_help): Renamed to...
42813 (grub_arg_show_help): ... this.
42814 * commands/i386/pc/halt.c: New file.
42815 * commands/i386/pc/reboot.c: Likewise.
42816 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42817 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42818 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42819 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42820 variables.
42821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42822 `commands/help.c'.
42823 (pkgdata_MODULES): Add `help.mod'.
42824 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42825 * grub/i386/pc/init.h (grub_reboot): New prototype.
42826 (grub_halt): Likewise.
42827 * include/grub/normal.h (grub_arg_show_help): New prototype.
42828 (grub_help_init): Likewise.
42829 (grub_help_fini): Likewise.
42830 * util/grub-emu.c (main): Initialize and deinitialize the help
42831 command.
42832
42833 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42834
42835 * normal/command.c (grub_command_init): Fixed the description of
42836 the `set' and `unset' commands.
42837
428382005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42839
42840 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42841 function.
42842 * commands/ieee1275/halt.c: New file.
42843 * commands/ieee1275/reboot.c: Likewise.
42844 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42845 `__attribute__ ((unused))'. Some GCS related fixed.
42846 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42847 (grub_suspend_fini): Likewise.
42848 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42849 and `halt.mod'.
42850 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42851 (halt_mod_CFLAGS): New variables.
42852 * include/grub/powerpc/ieee1275/ieee1275.h
42853 (grub_ieee1275_interpret): New prototype.
42854
1ab09cc7 428552005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42856
42857 * include/grub/misc.h (memmove): New prototype.
42858 (memcpy): Likewise.
42859
8b8cbdb2 428602005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42861
42862 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42863 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42864
e3741a27 428652005-01-22 Marco Gerards <metgerards@student.han.nl>
42866
42867 * kern/misc.c (grub_strndup): Function rewritten.
42868
776bd780 428692005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42870
42871 * normal/menu.c (TERM_WIDTH): Macro redefined.
42872 (TERM_TOP_BORDER_Y): Likewise.
42873 (draw_border): Replaced while-loop by a for-loop. Make the number
42874 of lines consistent with the number of lines displayed in
42875 print_entries. Added a margin below the rectangle.
42876 (print_entry): Make the entry fit in the rectangle.
42877 (print_entries): Display the scroll arrows next to the right
42878 border.
42879
78026bce 428802005-01-21 Marco Gerards <metgerards@student.han.nl>
42881
42882 * fs/minix.c (grub_minix_find_file): Reserve more space for
42883 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42884 `grub_strncpy' to copy `path' into it.
42885
67bbaf0f 428862005-01-21 Marco Gerards <metgerards@student.han.nl>
42887
42888 Add the loopback device, a device via which files can be accessed
42889 as devices.
f19dbdb7 42890
67bbaf0f 42891 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42892 (pkgdata_MODULES): Add loopback.mod.
42893 (loopback_mod_SOURCES): New variable.
42894 (loopback_mod_CFLAGS): Likewise.
42895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42896 `disk/loopback.c'.
42897 (pkgdata_MODULES): Add loopback.mod.
42898 (loopback_mod_SOURCES): New variable.
42899 (loopback_mod_CFLAGS): Likewise.
42900 * disk/loopback.c: new file.
42901 * include/grub/normal.h (grub_loop_init): New prototype.
42902 (grub_loop_fini): New prototype.
42903 * util/grub-emu.c (main): Initialize and de-initialize loopback
42904 support.
42905 * include/grub/disk.h (grub_disk_dev_id): Add
42906 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42907
6f1c18bd 429082005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42909
42910 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42911 function.
42912 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42913 (suspend_mod_SOURCES): New variable.
42914 (suspend_mod_CFLAGS): Likewise.
42915 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42916 New prototype.
42917 * commands/ieee1275/suspend.c: New file.
42918
b38551da 429192005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42920
42921 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42922 ((unused))' to `__attribute__ ((used))'.
b38551da 42923 (GRUB_MOD_FINI): Likewise.
42924 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42925 * genmk.rb (PModule): Assign space to common symbols when linking
42926 modules.
42927
777aff39 429282005-01-20 Marco Gerards <metgerards@student.han.nl>
42929
42930 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42931 `unsigned' arguments to `grub_size_t'.
42932 (grub_malloc): Likewise.
42933 (grub_realloc): Likewise.
42934 (grub_memalign): Likewise.
42935 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42936 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42937 * util/misc.c (grub_malloc): Likewise.
42938 (grub_realloc): Likewise.
42939 * kern/mm.c (get_header_from_pointer): Change the casts to
42940 `unsigned' into a cast to `grub_size_t'.
42941
42942 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42943 point to `currnode' when `currnode' is changed.
42944
42945 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42946 Schottelius <nico-linux@schottelius.org>.
42947
d0ff18e1 429482005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42949
42950 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42951 (note_path): Remove variable.
42952 (GRUB_IEEE1275_NOTE_NAME): New macro.
42953 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42954 (grub_ieee1275_note_hdr): New structure.
42955 (grub_ieee1275_note_desc): Likewise.
42956 (grub_ieee1275_note): Likewise.
42957 (load_note): Remove `dir' argument. All callers updated. Remove
42958 `note_img' and `path'. Do not load a file from `note_path'.
42959 Initialize a struct grub_ieee1275_note and write that to `out'.
42960 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42961
4ca7004c 429622005-01-05 Marco Gerards <metgerards@student.han.nl>
42963
42964 * util/misc.c (grub_util_read_image): Revert last change. It
42965 called `grub_util_read_at', which seeks from the beginning of the
42966 file.
42967
0b412211 429682005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42969
42970 * TODO: Add note about endianness in grub-mkimage.
42971 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42972 section.
42973 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42974 (grub_mkimage_SOURCES): New target.
42975 * include/grub/kernel.h (grub_start_addr): Remove variable.
42976 (grub_end_addr): Likewise.
42977 (grub_total_module_size): Likewise.
42978 (grub_kernel_image_size): Likewise.
42979 (GRUB_MODULE_MAGIC): New constant.
42980 (grub_module_info): New structure.
42981 (grub_arch_modules_addr): New prototype.
42982 (grub_get_end_addr): Remove prototype.
42983 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42984 * include/grub/powerpc/ieee1275/kernel.h: New file.
42985 * include/grub/util/misc.h (grub_util_get_fp_size): New
42986 prototype.
42987 (grub_util_read_at): Likewise.
42988 (grub_util_write_image_at): Likewise.
42989 * kern/main.c (grub_get_end_addr): Remove function.
42990 (grub_load_modules): Call grub_arch_modules_addr instead of using
42991 grub_end_addr. Look for a grub_module_info struct in memory. Use
42992 the grub_module_info fields instead of calling grub_get_end_addr
42993 as loop conditions. Move grub_add_unused_region code here.
42994 (grub_add_unused_region): Remove function.
42995 * kern/i386/pc/init.c: Include grub/cache.h.
42996 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42997 one call to add_mem_region.
42998 (grub_arch_modules_addr): New function.
42999 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43000 (grub_total_module_size): Likewise.
43001 Include grub/machine/kernel.h.
43002 (grub_arch_modules_addr): New function.
43003 * util/grub-emu.c (grub_end_addr): Remove variable.
43004 (grub_total_module_size): Likewise.
43005 (grub_arch_modules_addr): New function.
43006 * util/misc.c: Include unistd.h.
43007 (grub_util_get_fp_size): New function.
43008 (grub_util_read_at): Likewise.
43009 (grub_util_write_image_at): Likewise.
43010 (grub_util_read_image): Call grub_util_read_at.
43011 (grub_util_write_image): Call grub_util_write_image_at.
43012 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43013 additional memory in kernel_img for a struct grub_module_info.
43014 Fill in that grub_module_info.
43015 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43016
458786f8 430172005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43018
43019 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43020 New function.
43021 * include/grub/powerpc/ieee1275/ieee1275.h
43022 (grub_ieee1275_milliseconds): New prototype.
43023 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43024 Change to 1000.
43025 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43026 grub_ieee1275_milliseconds.
43027
ac507d1b 430282005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43029
43030 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43031 variable.
43032 (find_options): New function.
43033 (cmain): Call find_options.
43034 * include/grub/powerpc/ieee1275/ieee1275.h
43035 (grub_ieee1275_realmode): New extern variable.
43036 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43037 grub_map if grub_ieee1275_realmode is false.
43038
6b8fd1c4 430392004-12-29 Marco Gerards <metgerards@student.han.nl>
43040
43041 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43042 lines are inserted and make it work like readline. Reported by
43043 Vincent Pelletier <subdino2004@yahoo.fr>.
43044
8514a1e0 430452004-12-28 Marco Gerards <metgerards@student.han.nl>
43046
43047 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43048
43049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43050 `kern/powerpc/cache.S'.
43051
924b6140 430522004-12-27 Marco Gerards <metgerards@student.han.nl>
43053
43054 * genmk.rb: Handle the `Program' class in the main loop. Written
43055 by Johan Rydberg <jrydberg@gnu.org>.
43056 (Program): New class.
43057 (programs): New variable.
43058 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43059 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43060 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43061 (help_arch): Function removed.
43062 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43063 `powerpc/libgcc.h' and `loader.h'.
43064 (pkgdata_PROGRAMS): New variable.
43065 (sbin_UTILITIES): Variable removed.
43066 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43067 (grubof_SOURCES): Variable re-defined so it only includes the
43068 core functionality.
43069 (grubof_CFLAGS): Remove `-DGRUBOF'.
43070 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43071 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43072 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43073 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43074 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43075 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43076 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43077 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43078 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43079 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43080 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43081 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43082 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43083 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43084 (pc_mod_CFLAGS): New variables.
43085 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43086 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43087 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43088 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43089 Moved from here...
43090 * include/grub/i386/pc/init.h (grub_os_area_addr)
43091 (rub_os_area_size): ... to here.
43092 * include/grub/powerpc/ieee1275/ieee1275.h
43093 (grub_ieee1275_entry_fn): Export symbol.
43094 * include/grub/powerpc/ieee1275/init.h: New file.
43095 * include/grub/powerpc/libgcc.h: Likewise.
43096 * include/grub/cache.h: Likewise.
43097 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43098 <hollis@penguinppc.org>.
43099 * kern/dl.c: Include <grub/cache.h>.
43100 (grub_dl_flush_cache): New function.
43101 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43102 for this module.
43103 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43104 (grub_console_init): Removed prototypes.
43105 (grub_machine_init): Don't initialize the modules anymore.
43106 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43107 static.
43108 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43109 Macro undef removed.
43110 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43111 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43112 relocation `R_PPC_REL32'. Return an error when the relocation is
43113 unknown.
43114 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43115 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43116 * util/misc.c (grub_arch_sync_caches): Likewise.
43117
e4b47e0c 431182004-12-19 Marco Gerards <metgerards@student.han.nl>
43119
43120 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43121 `symlist.c', add `grubof_symlist.c'.
43122 (symlist.c): Variable removed.
43123 (grubof_HEADERS): Variable added.
43124 (grubof_symlist.c): New target.
43125 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43126 `kernel_img_HEADERS'.
43127 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43128 * kern/powerpc/dl.c: New file.
43129 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43130 Function removed.
43131 (grub_arch_dl_relocate_symbols): Likewise.
43132 (grub_register_exported_symbols): Likewise.
43133
4ceb3636 431342004-12-13 Marco Gerards <metgerards@student.han.nl>
43135
43136 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43137 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43138 to fail instead. Reported by Vincent Pelletier
43139 <subdino2004@yahoo.fr>.
43140
43141 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43142 it is not allocated. Reported by Vincent Pelletier
43143 <subdino2004@yahoo.fr>.
43144
43145 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43146 output so the output looks better.
f19dbdb7 43147
3f1578fe 431482004-12-04 Marco Gerards <metgerards@student.han.nl>
43149
43150 Modulize the partition map support and add support for the amiga
43151 partition map.
f19dbdb7 43152
3f1578fe 43153 * commands/ls.c: Include <grub/partition.h> instead of
43154 <grub/machine/partition.h>.
43155 * kern/disk.c: Likewise.
43156 * kern/rescue.c: Likewise.
43157 * loader/i386/pc/chainloader.c: Likewise.
43158 * normal/cmdline.c: Likewise.
43159 * kern/powerpc/ieee1275/init.c: Likewise.
43160 (grub_machine_init): Call `grub_pc_partition_map_init',
43161 `grub_amiga_partition_map_init' and
43162 `grub_apple_partition_map_init'.
43163 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43164 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43165 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43166 `partition.h' and `pc_partition.h'.
43167 (grub_setup_SOURCES): Remove
43168 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43169 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43170 (grub_emu_SOURCES): Likewise.
43171 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43172 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43173 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43175 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43176 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43177 (grubof_SOURCES): Likewise.
43178 * disk/i386/pc/partition.c: File removed.
43179 * disk/powerpc/ieee1275/partition.c: Likewise.
43180 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43181 * include/grub/i386/pc/partition.h: Likewise.
43182 * kern/partition.c: New file.
43183 * partmap/amiga.c: Likewise.
43184 * partmap/apple.c: Likewise.
43185 * partmap/pc.c: Likewise.
43186 * include/grub/partition.h: Likewise..
43187 * include/grub/pc_partition.h: Likewise.
43188 * util/grub-emu.c: Include <grub/partition.h> instead of
43189 <grub/machine/partition.h>.
43190 (main): Call `grub_pc_partition_map_init',
43191 `grub_amiga_partition_map_init' and
43192 `grub_apple_partition_map_init' and deinitialize afterwards.
43193 * util/i386/pc/biosdisk.c: Include `#include
43194 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43195 `<grub/machine/partition.h>'.
43196 * util/i386/pc/grub-setup.c: Likewise.
43197 * util/i386/pc/biosdisk.c: Likewise.
43198 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43199 partition information in case of a PC partition.
43200 * util/i386/pc/grub-setup.c: Include `#include
43201 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43202 `<grub/machine/partition.h>'.
43203 (setup): Only access the PC specific partition information in case
43204 of a PC partition.
43205
0ef4ced9 432062004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43207
0ef4ced9 43208 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43209 (grub_longjmp): Likewise.
43210 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43211 20.
43212 * normal/powerpc/setjmp.S: New file.
43213 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43214 `normal/powerpc/setjmp.S'.
43215 (grubof_CFLAGS): Add `-DGRUBOF'.
43216 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43217 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43218
19950e29 432192004-11-16 Marco Gerards <metgerards@student.han.nl>
43220
43221 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43222 property named `name'. Correctly handle the error returned by
43223 `grub_ieee1275_finddevice' if a device can not be opened.
43224
a2fea427 432252004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43226
43227 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43228 `actual' for negativity.
43229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43230 kern/fshelp.c.
43231
41ea0ea3 432322004-11-01 Marco Gerards <metgerards@student.han.nl>
43233
43234 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43235 (PAGE_OFFSET): New macro.
43236 (CRTC_ADDR_PORT): Likewise.
43237 (CRTC_DATA_PORT): Likewise.
43238 (START_ADDR_HIGH_REGISTER): Likewise.
43239 (START_ADDR_LOW_REGISTER): Likewise.
43240 (GRAPHICS_ADDR_PORT): Likewise.
43241 (GRAPHICS_DATA_PORT): Likewise.
43242 (READ_MAP_REGISTER): Likewise.
43243 (INPUT_STATUS1_REGISTER): Likewise.
43244 (INPUT_STATUS1_VERTR_BIT): Likewise.
43245 (page): New variable.
43246 (wait_vretrace): New function.
43247 (set_read_map): Likewise.
43248 (set_start_address): Likewise.
43249 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43250 the right page.
43251 (check_vga_mem): Take the page into account.
43252 (write_char): Likewise.
43253 (write_cursor): Likewise.
43254 (scroll_up): Likewise. Copy the page to the page that is not
43255 shown and switch between both pages.
43256 (grub_vga_putchar): Fix off by one error.
43257 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43258 account.
43259
ad0bd20b 432602004-11-01 Marco Gerards <metgerards@student.han.nl>
43261
43262 Add support for iso9660 (including rockridge).
f19dbdb7 43263
ad0bd20b 43264 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43265 (iso9660_mod_SOURCES): New variable.
43266 (iso9660_mod_CFLAGS): Likewise.
43267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43268 * include/grub/fs.h (grub_iso9660_init): New prototype.
43269 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43270 * fs/iso9660.c: New file.
43271
43272 * include/grub/misc.h (grub_strncat): New prototype.
43273 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43274
ad0bd20b 43275 * fs/hfs.c (grub_hfs_mount): Translate the error
43276 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43277 * fs/jfs.c (grub_jfs_mount): Likewise.
43278 * fs/ufs.c (grub_ufs_mount): Likewise.
43279
a5477a59 432802004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43281
43282 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43283 which initialized BAT registers.
43284 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43285 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43286 Move from here...
43287 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43288 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43289 ... to here.
43290 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43291 (grub_mapclaim): Likewise.
43292 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43293 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43294 hand.
43295
9304c1f8 432962004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43297
43298 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43299 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43300 -ffreestanding and -msoft-float.
43301
86f4ae25 433022004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43303
43304 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43305 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43306 set in grub_ieee1275_flags.
43307
38912228 433082004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43309
43310 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43311 prototype.
43312 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43313 grub_console_init first.
43314 Change the memory range used for grub_ieee1275_claim and
43315 grub_mm_init_region.
43316 Print an error message if the claim fails.
43317 Include <grub/misc.h>.
43318
d1923dc8 433192004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43320
43321 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43322 Call grub_children_iterate for device nodes of type `scsi',
43323 `ide', or `ata'.
43324 (grub_ofdisk_open): Remove manual device alias resolution.
43325 Fix memory leak when device cannot be opened.
f19dbdb7 43326 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43327 (grub_children_iterate): New prototype.
43328 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43329 New function.
43330 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43331 Return -1 if args.size was -1.
43332
4512e4f3 433332004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43334
43335 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43336 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43337 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43338 Open Firmware's memory for it; claim memory from _start to _end.
43339 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43340 (_end): New extern.
43341 (_start): Zero BSS from __bss_start to _end.
43342 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43343 New extern.
43344 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43345
4d61feb0 433462004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43347
ad0bd20b 43348 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43349 -1 if args.base was -1.
4d61feb0 43350
026fa2f9 433512004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43352
43353 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43354 escape sequence instead of a literal ^L. Also call
43355 grub_ofconsole_gotoxy.
43356
9f2220ef 433572004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43358
43359 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43360 void * arguments to grub_addr_t. All callers updated. Also make
43361 the `result' argument optional.
43362 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43363 All callers updated.
43364
8a572cd7 433652004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43366
43367 * commands/ls.c (grub_ls_list_files): Use the string following the
43368 initial ')', if present, as the filesystem path.
43369 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43370
43371 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43372
18aa81f2 433732004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43374
43375 Make the source code of the menu interface more readable.
f19dbdb7 43376
18aa81f2 43377 * normal/menu.c: Include grub/mm.h.
43378 (TERM_WIDTH): New macro.
43379 (TERM_HEIGHT): Likewise.
43380 (TERM_INFO_HEIGHT): Likewise.
43381 (TERM_MARGIN): Likewise.
43382 (TERM_SCROLL_WIDTH): Likewise.
43383 (TERM_TOP_BORDER_Y): Likewise.
43384 (TERM_LEFT_BORDER_X): Likewise.
43385 (TERM_BORDER_WIDTH): Likewise.
43386 (TERM_MESSAGE_HEIGHT): Likewise.
43387 (TERM_BORDER_HEIGHT): Likewise.
43388 (TERM_NUM_ENTRIES): Likewise.
43389 (TERM_FIRST_ENTRY_Y): Likewise.
43390 (TERM_ENTRY_WIDTH): Likewise.
43391 (TERM_CURSOR_X): Likewise.
43392 (draw_border): Use macros instead of magic numbers.
43393 (print_entry): Likewise.
43394 (print_entries): Likewise.
43395 (run_menu): Likewise. Also, handle the key 'e'.
43396 (run_menu_entry): Ignore empty command lines.
43397 (print_message): Added a new argument EDIT. If EDIT is true,
43398 print a different message.
43399 (init_page): Likewise.
43400 (edit_menu_entry): New function. Not implemented yet.
43401
b47efe30 434022004-09-17 Marco Gerards <metgerards@student.han.nl>
43403
43404 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43405 can be loaded from normal mode.
f19dbdb7 43406
b47efe30 43407 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43408 `multiboot.mod'.
43409 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43410 (multiboot_mod_CFLAGS): New variables.
43411 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43412 * loader/i386/pc/multiboot_normal.c: Likewise.
43413
b47efe30 43414 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43415 attribute `unused'.
f19dbdb7 43416
b47efe30 43417 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43418 `fdiro' to read the mode information from instead of `diro'.
43419
43420 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43421 looking up a symlink.
43422
43423 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43424 macro.
43425 * normal/command.c (grub_command_execute): Don't parse the
43426 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43427 flags of the command.
43428
43429 * normal/menu.c (grub_menu_run): Fix typo.
43430
da75ac71 434312004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43432
43433 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43434
43435 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43436 `y + 1' instead of `y - 1'.
43437
43438 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43439
062b24c2 434402004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43441
43442 From Hollis Blanchard <hollis@penguinppc.org>:
43443 * kern/misc.c (memmove): New alias for grub_memmove.
43444 (memcmp): New alias for grub_memcmp.
43445 (memset): New alias for grub_memset.
f19dbdb7 43446 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43447 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43448 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43449 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43450
8ddad845 434512004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43452
43453 Added normal mode command `chainloader' as module chain.mod, which
43454 depends on normal.mod and _chain.mod.
f19dbdb7 43455
8ddad845 43456 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43457 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43458 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43459 Deleted prototype.
43460 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43461 but arguments parsing moved to ...
43462 (grub_chainloader_cmd): ... here. New function.
43463 * include/grub/i386/pc/chainloader.h: New file.
43464 * loader/i386/pc/chainloader_normal.c: Likewise.
43465
2c1f4ce3 434662004-09-11 Marco Gerards <metgerards@student.han.nl>
43467
43468 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43469 (grub_mkimage_LDFLAGS): Likewise.
43470 (grub_emu_SOURCES): Likewise.
43471 (kernel_img_HEADERS): Added fshelp.h.
43472 * fs/ext2.c: Include <grub/fshelp.h>.
43473 (FILETYPE_REG): New macro.
43474 (FILETYPE_INO_REG): Likewise.
43475 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43476 Changed all users.
43477 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43478 all users.
43479 (grub_fshelp_node): New struct.
43480 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43481 to a pointer.
43482 (grub_ext2_get_file_block): Removed function.
43483 (grub_ext2_read_block): New function.
43484 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43485 This function was written.
43486 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43487 (grub_ext2_find_file): Removed function.
43488 (grub_ext2_read_symlink): New function.
43489 (grub_ext2_iterate_dir): Likewise.
43490 (grub_ext2_open): Rewritten.
43491 (grub_ext2_dir): Rewritten.
43492 * include/grub/fshelp.h: New file.
43493 * fs/fshelp.c: Likewise.
43494
3c52136a 434952004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43496
43497 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43498 (print_message): Add a missing newline.
43499 (run_menu): Added timeout support.
43500 (run_menu_entry): New local function.
43501 (grub_menu_run): Added support for booting.
43502
43503 * kern/loader.c (grub_loader_is_loaded): New function.
43504
43505 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43506 (grub_get_rtc): Exported.
43507
43508 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43509 (grub_get_rtc): Exported.
43510
43511 * include/grub/normal.h (struct grub_command_list): Remove
43512 constant from the member `command'.
43513
43514 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43515
43516 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43517
43518 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43519
aa033560 435202004-08-28 Marco Gerards <metgerards@student.han.nl>
43521
43522 Add support for the JFS filesystem.
43523
43524 * fs/jfs.c: New file.
43525 * include/grub/fs.h (grub_jfs_init): New prototype.
43526 (grub_jfs_fini): New prototype.
43527 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43528 (grub_emu_SOURCES): Likewise.
43529 (pkgdata_MODULES): Add jfs.mod.
43530 (jfs_mod_SOURCES): New variable.
43531 (jfs_mod_CFLAGS): Likewise.
43532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43533 (grubof_SOURCES): Likewise.
43534 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43535
43536 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43537 endian to the host endian.
43538 (grub_fat_utf16_to_utf8): Move function from there...
43539 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43540 the endianness of the source string anymore.
aa033560 43541 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43542
94bc45af 435432004-08-24 Marco Gerards <metgerards@student.han.nl>
43544
43545 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43546 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43547 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43548 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43549
94bc45af 43550 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43551 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43552 for `node_found' and `it_dir'.
43553 (grub_hfs_dir): Add prototype for `dir_hook'.
43554
43555 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43556 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43557 and `indir32' to silence a gcc warning.
43558
43559 * include/grub/fs.h (grub_hfs_init): New prototype.
43560 (grub_hfs_fini): Likewise.
f19dbdb7 43561
43562
97543f08 435632004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43564
43565 Each disk device has its own id now. This is useful to make use
43566 of multiple disk devices.
f19dbdb7 43567
97543f08 43568 * include/grub/disk.h (grub_disk_dev_id): New enum.
43569 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43570 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43571
43572 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43573 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43574
43575 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43576 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43577
43578 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43579 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43580
43581 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43582 "id" which is used by the cache manager.
43583
43584 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43585 of just "GRUB".
43586
64372eb4 435872004-08-18 Marco Gerards <metgerards@student.han.nl>
43588
43589 * fs/hfs.c: New file.
43590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43591 (grub_emu_SOURCES): Likewise.
43592 (pkgdata_MODULES): Add hfs.mod.
43593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43594 (grubof_SOURCES): Likewise.
43595 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43596
43597 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43598 * kern/misc.c (grub_strncasecmp): Add function.
43599
cc61b58f 436002004-08-14 Marco Gerards <metgerards@student.han.nl>
43601
43602 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43603 with parentheses.
43604
43605 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43606 (grub_ext2_dir): In case the directory entry type is unknown, read
43607 it from the inode.
43608
0ef123f6 436092004-08-02 Peter Bruin <pjbruin@dds.nl>
43610
43611 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43612 grub_load_linux instead of grub_rescue_cmd_linux as second
43613 argument of grub_rescue_register_command.
43614
43615 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43616
a447c5df 436172004-07-27 Marco Gerards <metgerards@student.han.nl>
43618
43619 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43620 function.
43621 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43622 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43623 `loader/powerpc/ieee1275/linux.c',
43624 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43625 * include/grub/powerpc/ieee1275/ieee1275.h
43626 (grub_ieee1275_release): New prototype.
43627 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43628 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43629 normal, boot, linux and linux_normal.
43630 * loader/powerpc/ieee1275/linux.c: New file.
43631 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43632
5a9e3546 436332004-07-12 Marco Gerards <metgerards@student.han.nl>
43634
43635 * normal/arg.c (grub_arg_parse): Correct error handling after
43636 reallocating the argumentlist (check if `argl' is not null instead
43637 of checking if `args' is not null).
43638 * kern/mm.c (grub_realloc): Return the same pointer when using the
43639 same region, instead of returning the header address.
43640
e15199cb 436412004-07-11 Marco Gerards <metgerards@student.han.nl>
43642
43643 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43644 one block instead of two when looking for the initial partition.
43645 (grub_partition_probe): Initialize the local variable `p' with 0.
43646 Use base 10 for the grub_strtoul call.
43647 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43648 need for one local variable.
43649 (grub_strtoul): Don't add the new value to `num', instead of that
43650 just assign it.
43651
020616c2 436522004-07-11 Marco Gerards <metgerards@student.han.nl>
43653
43654 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43655 (pxeboot_img_SOURCES): New variable.
43656 (pxeboot_img_ASFLAGS): Likewise.
43657 (pxeboot_img_LDFLAGS): Likewise.
43658 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43659 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43660 <lode_leroy@hotmail.com>.
43661
6c51eb64 436622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43663
43664 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43665 there was no input.
43666
cfb12aff 436672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43668
43669 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43670 the history buffer logic.
43671
6eabba74 436722004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43673
43674 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43675 (FILETYPE_INO_SYMLINK): New macros.
43676 (grub_ext2_find_file): Check if the node is a directory using the
43677 inode stat information instead of using the filetype in the
43678 dirent. Exclude the first character of an absolute symlink.
43679 (grub_ext2_dir): Mask out the filetype part of the mode member of
43680 the inode.
43681
66e19ef8 436822004-05-24 Marco Gerards <metgerards@student.han.nl>
43683
43684 Add support for UFS version 1 and 2. Add support for the minix
43685 filesystem version 1 and 2, both the variants with 14 and 30 long
43686 filenames.
f19dbdb7 43687
66e19ef8 43688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43689 fs/minix.c.
43690 (grub_emu_SOURCES): Likewise.
43691 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43692 (ufs_mod_SOURCES): New variable.
43693 (ufs_mod_CFLAGS): Likewise.
43694 (minix_mod_SOURCES): Likewise.
43695 (minix_mod_CFLAGS): Likewise.
43696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43697 fs/minix.c.
43698 (grubof_SOURCES): Likewise.
43699 * fs/ufs.c: New file.
43700 * fs/minix.c: New file.
43701 * include/grub/fs.h (grub_ufs_init): New prototype.
43702 (grub_ufs_fini): Likewise.
43703 (grub_minix_init): Likewise.
43704 (grub_minix_fini): Likewise.
43705 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43706 minix fs.
43707
cc2e748a 437082004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43709
43710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43711 commands/ls.c, commands/terminal.c, commands/boot.c,
43712 commands/cmp.c and commands/cat.c.
43713 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43714
43715 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43716 "env.h"
43717
4b13b216 437182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43719
43720 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43721 and grub_, respectively. Because the conversion is trivial and
43722 mechanical, I omit the details here. Please refer to the CVS
43723 if you need more information.
43724
6a142551 437252004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43726
43727 * include/pupa: Renamed to ...
43728 * include/grub: ... this.
43729 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43730 * util/i386/pc/grub-mkimage.c: ... this.
43731 * util/i386/pc/pupa-setup.c: Renamed to ...
43732 * util/i386/pc/grub-setup.c: ... this.
43733 * util/pupa-emu.c: Renamed to ...
43734 * util/grub-emu.c: ... this.
43735
e56cdf21 437362004-03-29 Marco Gerards <metgerards@student.han.nl>
43737
43738 Add support for the newworld apple macintosh (PPC). This has been
43739 tested on the powerbook 2000 only. It only adds support for
43740 generic ieee1275 functions, console and disk support. This should
43741 be easy to port to other architectures with support for Open
43742 Firmware.
f19dbdb7 43743
e56cdf21 43744 * configure.ac: Accept the powerpc as host_cpu. In the case of
43745 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43746 specific tests are only executed while building for the i386.
43747 Inverse test for crosscompile.
43748 * genmk.rb (Utility): Allow assembler files.
43749 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43750 * conf/powerpc-ieee1275.rmk: New file.
43751 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43752 * disk/powerpc/ieee1275/partition.c: Likewise.
43753 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43754 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43755 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43756 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43757 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43758 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43759 * include/pupa/powerpc/ieee1275/loader.h
43760 * include/pupa/powerpc/setjmp.h: Likewise.
43761 * include/pupa/powerpc/types.h: Likewise.
43762 * kern/powerpc/ieee1275/init.c: Likewise.
43763 * kern/powerpc/ieee1275/openfw.c: Likewise.
43764 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43765
43766 These files were written by Johan Rydberg
43767 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43768
e56cdf21 43769 * boot/powerpc/ieee1275/cmain.c: New file.
43770 * boot/powerpc/ieee1275/crt0.S: Likewise.
43771 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43772 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43773
8c8cc205 437742004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43775
43776 * Makefile.in: Update copyright.
43777 * genmodsrc.sh: Likewise.
43778 * gensymlist.sh: Likewise.
43779 * term/i386/pc/vga.c: Indent correctly.
43780
43781 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43782 bugreporting address.
43783 * util/i386/pc/pupa-setup.c (usage): Likewise,
43784 (main): Call pupa_ext2_init and pupa_ext2_fini.
43785
f19dbdb7 43786 * fs/fat.c (log2): Renamed to ...
8c8cc205 43787 (fat_log2): ... this.
43788 All callers changed.
43789 * kern/misc.c (memcpy): Alias to pupa_memmove.
43790 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43791 lvalue cast.
43792 * util/console.c (pupa_ncurses_fini): Return 0.
43793
43794 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43795 Move fail label here.
43796 [__GNU__]: Don't warn when using stat.
43797 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43798 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43799 long int. Use strtol instead of strtoul.
f19dbdb7 43800
db1771cf 438012004-03-14 Marco Gerards <metgerards@student.han.nl>
43802
43803 * commands/boot.c: New file.
43804 * commands/cat.c: Likewise.
43805 * commands/cmp.c: Likewise.
43806 * commands/ls.c: Likewise.
43807 * commands/terminal.c: Likewise.
43808 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43809 (pupa_register_command): Changed interface to match the new
43810 argument parser.
43811 (pupa_command_execute): Changed (almost rewritten) so it uses
43812 pupa_split_command. Added support for setting variables using the
43813 syntax `foo=bar'.
43814 (rescue_command): Changed to work with the new argument parser.
43815 (terminal_command): Moved from here to commands/terminal.c.
43816 (set_command): New function.
43817 (unset_command): New function.
43818 (insmod_command): New function.
43819 (rmmod_command): New function.
43820 (lsmod_command): New function.
43821 (pupa_command_init): Don't initialize the command terminal
43822 anymore. Initialize the commands set, unset, insmod, rmmod and
43823 lsmod.
43824 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43825 (kernel_img_HEADERS): Add arg.h and env.h.
43826 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43827 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43828 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43829 normal/arg.c.
43830 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43831 terminal.mod.
43832 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43833 (boot_mod_SOURCES): New variable.
43834 (terminal_mod_SOURCES): Likewise.
43835 (ls_mod_SOURCES): Likewise.
43836 (cmp_mod_SOURCES): Likewise.
43837 (cat_mod_SOURCES): Likewise.
43838
43839 * normal/arg.c: New file.
43840 * kern/env.c: Likewise.
43841 * include/pupa/arg.h: Likewise.
43842 * include/pupa/env.h: Likewise.
43843 * font/manager.c (font_command): Changed to match argument parsing
43844 interface changes.
43845 (PUPA_MOD_INIT): Likewise.
43846 * hello/hello.c (pupa_cmd_hello): Likewise.
43847 (PUPA_MOD_INIT): Likewise.
43848 * include/pupa/disk.h: Include <pupa/device.h>.
43849 (pupa_print_partinfo): New prototype.
43850 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43851 (pupa_dl_get_prefix): Likewise.
43852 * include/pupa/misc.h: Include <pupa/err.h>.
43853 (pupa_isgraph): New prototype.
43854 (pupa_isdigit): Likewise.
43855 (pupa_split_cmdline): Likewise.
43856 * include/pupa/normal.h: Include <pupa/arg.h>.
43857 (pupa_command): Changed the prototype of the member `func' to
43858 match the argument parsing interface. Added member `options'.
43859 (pupa_register_command): Updated to match function.
43860 (pupa_arg_parse): New prototype.
43861 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43862 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43863 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43864 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43865 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43866 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43867 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43868 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43869 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43870 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43871 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43872 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43873 * kern/disk.c: Include <pupa/file.h>.
43874 (pupa_print_partinfo): New function.
43875 * kern/dl.c: Include <pupa/env.h>.
43876 (pupa_dl_dir): Variable removed.
43877 (pupa_dl_load): Use the environment variable `prefix' instead of
43878 the variable pupa_dl_dir.
43879 (pupa_dl_set_prefix): Function removed.
43880 (pupa_dl_get_prefix): Likewise.
43881 * kern/i386/pc/init.c: Include <pupa/env.h>.
43882 (pupa_machine_init): Use the environment variable `prefix' instead of
43883 using pupa_dl_set_prefix to set the prefix.
43884 * kern/main.c: Include <pupa/env.h>.
43885 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43886 using pupa_dl_get_prefix to get the prefix.
43887 * kern/misc.c: Include <pupa/env.h>.
43888 (pupa_isdigit): New function.
43889 (pupa_isgraph): Likewise.
43890 (pupa_ftoa): Likewise.
43891 (pupa_vsprintf): Added support for printing values of the type
43892 `double'. Make it possible to format variable output when using
43893 formatting like `%1.2%f'.
43894 (pupa_split_cmdline): New function.
43895 * kern/rescue.c: Include <pupa/env.h>.
43896 (next_word): Removed function.
43897 (pupa_rescue_cmd_prefix): Likewise.
43898 (pupa_rescue_cmd_set): New function.
43899 (pupa_rescue_cmd_unset): New function.
43900 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43901 split the command line instead of splitting it here. Added
43902 support for setting variables using the syntax `foo=bar'. Don't
43903 initialize the prefix command anymore. Initialized the set and
43904 unset commands.
43905 * normal/cmdline.c: Include <pupa/env.h>.
43906 (pupa_tab_complete): Added prototypes for print_simple_completion,
43907 print_partition_completion, add_completion, iterate_commands,
43908 iterate_dev, iterate_part and iterate_dir. Moved code to print
43909 partition information from here to kern/disk.c.
fe6b695a 43910 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43911 * normal/main.c: Include <pupa/env.h>.
43912 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43913 instead of using pupa_dl_get_prefix to get the prefix.
43914 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43915 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43916 warning.
43917 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43918 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43919 ((unused))' to silence a gcc warning.
43920 (pupa_vga_setcolor): Likewise.
43921 (debug_command): Changed to match argument parsing
43922 interface changes.
43923 * util/pupa-emu.c: Include <pupa/env.h>.
43924 (options): Added 0's for unused fields to silence a gcc warning.
43925 (argp): Likewise.
43926 (main): Use the environment variable `prefix' instead of using
43927 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43928 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43929 and terminal.
43930
43931 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43932 * util/misc.c: Include <malloc.h>.
43933 (pupa_malloc): Rewritten so errors are correctly reported.
43934 (pupa_realloc): Likewise.
43935 (pupa_memalign): Likewise.
43936 (pupa_mm_init_region): Declare unused variables with
43937 `__attribute__ ((unused))' to silence a gcc warning.
43938 * normal/i386/setjmp.S: Remove tab at the end of the file to
43939 silence a gcc warning.
43940 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43941 variables with `__attribute__ ((unused))' to silence a gcc
43942 warning.
43943 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43944 local variable i unsigned to silence a gcc warning.
43945
43946 * kern/term.c: Include <pupa/misc.h>.
43947 (pupa_more_lines): New variable.
43948 (pupa_more): Likewise.
43949 (pupa_putcode): When the pager is active pause at the end of every
43950 screen.
43951 (pupa_set_more): New function.
43952 * include/pupa/term.h (pupa_set_more): New prototype.
43953
43954
3b1139cb 439552004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43956
43957 Now this project is GRUB 2 rather than PUPA. The location of
43958 the CVS repository was moved to GRUB's.
f19dbdb7 43959
3b1139cb 43960 * configure.ac: Use bug-grub as the reporting address.
43961 Use GRUB instead of PUPA.
43962 Change the version number to 1.90.
43963
8367695c 439642004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43965
43966 * genkernsyms.sh: Updated copyright information.
43967 * genmk.rb: Likewise.
43968 * genmodsrc.sh: Likewise.
43969 * gensymlist.sh: Likewise.
43970 * boot/i386/pc/boot.S: Likewise.
43971 * boot/i386/pc/diskboot.S: Likewise.
43972 * disk/i386/pc/biosdisk.c: Likewise.
43973 * disk/i386/pc/partition.c: Likewise.
43974 * font/manager.c: Likewise.
43975 * fs/ext2.c: Likewise.
43976 * fs/fat.c: Likewise.
43977 * include/pupa/boot.h: Likewise.
43978 * include/pupa/device.h: Likewise.
43979 * include/pupa/disk.h: Likewise.
43980 * include/pupa/dl.h: Likewise.
43981 * include/pupa/elf.h: Likewise.
43982 * include/pupa/err.h: Likewise.
43983 * include/pupa/file.h: Likewise.
43984 * include/pupa/font.h: Likewise.
43985 * include/pupa/fs.h: Likewise.
43986 * include/pupa/kernel.h: Likewise.
43987 * include/pupa/loader.h: Likewise.
43988 * include/pupa/misc.h: Likewise.
43989 * include/pupa/mm.h: Likewise.
43990 * include/pupa/net.h: Likewise.
43991 * include/pupa/normal.h: Likewise.
43992 * include/pupa/rescue.h: Likewise.
43993 * include/pupa/setjmp.h: Likewise.
43994 * include/pupa/symbol.h: Likewise.
43995 * include/pupa/term.h: Likewise.
43996 * include/pupa/types.h: Likewise.
43997 * include/pupa/i386/setjmp.h: Likewise.
43998 * include/pupa/i386/types.h: Likewise.
43999 * include/pupa/i386/pc/biosdisk.h: Likewise.
44000 * include/pupa/i386/pc/boot.h: Likewise.
44001 * include/pupa/i386/pc/console.h: Likewise.
44002 * include/pupa/i386/pc/init.h: Likewise.
44003 * include/pupa/i386/pc/kernel.h: Likewise.
44004 * include/pupa/i386/pc/linux.h: Likewise.
44005 * include/pupa/i386/pc/loader.h: Likewise.
44006 * include/pupa/i386/pc/memory.h: Likewise.
44007 * include/pupa/i386/pc/multiboot.h: Likewise.
44008 * include/pupa/i386/pc/partition.h: Likewise.
44009 * include/pupa/i386/pc/time.h: Likewise.
44010 * include/pupa/i386/pc/vga.h: Likewise.
44011 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44012 * include/pupa/util/getroot.h: Likewise.
44013 * include/pupa/util/misc.h: Likewise.
44014 * include/pupa/util/resolve.h: Likewise.
44015 * kern/device.c: Likewise.
44016 * kern/disk.c: Likewise.
44017 * kern/dl.c: Likewise.
44018 * kern/err.c: Likewise.
44019 * kern/file.c: Likewise.
44020 * kern/fs.c: Likewise.
44021 * kern/loader.c: Likewise.
44022 * kern/main.c: Likewise.
44023 * kern/misc.c: Likewise.
44024 * kern/mm.c: Likewise.
44025 * kern/rescue.c: Likewise.
44026 * kern/term.c: Likewise.
44027 * kern/i386/dl.c: Likewise.
44028 * kern/i386/pc/init.c: Likewise.
44029 * kern/i386/pc/lzo1x.S: Likewise.
44030 * kern/i386/pc/startup.S: Likewise.
44031 * loader/i386/pc/chainloader.c: Likewise.
44032 * loader/i386/pc/linux.c: Likewise.
44033 * loader/i386/pc/multiboot.c: Likewise.
44034 * normal/cmdline.c: Likewise.
44035 * normal/command.c: Likewise.
44036 * normal/main.c: Likewise.
44037 * normal/menu.c: Likewise.
44038 * normal/i386/setjmp.S: Likewise.
44039 * term/i386/pc/console.c: Likewise.
44040 * term/i386/pc/vga.c: Likewise.
44041 * util/console.c: Likewise.
44042 * util/genmoddep.c: Likewise.
44043 * util/misc.c: Likewise.
44044 * util/pupa-emu.c: Likewise.
44045 * util/resolve.c: Likewise.
44046 * util/unifont2pff.rb: Likewise.
44047 * util/i386/pc/biosdisk.c: Likewise.
44048 * util/i386/pc/getroot.c: Likewise.
44049 * util/i386/pc/pupa-mkimage.c: Likewise.
44050 * util/i386/pc/pupa-setup.c: Likewise.
44051
e6eced71 440522004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44053
44054 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44055 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44056 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44057 reading and reset it after reading.
44058 (pupa_ext2_close): Return PUPA_ERR_NONE.
44059
44060 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44061 Correct value.
44062 (struct linux_kernel_header): Add kernel_version and
44063 initrd_addr_max.
44064 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44065 pupa_file_read succeeds.
44066 (pupa_rescue_cmd_initrd): Implement.
44067
5aded270 440682003-12-03 Marco Gerards <metgerards@student.han.nl>
44069
44070 * fs/ext2.c (pupa_ext2_label): New function.
44071 (pupa_ext2_fs): Added label.
44072 * fs/fat.c (pupa_fat_label): New function.
44073 (pupa_fat_fs): Added label.
44074 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44075
44076 * kern/misc.c (pupa_strndup): New function.
44077 * include/pupa/misc.h (pupa_strndup): New prototype.
44078
44079 * include/pupa/normal.h: Include <pupa/err.h>.
44080 (pupa_set_history): New prototype.
44081 (pupa_iterate_commands): New prototype.
44082 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44083 <pupa/disk.h>, <pupa/file.h>.
44084 (hist_size): New variable.
44085 (hist_lines): Likewise.
44086 (hist_end): Likewise.
44087 (hist_used): Likewise.
44088 (pupa_set_history): New function.
44089 (pupa_history_get): Likewise.
44090 (pupa_history_add): Likewise.
44091 (pupa_history_replace): Likewise.
44092 (pupa_tab_complete): Likewise.
44093 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44094 completion shows partitionnames while completing partitions, this
44095 feature was suggested by Jeff Bailey.
44096 * normal/command.c (pupa_iterate_commands): New function.
44097 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44098 (pupa_normal_init): Initialize history buffer.
44099 (PUPA_MOD_INIT): Likewise.
44100 (pupa_normal_fini): Free the history buffer.
44101 (PUPA_MOD_FINI): Likewise.
44102
44103 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44104 key.
44105
44106 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44107 * configure.ac [i386]: Check for regparam bug.
44108 (NESTED_FUNC_ATTR) [! i386]: Defined.
44109
1f7315a3 441102003-11-17 Marco Gerards <metgerards@student.han.nl>
44111
44112 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44113 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44114 (pupa_emu_SOURCES): New variable.
44115 (pupa_emu_LDFLAGS): Likewise.
44116 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44117 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44118 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44119 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44120 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44121 (pupa_jmp_buf): New typedef.
44122 (pupa_setjmp) [PUPA_UTIL]: New macro.
44123 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44124 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44125 (pupa_refresh): New prototype.
44126 * include/pupa/util/getroot.h: New file.
44127 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44128 it.
44129 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44130 (pupa_rescue_cmd_cat): Likewise.
44131 (pupa_rescue_cmd_ls): Likewise.
44132 (pupa_rescue_cmd_testload): Likewise.
44133 (pupa_rescue_cmd_lsmod): Likewise.
44134 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44135 * normal/menu.c (run_menu): Likewise.
44136 * kern/term.c (pupa_cls): Likewise.
44137 (pupa_refresh): New function.
44138 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44139 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44140 * util/console.c: New file.
f19dbdb7 44141
1f7315a3 44142 * util/i386/pc/getroot.c: New file.
44143 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44144 (pupa_putchar): New function.
44145 (pupa_refresh): Likewise.
44146 (xgetcwd): Function moved to ...
44147 (strip_extra_slashes): Likewise.
44148 (get_prefix): Likewise.
f19dbdb7 44149 * util/i386/pc/getroot.c: ... here.
1f7315a3 44150 (find_root_device): Function moved and renamed to...
44151 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44152 Changed all callers.
44153 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44154 and renamed to...
44155 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44156 Changed all callers.
44157 * util/misc.c (pupa_memalign): New function.
44158 (pupa_mm_init_region): Likewise.
44159 (pupa_register_exported_symbols): Likewise.
44160 (pupa_putchar): Function removed.
44161 * util/pupa-emu.c: New file.
44162
9a5c1ade 441632003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44164
44165 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44166 (_multiboot_mod_SOURCES): New variable.
44167 (_multiboot_mod_CFLAGS): Likewise.
44168 * loader/i386/pc/multiboot.c: New file.
44169 * include/pupa/i386/pc/multiboot.h: Likewise.
44170 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44171 (pupa_multiboot_real_boot): New function.
44172 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44173 (pupa_multiboot_real_boot): New prototype.
44174 (pupa_rescue_cmd_multiboot): Likewise
44175 (pupa_rescue_cmd_module): Likewise.
44176
44177 * kern/loader.c (pupa_loader_set): Continue when
44178 pupa_loader_unload_func() fails.
44179 (pupa_loader_unset): New function.
44180 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44181
44182 * kern/misc.c (pupa_stpcpy): New function.
44183 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44184
8e72a9c0 441852003-11-12 Marco Gerards <metgerards@student.han.nl>
44186
44187 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44188 for available extensions.
44189
44190 * include/pupa/i386/pc/time.h: New file.
44191 * kern/disk.c: Include <pupa/machine/time.h>.
44192 (PUPA_CACHE_TIMEOUT): New macro.
44193 (pupa_last_time): New variable.
44194 (pupa_disk_open): Flush the cache when there was a timeout.
44195 (pupa_disk_close): Reset the timer.
44196 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44197 pupa_currticks.
44198 * util/misc.c: Include <sys/times.h>
44199 (pupa_get_rtc): New function.
44200
c4adbd32 442012003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44202
44203 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44204 as blocks.
44205 (pupa_ext2_get_file_block): Use blocks member.
44206
44207 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44208 first block. Return -1 instead of pupa_errno on error.
44209
bfd30f06 442102003-10-27 Marco Gerards <metgerards@student.han.nl>
44211
44212 * README: In the pupa-mkimage example use _chain instead of chain
44213 and ext2 instead of fat.
44214 * TODO: Replace ext2fs with jfs as an example. Add an item for
44215 adding journal playback for ext2fs.
44216 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44217 (pkgdata_MODULES): Added ext2.mod.
44218 (ext2_mod_SOURCES): New variable.
44219 (ext2_mod_CFLAGS): Likewise.
44220 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44221 * include/pupa/misc.h (pupa_strncpy): New prototype.
44222 (pupa_strcat): Likewise.
44223 (pupa_strncmp): Likewise.
44224 * kern/misc.c (pupa_strcat): Enable function.
44225 (pupa_strncpy): New function.
44226 (pupa_strncmp): Likewise.
44227 * fs/ext2.c: New file.
f19dbdb7 44228
bfd30f06 44229 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44230 when the read failed before retrying.
44231 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44232 (_FILE_OFFSET_BITS): Likewise.
44233 * configure.ac: Added AC_SYS_LARGEFILE.
44234
98d15063 442352003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44236
44237 * genmk.rb (PModule#rule): Make sure to get only symbol names
44238 from the output of nm.
59cad637 44239 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44240
18d9c7cd 442412003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44242
44243 I forgot to check in these changes for a long time. This adds
44244 incomplete support for VGA console, and this is still very
44245 buggy. Also, a lot of consideration is required for I18N,
44246 UNICODE, and VGA font issues. Therefore, assume that this is
44247 such that "better than nothing".
f19dbdb7 44248
18d9c7cd 44249 * font/manager.c: New file.
44250 * include/pupa/font.h: Likewise.
44251 * include/pupa/i386/pc/vga.h: Likewise.
44252 * term/i386/pc/vga.c: Likewise.
44253 * util/unifont2pff.rb: Likewise.
44254
44255 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44256 (pkgdata_MODULES): Added vga.mod and font.mod.
44257 (vga_mod_SOURCES): New variables.
44258 (vga_mod_CFLAGS): Likewise.
44259 (font_mod_SOURCES): Likewise.
44260 (font_mod_CFLAGS): Likewise.
44261
44262 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44263
44264 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44265 (struct pupa_term): Added init and fini.
18d9c7cd 44266 Changed the argument of putchar to pupa_uint32_t.
44267
44268 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44269 (pupa_console_real_putchar): New prototype.
44270 (pupa_console_putchar): Removed.
44271 (pupa_console_checkkey): Exported.
44272 (pupa_console_getkey): Likewise.
44273
44274 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44275 characters.
44276
44277 * kern/term.c (pupa_term_set_current): Rewritten.
44278 (pupa_putchar): Likewise.
44279 (pupa_putcode): New function.
44280
44281 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44282 (pupa_console_real_putchar): ... this.
44283 (pupa_vga_set_mode): New function.
44284 (pupa_vga_get_font): Likewise.
44285
44286 * normal/command.c: Include pupa/term.h.
44287 (terminal_command): New function.
44288 (pupa_command_init): Register the command "terminal".
44289
44290 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44291 (DISP_UP): Likewise.
44292 (DISP_RIGHT): Likewise.
44293 (DISP_DOWN): Likewise.
44294 (DISP_HLINE): Likewise.
44295 (DISP_VLINE): Likewise.
44296 (DISP_UL): Likewise.
44297 (DISP_UR): Likewise.
44298 (DISP_LL): Likewise.
44299 (DISP_LR): Likewise.
44300
44301 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44302
977329f5 443032003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44304
44305 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44306 FIX. Reverse the path_list.
44307
44308 * include/pupa/normal.h: Export pupa_register_command and
44309 pupa_unregister_command.
44310
44311 * hello/hello.c (pupa_cmd_hello): New module.
44312 * conf/i386-pc.rmk: Added hello.mod.
44313
1f5ab428 443142003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44315
44316 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44317
1f5ab428 44318 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44319 (compress_kernel): New variable.
44320 (generate_image): Heavily modified to support compressing a
44321 large part of the core image.
44322
44323 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44324 leak.
44325 (pupa_util_load_image): New function.
44326
44327 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44328 (pupa_compressed_size): New variable.
44329 (codestart): Enable Gate A20 here.
44330 Decompress the compressed part of the core image.
44331 Rearrange the code to put functions and variables which are
44332 required for initialization in the non-compressed part.
44333 Include lzo1x.S.
44334
44335 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44336 here.
44337
44338 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44339
f19dbdb7 44340 * include/pupa/i386/pc/kernel.h
1f5ab428 44341 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44342 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44343 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44344 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44345 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44346
44347 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44348
44349 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44350 (Utility#rule): Likewise.
44351
44352 * configure.ac: Check if LZO is available.
44353
ce5bf700 443542003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44355
44356 * include/pupa/normal.h: New file.
44357 * include/pupa/setjmp.h: Likewise.
44358 * include/pupa/i386/setjmp.h: Likewise.
44359 * normal/cmdline.c: Likewise.
44360 * normal/command.c: Likewise.
44361 * normal/main.c: Likewise.
44362 * normal/menu.c: Likewise.
44363 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44364
ce5bf700 44365 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44366 (pupa_rescue_cmd_initrd): Likewise.
44367
44368 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44369 Likewise.
44370
44371 * kern/i386/pc/startup.S (translation_table): New variable.
44372 (translate_keycode): New function.
44373 (pupa_console_getkey): Call translate_keycode.
44374
44375 * kern/rescue.c (attempt_normal_mode): New function.
44376 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44377 it failed, print a message.
44378
44379 * kern/mm.c (pupa_real_malloc): Print more information when a
44380 free magic is broken.
44381 (pupa_free): If the first free header is not free actually, set
44382 it to P.
44383
44384 * kern/main.c (pupa_load_normal_mode): Just load the module
44385 "normal".
44386 (pupa_main): Don't print the message
44387 "Entering into rescue mode..." here.
44388
44389 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44390 Declared.
44391 (pupa_rescue_cmd_initrd): Likewise.
44392 (pupa_rescue_cmd_initrd): Likewise.
44393
44394 * include/pupa/symbol.h (FUNCTION): Specify the type.
44395 (VARIABLE): Likewise.
44396
44397 * include/pupa/err.h (pupa_err_t): Added
44398 PUPA_ERR_UNKNOWN_COMMAND.
44399
44400 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44401 (pupa_dl_get_prefix): Likewise.
44402
44403 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44404 Added _chain.mod and _linux.mod instead of chain.mod and
44405 linux.mod.
44406 (chain_mod_SOURCES): Renamed to ...
44407 (_chain_mod_SOURCES): ... this.
44408 (chain_mod_CFLAGS): Renamed to ...
44409 (_chain_mod_CFLAGS): ... this.
44410 (linux_mod_SOURCES): Renamed to ...
44411 (_linux_mod_SOURCES): ... this.
44412 (linux_mod_CFLAGS): Renamed to ...
44413 (_linux_mod_CFLAGS): ... this.
44414 (normal_mod_SOURCES): New variable.
44415 (normal_mod_CFLAGS): Likewise.
44416 (normal_mod_ASFLAGS): Likewise.
44417
444182003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44419
44420 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44421 possible.
44422
fe6b695a 44423 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44424 recursively.
44425 (pupa_dl_unref): Unrefer depending modules recursively.
44426 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44427 a module is unloaded before one depending on that module is
44428 unloaded.
44429 (pupa_dl_unload): Unload depending modules explicitly,
44430 if possible.
44431
c04da074 444322003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44433
44434 * include/pupa/i386/pc/linux.h: New file.
44435 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44436
c04da074 44437 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44438 Removed.
44439 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44440 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44441 of PUPA_CHAINLOADER_BOOT_SECTOR.
44442
44443 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44444 (pupa_linux_prot_size): New variable.
44445 (pupa_linux_tmp_addr): Likewise.
44446 (pupa_linux_real_addr): Likewise.
44447 (pupa_linux_boot_zimage): New function.
44448 (pupa_linux_boot_bzimage): Likewise.
44449
44450 * kern/i386/pc/init.c (struct mem_region): New structure.
44451 (MAX_REGIONS): New macro.
44452 (mem_regions): New variable.
44453 (num_regions): Likewise.
44454 (pupa_os_area_addr): Likewise.
44455 (pupa_os_area_size): Likewise.
44456 (pupa_lower_mem): Likewise.
44457 (pupa_upper_mem): Likewise.
44458 (add_mem_region): New function.
44459 (compact_mem_regions): Likewise.
44460 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44461 the size of the conventional memory and that of so-called upper
44462 memory (before the first memory hole).
44463 Instead of adding each found region to free memory, use
44464 add_mem_region and add them after removing overlaps.
44465 Also, add only 1/4 of the upper memory to free memory. The rest
44466 is used for loading OS images. Maybe this is ad hoc, but this
44467 makes it much easier to relocate OS images when booting.
44468
44469 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44470 (pupa_enter_rescue_mode): Don't register initrd and module.
44471
44472 * kern/mm.c: Include pupa/dl.h.
44473
44474 * kern/main.c: Include pupa/file.h and pupa/device.h.
44475
44476 * kern/loader.c (pupa_loader_load_module_func): Removed.
44477 (pupa_loader_load_module): Likewise.
44478
44479 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44480 ``.o''.
44481
44482 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44483 (pupa_linux_tmp_addr): Likewise.
44484 (pupa_linux_real_addr): Likewise.
44485 (pupa_linux_boot_zimage): Likewise.
44486 (pupa_linux_boot_bzimage): Likewise.
44487
44488 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44489 (pupa_upper_mem): Likewise.
44490 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44491 module is too dangerous.
44492
44493 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44494 (pupa_os_area_size): Likewise.
44495 (pupa_loader_set): Remove the first argument. Loader doesn't
44496 manage modules or initrd any longer.
44497 (pupa_loader_load_module): Removed.
44498
44499 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44500 (linux_mod_SOURCES): New variable.
44501 (linux_mod_CFLAGS): Likewise.
44502
a13f9237 445032003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44504
44505 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44506 the length of a blocklist correctly.
44507
44508 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44509 Use ioctl only if the OS file is a block device.
44510 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44511 not very useful for normal files.
44512
44513 * kern/main.c (pupa_set_root_dev): New function.
44514 (pupa_load_normal_mode): Likewise.
44515 (pupa_main): Call those above.
44516
44517 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44518 pupa_uint16_t.
44519
44520 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44521
a5ffe966 445222003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44523
44524 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44525 (setup): Configure the installed partition information and the
44526 dl prefix.
44527
44528 * loader/i386/pc/chainloader.c (my_mod): New variable.
44529 (pupa_chainloader_unload): New function.
44530 (pupa_rescue_cmd_chainloader): Refer itself.
44531 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44532
44533 * kern/i386/pc/startup.S (install_partition): Removed.
44534 (version_string): Likewise.
44535 (config_file): Likewise.
44536 (pupa_install_dos_part): New variable.
44537 (pupa_install_bsd_part): Likewise.
44538 (pupa_prefix): Likewise.
44539 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44540
44541 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44542 and pupa/misc.h.
44543 (make_install_device): New function.
44544 (pupa_machine_init): Set the dl prefix.
44545
44546 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44547 (buf): Renamed to ...
44548 (linebuf): ... this.
44549 (pupa_rescue_cmd_prefix): New function.
44550 (pupa_rescue_cmd_insmod): Likewise.
44551 (pupa_rescue_cmd_rmmod): Likewise.
44552 (pupa_rescue_cmd_lsmod): Likewise.
44553 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44554 rmmod and lsmod.
44555
44556 * kern/mm.c (pupa_memalign): If failed even after invalidating
44557 disk caches, unload unneeded modules and retry.
44558
44559 * kern/misc.c (pupa_memmove): New function.
44560 (pupa_memcpy): Removed.
44561 (pupa_strcpy): New function.
44562 (pupa_itoa): Made static.
44563
44564 * kern/dl.c (pupa_dl_iterate): New function.
44565 (pupa_dl_ref): Likewise.
44566 (pupa_dl_unref): Likewise.
44567 (pupa_dl_unload): Return if succeeded or not.
44568 (pupa_dl_unload_unneeded): New function.
44569 (pupa_dl_unload_all): Likewise.
44570 (pupa_dl_init): Renamed to ...
44571 (pupa_dl_set_prefix): ... this.
44572 (pupa_dl_get_prefix): New function.
44573
44574 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44575 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44576 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44577 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44578 (pupa_install_dos_part): Declared.
44579 (pupa_install_bsd_part): Likewise.
44580 (pupa_prefix): Likewise.
44581 (pupa_boot_drive): Likewise.
44582
44583 * include/pupa/types.h: Fix a typo.
44584
44585 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44586 pupa_memmove.
44587 (pupa_memmove): Declared.
44588 (pupa_strcpy): Likewise.
44589
44590 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44591 pupa_mod_init takes one argument, its own module.
44592 (pupa_dl_unload_unneeded): Declared.
44593 (pupa_dl_unload_all): Likewise.
44594 (pupa_dl_ref): Likewise.
44595 (pupa_dl_unref): Likewise.
44596 (pupa_dl_iterate): Likewise.
44597 (pupa_dl_init): Renamed to ...
44598 (pupa_dl_set_prefix): ... this.
44599 (pupa_dl_get_prefix): Declared.
44600
44601 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44602 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44603 unloaded.
44604 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44605 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44606
44607 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44608 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44609
012d7999 446102003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44611
44612 * util/i386/pc/pupa-setup.c (setup): Define the internal
44613 function find_first_partition_start at the top level, because GCC
44614 3.0.x cannot compile internal functions in deeper scopes
44615 correctly.
44616 (find_root_device): Use lstat instead of stat.
44617 Don't follow symbolic links.
44618 Fix the path-constructing code.
44619
44620 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44621 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44622 by a BLKGETSIZE ioctl first, because block devices don't fill
44623 the member st_mode of the structure stat on Linux.
44624 [__linux__] (linux_find_partition): Use a temporary buffer
44625 REAL_DEV for the working space. Copy it to DEV before returning.
44626 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44627 buffer cache consistent.
44628 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44629 strncmp. The previous value was merely wrong.
44630 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44631
44632 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44633 FAT size is 12. The previous value was merely wrong.
44634
44635 * kern/main.c (pupa_main): Don't split the starting message from
44636 newlines.
44637
44638 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44639 LF, because BIOS goes crazy about character attributes in this
44640 case.
44641
1cc73a62 446422003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44643
44644 * include/i386/pc/util/biosdisk.h: New file.
44645 * util/i386/pc/biosdisk.c: Likewise.
44646 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44647
1cc73a62 44648 * Makefile.in (INCLUDE_DISTFILES): Added
44649 include/pupa/i386/pc/util/biosdisk.h.
44650 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44651 directory util/i386/pc.
44652 (install-local): Added a rule for sbin_UTILITIES.
44653 (uninstall): Likewise.
44654
44655 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44656
44657 * util/misc.c (xrealloc): New function.
44658 (pupa_malloc): Likewise.
44659 (pupa_free): Likewise.
44660 (pupa_realloc): Likewise.
44661 (pupa_stop): Likewise.
44662 (pupa_putchar): Likewise.
44663
44664 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44665
44666 * include/pupa/util/misc.h (xrealloc): Declared.
44667
44668 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44669 macro.
44670 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44671 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44672
44673 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44674 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44675
44676 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44677 way should be implemented.
44678 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44679
44680 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44681 the size of NAME for safety.
44682 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44683 0x88.
44684
44685 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44686 (pupa_setup_SOURCES): Likewise.
44687
44688 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44689
08b70fe8 446902002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44691
44692 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44693 bunch of pushl's from pusha, because this destroys the return
44694 value.
44695
62ddcc8f 446962002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44697
44698 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44699 This means that any missing prototypes could be fatal. Also, you
44700 must take care when writing assembly code. See the comments at
44701 the beginning of startup.S, for more details.
f19dbdb7 44702
62ddcc8f 44703 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44704 compilation mechanism.
44705 (pupa_chainloader_real_boot): Likewise.
44706 (pupa_biosdisk_rw_int13_extensions): Likewise.
44707 (pupa_biosdisk_rw_standard): Likewise.
44708 (pupa_biosdisk_check_int13_extensions): Likewise.
44709 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44710 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44711 (pupa_get_memsize): Likewise.
44712 (pupa_get_mmap_entry): Likewise.
44713 (pupa_console_putchar): Likewise.
44714 (pupa_console_setcursor): Likewise.
44715 (pupa_getrtsecs): Use pushl instead of push.
44716
44717 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44718 memory instead of the stack for a mmap entry, because some
44719 BIOSes may ignore the maximum size and overflow.
44720
44721 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44722
44723 * genmk.rb (PModule#rule): Compile automatically generated
44724 sources with module-specific CFLAGS as well as other sources.
44725
9962ed99 447262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44727
44728 * configure.ac: Check ld.
44729 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44730 respectively, before checking endianness and sizes.
44731
44732 * Makefile.in (LD): New variable.
f19dbdb7 44733
abdfc3c5 447342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44735
44736 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44737
6a161fa9 447382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44739
44740 * Changelog: New file.
44741