]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
[grub2.git] / ChangeLog
CommitLineData
9e8bc27a
VS
12012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4 crossing page boundary.
5
aa01499d
VS
62012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Fix B-tree search in BFS, especially in presence of non-ASCII
9 characters.
10
11 * grub-core/fs/bfs.c (bfs_strcmp): New function.
12 (find_in_b_tree): Use standard bsearch + btree algorithm.
13
57006035
VS
142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
17 and so on.
18
9d34bb85
MG
192012-05-03 Matthew Garrett <mjg@redhat.com>
202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21
22 Suspend broadcom cards in order to stop their DMA.
23
24 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
25 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
26 (pci): Don't build on x86 EFI.
27 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
28 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
29 New function.
30 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
31 stop_broadcom if running on EFI.
32 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
33 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
34 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
35 (grub_pci_find_capability): New proto.
36
01aab997
VS
372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * docs/grub.texi: Remove dot from the extension as it apparently
40 doesn't work with some makeinfo versions.
41
fbd8dca6
VS
422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
45 with GRUB expectance.
46
dab797f4
VS
472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
50
1516bfb4
VS
512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
54 zero after directory block since last entry may be not 0-terminated if
55 it ends on block boundary. Use continue instead of if spanning whole
56 loop.
57
a3a0eace
VS
582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Support 4K sectors UDF inline files.
61
62 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
63 (grub_udf_extended_file_entry): Likewise.
64 (grub_fshelp_node): Name the anonymous union. Put block at the end.
65 All users updated.
66 (get_fshelp_size): New function.
67 (grub_udf_read_icb): Read whole block.
68 (grub_udf_iterate_dir): Likewise.
69 (grub_udf_dir): Likewise.
70 (grub_udf_open): Likewise.
71
c82f16c1
VS
722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
75
59fd2aac
VS
762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
79 inline symlinks in addition to workaround.
80
3b4afb4d
VS
812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
84
f45c794a
VS
852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
88
f25cecbd
VS
892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
92
bb9a34e8
VS
932012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Fix reiserfs big seek times.
96
97 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
98 exact. All users updated.
99 (grub_reiserfs_read): Use nearest btree search for seeking.
100 Fix return value on error.
101
dc478aea
VS
1022012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
105 entries.
106 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
107 * docs/grub.texi: Update menuentry description.
108
8db10f47
VS
1092012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
112 crash when embedding onto filesystem.
113
bcb288ed
VS
1142012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
117 name.
118
a626fdd7
VS
1192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
122
b2f68477
VS
1232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
126 commit.
127
ba15b2af
B
1282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1292012-05-01 Bean <bean123ch@gmail.com>
130
131 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
132
a188012e
VS
1332012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
136 Special behaviour for len = 0 to read whole file isn't used anywhere and
137 can cause buffer ovewrflows in several places.
138
f0a53ed2
VS
1392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
142
5ed554f0
VS
1432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
144
145 Handle RAIDZ on non-512B sectors.
146
147 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
148 max_children_ashift.
149 (fill_vdev_info_real): Fill max_children_ashift.
150 (read_device): Use max_children_ashift.
151
ddc58357
VS
1522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
155
e3282399
VS
1562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
159 disk names.
160 * docs/grub.texi: Update device.map parts.
161
ee618bd4
VS
1622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
163
164 Don't scan into non-diskfilter devices having diskfilter names.
165
166 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
167 (scan_disk): New argument accept_diskfilter. Fix recursion depth
168 handling.
169 (scan_disk_hook): New function.
170
bdf88864
B
1712012-04-29 Bean <bean123ch@gmail.com>
172
173 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
174 allocation.
175
32745f51
MK
1762012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
177
178 * configure.ac: Detect starfield theme font path
179 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
180
bc95c8c0
VS
1812012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
184 geometry on serial consoles.
185
147fbcab
VS
1862012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
189 because of network consoles.
190
0f42c889
VS
1912012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
194 handling.
195
4a3594c9
VS
1962012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
199 falls on Q syndrom.
200
5cb53879
VS
2012012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
204 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
205
b282dfe5
VS
2062012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
209 Allocate at lest 8192 for temporary buffer as required for lzo.
210
daa59f47
VS
2112012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
214 to cluster_bits, since it's already added in.
215 (grub_fat_read_data): Likewise.
216
986748ce
VS
2172012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
220 as long as cluster size is multiple of 512 bytes.
221
a20f6ad0
VS
2222012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * util/grub-mkrescue.in: Fix locale directory.
225
385f9abb
VS
2262012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * grub-core/kern/emu/hostdisk.c (map): Make static.
229
1c557d30
B
2302012-04-23 Bean <bean123ch@gmail.com>
231
232 * util/grub-fstest.c (fstest): Add missing break.
233
524b5d3a
ST
2342012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
235
236 Fix hurd build.
237
238 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
239 not define nr variable.
fe4824e9 240 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
241 find_root_devices_from_poolname, find_root_devices_from_libzfs,
242 grub_find_device): Do not define.
524b5d3a 243
9a06490c
VS
2442012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Fix kfreebsd compile and behaviour.
247
248 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
249 format-security.
250 * util/getroot.c: Fix wait.h include.
251 (grub_guess_root_devices): Error if grub_find_device fails.
252 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
253 (grub_util_get_dev_abstraction): Likewise.
254 (grub_util_pull_device): Likewise.
255 (grub_util_get_grub_dev): Likewise.
256 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
257
48143d96
VS
2582012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Fix and unify wholedisk detection.
261
262 * util/getroot.c (convert_system_partition_to_system_disk): New argument
263 is_part. All users updated.
264 (device_is_wholedisk): Removed.
265 (grub_util_biosdisk_get_grub_dev): Use is_part.
266
ebbd24f3
VS
2672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
270 mode.
271
56f7aa1e
VS
2722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * configure.ac: Bump to beta4.
275
9c815e01
VS
2762012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
279 --fs-uuid --set UUID syntax.
280
59e2651a
VS
2812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
284 disunification.
285
54e03cfc
VS
2862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
289
81092a75
MK
2902012-04-18 Mads Kiilerich <mads@kiilerich.com>
291
292 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
293
f8315e14
MG
2942012-04-18 Mike Gilbert <floppym@gentoo.org>
295
296 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
297
1501ac21
B
2982012-04-18 Bean <bean123ch@gmail.com>
299
300 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
301 place.
302
cb7f944e
VS
3032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
306 users updated.
307 (grub_util_biosdisk_read): Handle Linux partitions not exactly
308 corresponding to GRUB partitions.
309 (grub_util_biosdisk_write): Likewise.
310
b72d44a1
VS
3112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Scan mdraid before LVM.
314
315 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
316 (grub_diskfilter_register_front): ... this.
317 (grub_diskfilter_register_back): New function.
318 All users of grub_diskfilter_register updated.
319
33d918b8
VS
3202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * util/grub-install.in: Fix an automatic target detection bug.
323
c6ca973d
VS
3242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * util/grub-install.in: New option --efi-directory.
327
b41be562
VS
3282012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
331 boot services if we have no other choice.
332
3332012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * util/grub-mknetdir.in: Rename --override-directory to --directory and
336 document it.
337 * tests/util/grub-shell.in: Update to --directory.
338
e0595a73
VS
3392012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
342
4ed80652
VS
3432012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
346 (grub_minix_read_file): Likewise.
347 (grub_minix_read_inode): Likewise.
348 (grub_minix_find_file): Likewise.
349 (grub_minix_dir): Likewise.
350
56008077
VS
3512012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub-setup.c (setup): Fix partition handling and blocklist
354 check.
355
ee520775
VS
3562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
359 redundant buggy overlap check.
360
16fc9293
VS
3612012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
364 and grub-mknetdir.
365
9bab65c4
VS
3662012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
367
368 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
369 kh.loadflags on pre-2.00 kernels.
370
3c491b47
VS
3712012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
372
373 Terminate UNDI and PXE before launching the payload to avoid problems
374 with DMA.
375
376 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
377 (grub_loader_flags): ... this. All users updated.
378 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
379 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
380 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
381 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
382 function.
383 (grub_pxe_restore): Likewise.
384 (fini_hnd): New var.
385 (GRUB_MOD_INIT): Register shutdown hook.
386 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
387 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
388 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
389 (grub_loader_set): Rename second argument to flags.
390
851ffada
VS
3912012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
394 written bytes.
395 (grub_get_num_of_utf8_bytes): New function.
396 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
397 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
398 executing it.
399 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
400 (grub_ucs4_to_utf8): Change return type.
401
491c57a8
VS
4022012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
405 warning.
851ffada
VS
406 * grub-core/fs/bfs.c (hop_level): Likewise.
407 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 408
756773df
VS
4092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/lib/adler32.c: Recode due to license unclearness.
412
fd556a96
VS
4132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
416 (test_header): Likewise.
417
9f9d3f69
VS
4182012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
419
420 Fix --help formatting.
421
422 * util/grub-mkconfig_lib.in (print_option_help): New function.
423 (grub_fmt): Likewise.
424 * util/grub-install.in: Use print_option_help and grub_fmt.
425 * util/grub-kbdcomp.in: Likewise.
426 * util/grub-mkconfig.in: Likewise.
427 * util/grub-mknetdir.in: Likewise.
428 * util/grub-mkrescue.in: Likewise.
429 * util/grub-mkstandalone.in: Likewise.
430 * util/grub-reboot.in: Likewise.
431 * util/grub-set-default.in: Likewise.
432 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
433
561ec77e
VS
4342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * linguas.sh: Remove autogenerated *.po.
437
7ec2b021
VS
4382012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * po/README: Move language fetcing to ...
441 * linguas.sh: ... here.
442 * po/README: Point to linguas.sh.
443
a88f3270
VS
4442012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * po/README: Exclude ko.po due to disclaimer problems.
447
d61357ce
VS
4482012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
451 len = 0.
452 (grub_gettext_translate_real): Handle 0th string.
453 (grub_gettext_translate): Ensure that "" isn't translated.
454
505e41dc
VS
4552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
458 TRANSLATORS comment.
459 (grub_diskfilter_print_partmap): Propagate changing of error into
460 warning.
461
e44092db
VS
4622012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
465 to uint64_t to prevent overflow.
466 (grub_diskfilter_lv): Increase start_extent and extent_count
467 to uint64_t to prevent overflow.
468
9b83956a
VS
4692012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * configure.ac: Increase version.
472
da0d5b3f
VS
4732012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
476
477 * po/Rules-translit: New file.
478 * po/arabic.sed: Likewise.
479 * po/cyrillic.sed: Likewise.
480 * po/greek.sed: Likewise.
481 * po/hebrew.sed: Likewise.
482 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
483 * po/Makefile.in.in: Add extra_dist4.
484
ac66b453
VS
4852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Handle big-endian minixfs (fixes minixfs tests on bigendian).
488
489 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
490 modify names. Introduce MODE_BIGENDIAN.
491 * grub-core/fs/minix_be.c: New file.
492 * grub-core/fs/minix2_be.c: Likewise
493 * grub-core/fs/minix3_be.c: Likewise.
494 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
495 minix3_be.
496 * grub-core/Makefile.core.def (minix_be): New module.
497 (minix2_be): Likewise.
498 (minix3_be): Likewise.
499
5002012-04-01 Felix <email@hamburg.de>
501
502 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
503 (devs): Add MBP 2011.
504
0a2d5a82
VS
5052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
508
d1625889
VS
5092012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/normal/cmdline.c (print_completion): New field
512 prompt_len.
513 (grub_cmdline_get): Handle width properly.
514
6d36a236
VS
5152012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/commands/lsacpi.c (options): Add missing terminator.
518
9576977e
VS
5192012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 522 after 29th of February.
9576977e 523
d73ff15d
VS
5242012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
525
526 Fix exfat endianness handling.
527
528 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
529 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
530 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
531 Byte-swap utf16 when necessary.
532 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
533
bbb39a45
AB
5342012-03-31 Anton Blanchard <anton@samba.org>
5352012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Fix btrfs endianness handling.
538
539 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
540 (lower_bound): Make root uint64_t. Use root in le.
541 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
542 (find_path): Fix template key init.
543 (grub_btrfs_dir): Fix mtime byteswap.
544 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
545
354e0af7
VS
5462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
549 recursion_depth. Break infinite resursions. All users updated.
550
4e75f21c
VS
5512012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
554 after free.
555 Reported by: Peter Jones.
556
25581802
AB
5572012-03-31 Anton Blanchard <anton@samba.org>
558
559 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
560 8 bit values.
561
08fbf92e
VS
5622012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/grub-install.in: Fix nvram call for PreP.
565
5d1182a6
VS
5662012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
569 the error when some elements are missing into a warning.
570
3f8cdd90
VS
5712012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
574
51006716
CW
5752012-03-28 Colin Watson <cjwatson@ubuntu.com>
576
577 * docs/grub.texi (Invoking grub-probe): New section.
578 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
579
e1bd676b
VS
5802012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
581
582 Fix tab and wide character handling in editor and menu.
583
584 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
585 agglomerate control characters with combining marks.
586 (bidi_line_wrap): Allow break on tab.
587 (grub_unicode_get_comb_start): New function.
588 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
589 and tab correctly.
590 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
591 with a space.
592 * grub-core/normal/term.c (print_ucs4_terminal): New argument
593 fixed_tab_size. All users updated.
594 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
595 (grub_term_getcharwidth): Handle \t.
596 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
597 and copy.
598
22e6a774
VS
5992012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
600
601 Handle big-endian mdraid.
602
603 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
604 * grub-core/Makefile.core.def (mdraid09_be): New module.
605 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
606 rather than grub_le_to_cpu* and grub_cpu_to_le*.
607 * grub-core/disk/mdraid_linux_be.c: New file.
608
3c0eae66
VS
6092012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
612
b6cf74c9
VS
6132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
616 missing quotes which caused confusion among translators.
617
83c93b9c
VS
6182012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * util/grub-mkconfig_lib.in: Fix typo.
621
ac6fd218
VS
6222012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
625 spaces.
626 * tests/grub_script_leading_whitespace.in: New file.
627 * Makefile.util.def (grub_script_leading_whitespace): New test.
628
ba287dd8
VS
6292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
632 to work.
633
d2d58d0a
VS
6342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
637 starts with control character.
638
0382d9bb
VS
6392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
642 overflow.
643 (grub_gdb_outbuf): Likewise.
644
d83ff9f9
VS
6452012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
648 zero terminator. Fixes a crash.
649
2282da4a
VS
6502012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
653 beyond 4 GiB.
654 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
655 images independently of preffered adderss field.
656
0ae4f0bd
VS
6572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
660 * grub-core/commands/regexp.c: Likewise.
661 * grub-core/loader/i386/linux.c: Likewise.
662 * grub-core/partmap/msdos.c: Likewise.
663 * grub-core/script/execute.c: Likewise.
664 * grub-core/term/gfxterm.c: Likewise.
665
546fbe9b
VS
6662012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
667
668 Add variable parsing in $"..." and fix several mismatches with bash.
669
670 * Makefile.util.def (grub_script_gettext): New test.
671 * grub-core/script/execute.c (parse_string): New function.
672 (gettext_append): Likewise.
673 (grub_script_arglist_to_argv): Use gettext_append.
674 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
675 * tests/grub_script_gettext.in: New file.
676
9fdb2d7b
VS
6772012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Fix handling of leading spaces in scripts.
680
681 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
682 spaces.
683 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
684 other than skipping \r. All users updated.
685 * tests/grub_script_echo1.in: Add space-related tests.
686 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
687
1a1ac4f6
VS
6882012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
691
b63d89b6
VS
6922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * configure.ac: Bump up the version to beta2.
695
17f38c0f
VS
6962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
697
698 Fix gettext reload bugs (e.g. inability to disable gettext
699 once enabled).
700
701 * grub-core/gettext/gettext.c: Encapsulate all static variables in
702 main_context and secondary_context. All functions updated.
703 (grub_gettext_translate): Rename to ...
704 (grub_gettext_translate_real): ... this. Return NULL on failed
705 translate.
706 (grub_gettext_translate): Handle secondary context.
707 (grub_gettext_delete_list): Close file and zero-out the context.
708 (grub_mofile_open): Don't call grub_gettext_delete_list.
709 Don't close file.
710 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
711 if locale="" to avoid pointless error message.
712 (grub_gettext_env_write_lang): Update lang even if load fails.
713 Handle secondary context.
714 (grub_gettext_reread_prefix): New function.
715 (read_main): Likewise.
716 (read_secondary): Likewise.
717 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
718 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
719 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
720 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
721
8e56f870
VS
7222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * configure.ac: Decrease warning level to avoid spurious warnings and
725 to be able to compile with GCC 4.2.
726 * Makefile.util.def: Remove -Wno-error=logical-op.
727
82f6d455
WB
7282012-03-10 William Bittner <william.bittner@gmail.com>
729
730 * util/import_unicode.py: Add missing brackets around string for
731 python 3 support.
732
1ecd61a4
VS
7332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Fix efi chainloader on network root.
736
737 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
738 network devices.
739 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
740 New function.
741
14361ee8
VS
7422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
745 unused show_text member.
746 * docs/grub.texi: Document "text" property.
747
922aabf3
VS
7482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
751 in dprintf.
752
ec316771
VS
7532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Fix IMSM handling on Fedora.
756
757 * util/getroot.c (grub_util_is_imsm): New function.
758 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
759
0f021838
VS
7602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * Makefile.am: Strip gold section.
763 * conf/Makefile.common: Likewise.
764 * gentpl.py: Likewise.
765 * grub-core/Makefile.core.def: Likewise.
766 * grub-core/genmod.sh.in: Likewise.
767
1039c8eb
VS
7682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
771 * util/grub.d/20_linux_xen.in: Likewise.
772 Based on Debian patch.
773
6dd412cd
VS
7742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * util/grub.d/10_linux.in: Fix syntax error resulting in
777 Richard Laager's patch.
778 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
779
3fd8bae5
VS
7802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
783 dependencies.
784
7eea1671
RL
7852012-03-10 Richard Laager <rlaager@wiktel.com>
786
787 * util/grub.d/10_linux.in: Fix ZFS root passing.
788
e8e0566b
VS
7892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
792 * grub-core/commands/xnu_uuid.c: Likewise.
793 * grub-core/loader/efi/appleloader.c: Likewise.
794 * grub-core/script/execute.c: Likewise.
795 * grub-core/script/main.c: Likewise.
796 * util/grub-mkfont.c: Likewise.
797
1acc5b1f
VS
7982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * util/grub-mkfont.c (options): Use more appropriate "select" that
801 "set" for face index.
802
35d70620
VS
8032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/grub-editenv.c (options): Gettextize command summaries.
806
c9eb96b5
VS
8072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
810 "out of memory" error messagge.
811
1f493136
VS
8122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
815 of diskfilter for diskfilter on diskfilter support.
816
6d790129
VS
8172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
820
005f46c9
VS
8212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/grub-install.in: Check for themes/starfield/theme.txt and not
824 themes/starfield.
825
c8f778a0
VS
8262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
829
de1e64eb
VS
8302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
833
c6d54211
VS
8342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
837 of error message.
838
dd390777
VS
8392012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
842
5fd1c522
VS
8432012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
846 message.
c6d54211 847 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 848
fae01f6c
VS
8492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
852 Gettextize.
853 * util/grub-mount.c (options): Likewise.
854
292fdaff
VS
8552012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
858 gettextize.
859 * grub-core/commands/search_wrap.c (options): Likewise.
860
ecdbae77
VS
8612012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
864
52bfedfa
VS
8652012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
868 size calculation.
869 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
870 none is known.
871
55b20e58
VS
8722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
875 "temporary" since it's used in identifier and is limited in space.
876
fda9d101
VS
8772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * po/POTFILES.in: Regenerate. Include *.h since they contain
880 translatable strings as well.
881
6a0295e2
VS
8822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
885 byte-swap on big-endian.
886 Reported by: Lennart Sorensen
887
807fb77c
VS
8882012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
891 (allocate_pages): Improve dprintf.
892 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
893 code32_start. Fill code32_start and kernel_alignment in params.
894 (grub_cmd_initrd): Use prot_init_space.
895
61ac50ba
VS
8962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
899
abdd26dd
VS
9002012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * util/grub-install.in: Add missing dot at the end of sentence.
903
6e69da9c
VS
9042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
907 * grub-core/commands/videotest.c: Likewise.
908 * grub-core/loader/i386/linux.c: Likewise.
909
4a929343
VS
9102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
913 sentence.
914 Reported by: Milo Casagrande.
915
bb51c6c6
VS
9162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
919 * grub-core/commands/gptsync.c: Likewise.
920 * grub-core/commands/hashsum.c: Likewise.
921 * grub-core/commands/i386/pc/sendkey.c: Likewise.
922 * grub-core/commands/legacycfg.c: Likewise.
923 * grub-core/io/gzio.c: Likewise.
924 * grub-core/net/net.c: Likewise.
925 * grub-core/term/gfxterm.c: Likewise.
926 * grub-core/term/terminfo.c: Likewise.
927 * grub-core/tests/test_blockarg.c: Likewise.
928 * grub-core/video/video.c: Likewise.
929 * util/grub-install.in: Likewise.
930 * util/grub-mkfont.c: Likewise.
931
b2b149cb
VS
9322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
935
c7c080ad
VS
9362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 939 Reported by: David Prévot.
c7c080ad 940
f2e243c0
VS
9412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
944 description.
945
09963c76
VS
9462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * util/grub-script-check.c (main): Fix a syntax error message which was
949 unclear.
950
a50514a8
VS
9512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
954
4650daec
VS
9552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
958 messages.
959
9602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
961
962 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
963 without argument.
964 * util/grub-mount.c (options): Likewise.
965
bbc5a342
VS
9662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
969
ef292a87
VS
9702012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/net/http.c: Add TRANSLATORS comments.
973 * grub-core/normal/cmdline.c: Likewise.
974 * grub-core/normal/misc.c: Likewise.
975 * grub-core/partmap/msdos.c: Likewise.
976 * grub-core/parttool/msdospart.c: Likewise.
977 * grub-core/script/execute.c: Likewise.
978 * grub-core/script/main.c: Likewise.
979 * grub-core/term/terminfo.c: Likewise.
980 * grub-core/video/bitmap.c: Likewise.
981 * util/grub-install.in: Likewise.
982 * util/grub-mkimage.c: Likewise.
983 * util/grub-mklayout.c: Likewise.
984 * util/grub-setup.c: Likewise.
985
0fc19bd0
VS
9862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
989 with similar messages in grub-fstest.
990
d95862ef
VS
9912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * util/grub-install.in: Unify "option requires an argument" message
994 with similar messages in other files.
995 * util/grub-mkconfig.in: Likewise.
996
b7308f90
VS
9972012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * util/grub-set-default.in: Replace printf with gettext_printf (the
1000 string in in question is already translated from grub-reboot)
1001
559dc587
VS
10022012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * configure.ac: Bump up the version to beta1.
1005
1a11761f
VS
10062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1009 case when min_align = 0.
1010
24539abd
VS
10112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1014 and fix a case when line_start overflows.
1015
32bd735b
VS
10162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * util/grub-reboot.in (usage): Mention id posibility.
1019 * util/grub-set-default.in (usage): Likewise.
1020
1a2fd1e6
VS
10212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1024 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1025 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1026 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1027 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1028 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1029 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1030
90eeab76
VS
10312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/commands/menuentry.c (options): Remove
1034 GRUB_ARG_OPTION_REPEATABLE.
1035 Reported by: Andreas Vogel
1036
5ad1be82
AV
10372012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1038
1039 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1040
cb055286
HE
10412012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1042
1043 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1044 error.
1045
93b1cd79
VS
10462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Use sort -V by the idea of Georgi Georgiev.
1049
1050 * util/grub-mkconfig_lib.in (version_sort): New function.
1051 (version_test_numeric): Use version_sort.
1052
0cdc126c
VS
10532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 Use submenus in grub-mkconfig.
1056
1057 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1058 * util/grub-mkconfig_lib.in (grub_quote): New function.
1059 (gettext_printf): Use gettext and not gettext_quoted to fix several
1060 messages.
1061 * util/grub.d/10_hurd.in: Use submenus.
1062 * util/grub.d/10_kfreebsd.in: Likewise.
1063 * util/grub.d/10_linux.in: Likewise.
1064 * util/grub.d/10_netbsd.in: Likewise.
1065 * util/grub.d/20_linux_xen.in: Likewise.
1066 * util/grub.d/30_os-prober.in: Likewise.
1067 * util/grub.d/10_illumos.in: Add missing quoting.
1068 * util/grub.d/10_windows.in: Likewise.
1069
d9bef9bc
VS
10702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 Fix menu title instability bug.
1073
1074 * grub-core/commands/menuentry.c (options): New option --id.
1075 (grub_normal_add_menu_entry): New argument id. All users updated.
1076 (grub_cmd_menuentry): Handle --id.
1077 (grub_menu_init): Accept unknown arguments.
1078 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1079 feature_menuentry_options.
1080 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1081 saved_entry.
1082 (get_entry_number): Match with id as well.
1083 * include/grub/menu.h (grub_menu_entry): New member id.
1084 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1085 * util/grub.d/00_header.in: Define menuentry_id_option.
1086 * util/grub.d/10_hurd.in: Define id.
1087 * util/grub.d/10_illumos.in: Likewise.
1088 * util/grub.d/10_kfreebsd.in: Likewise.
1089 * util/grub.d/10_linux.in: Likewise.
1090 * util/grub.d/10_netbsd.in: Likewise.
1091 * util/grub.d/10_windows.in: Likewise.
1092 * util/grub.d/20_linux_xen.in: Likewise.
1093 * util/grub.d/30_os-prober.in: Likewise.
1094
10952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1096
1097 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1098 "scope" with "body".
1099
7c8d0ce7
VS
11002012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1103 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1104 prot_size and prot_file_size.
1105
49de079b
VS
11062012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1109 All users updated. If easily=1 require raid-5/-6 to be full.
1110 (is_node_readable): Likewise.
1111 (scan_devices): Scan incomplete but readable LVs at the end.
1112 (grub_diskfilter_memberlist): Pull missing devices.
1113 (insert_array): Skip scanning until device is complete or scan is
1114 done otherwise.
1115 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1116 check.
1117 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1118 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1119
aff05d45
MG
11202012-03-03 Matthew Garrett <mjg@redhat.com>
11212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Avoid EFI boot services when loading Linux.
1124
1125 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1126 avoid_efi_bootservices. All users updated.
1127 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1128 argument avoid_efi_bootservices. All users updated.
1129 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
1130 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
1131 align, min_align, relocatable, prefered_address. All users updated.
1132 Allocate avoiding boot services if kernel is relocatable.
1133 (grub_cmd_linux): Check if kernel is relocatable.
1134 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
1135 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
1136 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
1137 avoid_efi_boot_services.
1138 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
1139 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
1140 (linux_kernel_params): Likewise.
1141
3935dde2
MG
11422012-03-03 Matthew Garrett <mjg@redhat.com>
11432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 Use EDID on EFI.
1146
1147 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
1148 datasize_out.
1149 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
1150 modes. Set gop_handle.
1151 (grub_video_gop_get_edid): New function.
1152 (grub_gop_get_preferred_mode): Likewise.
1153 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
1154 (grub_video_efi_gop_adapter): Set .get_edid.
1155 * include/grub/efi/edid.h: New file.
1156 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
1157
32107ec0
VS
11582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * util/grub-install.in: Load efivars unconditionally.
1161
e70a2c50
VS
11622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * po/Rules-piglatin: Change suffix from .po-update-en to
1165 .po-update-en-piglatin.
1166
8f9cace1
VS
11672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Add a pig farm.
1170
1171 * po/piglatin.sed: New file.
1172 * po/en@piglatin.header: Likewise.
1173 * po/Rules-piglatin: Likewise.
1174 * po/README: Add en@piglatin to autogenerated languages.
1175
8f95d002
VS
11762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
1179 "Command for ...".
1180 * grub-core/commands/hdparm.c (options): Use "Display" rather than
1181 "Check" since we don't check anything.
1182 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
1183 is 64-bit one.
1184 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
1185 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
1186 (grub_md_sha512_real): Likewise.
1187
805a8dcc
VS
11882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * grub-core/commands/gptsync.c: Fix typographic quoting.
1191 * grub-core/commands/ieee1275/suspend.c: Likewise.
1192 * grub-core/commands/parttool.c: Likewise.
1193 * grub-core/commands/search_wrap.c: Likewise.
1194 * grub-core/commands/videoinfo.c: Likewise.
1195 * grub-core/gfxmenu/gui_label.c: Likewise.
1196 * grub-core/hello/hello.c: Likewise.
1197 * grub-core/kern/emu/main.c: Likewise.
1198 * grub-core/net/net.c: Likewise.
1199 * grub-core/normal/menu.c: Likewise.
1200 * grub-core/normal/menu_text.c: Likewise.
1201 * grub-core/normal/misc.c: Likewise.
1202 * util/grub-editenv.c: Likewise.
1203 * util/grub-install.in: Likewise.
1204 * util/grub-kbdcomp.in: Likewise.
1205 * util/grub-mkconfig.in: Likewise.
1206 * util/grub-mknetdir.in: Likewise.
1207 * util/grub-mkrescue.in: Likewise.
1208 * util/grub-mkstandalone.in: Likewise.
1209 * util/grub-reboot.in: Likewise.
1210 * util/grub-set-default.in: Likewise.
1211 * util/grub-setup.c: Likewise.
1212 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1213
40211ab8
VS
12142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
1217 * grub-core/commands/keystatus.c: Likewise.
1218 * grub-core/commands/loadenv.c: Likewise.
1219 * grub-core/commands/probe.c: Likewise.
1220 * grub-core/commands/regexp.c: Likewise.
1221 * grub-core/commands/true.c: Likewise.
1222 * grub-core/commands/videoinfo.c: Likewise.
1223 * grub-core/disk/cryptodisk.c: Likewise.
1224 * grub-core/disk/ldm.c: Likewise.
1225 * grub-core/disk/loopback.c: Likewise.
1226 * grub-core/disk/luks.c: Likewise.
1227 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1228 * grub-core/kern/disk.c: Likewise.
1229 * grub-core/kern/emu/hostdisk.c: Likewise.
1230
0c7d99c7
VS
12312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
1234 * util/grub-install.in: Add missing quote in the comment.
1235
e7d2559b
VS
12362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
1239 * grub-core/commands/lsmmap.c: Likewise.
1240 * grub-core/commands/minicmd.c: Likewise.
1241 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1242 * grub-core/commands/regexp.c: Likewise.
1243 * grub-core/gdb/gdb.c: Likewise.
1244 * grub-core/term/gfxterm.c: Likewise.
1245 * util/grub-mkconfig.in: Likewise.
1246 * util/grub-mkfont.c: Likewise.
1247 * util/grub-mklayout.c: Likewise.
1248 * util/grub-mknetdir.in: Likewise.
1249 * util/grub-mkrescue.in: Likewise.
1250 * util/grub.d/30_os-prober.in: Likewise.
1251
49ce9e50
VS
12522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
1255 with "Direct color" and "Packed" with "Packed pixel".
1256 (grub_cmd_videoinfo): Simplify legend.
1257
e4b791fa
VS
12582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1261 absolutely unclear error message.
1262
fd1265cb
VS
12632012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-mkstandalone.in: Remove confusing leftover print.
1266
8822a8a0
VS
12672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
1270 comments.
1271 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
1272 (GRUB_MOD_INIT): Likewise.
1273 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
1274 VGA mode.
1275 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
1276 comments.
1277 * util/grub-install.in (usage): Likewise.
1278 Spell ID in whole letters.
1279 Add missing ending dot.
1280 Quote variables.
1281 * util/grub-reboot.in: Fix capitalisation.
1282 * util/grub-set-default.in: Likewise.
1283
937fd0cc
VS
12842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
1287 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
1288 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
1289 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
1290 Disable -Werror for -Wdeprecated-declarations.
1291 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
1292 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
1293 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
1294 (grub_util_get_grub_dev): Make luks handling dependent on
1295 HAVE_DEVICE_MAPPER and not __linux__.
1296 (get_win32_path): Fix format security.
1297 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
1298 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
1299 Don't try grub_find_zpool_from_dir.
1300 (grub_make_system_path_relative_to_its_root) [!__linux__]:
1301 #ifdef-out paresdir.
1302
1bab1ae3
VS
13032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * util/grub-pe2elf.c (usage): Add missing noreturn.
1306 (write_section_data): Rename name to shname to avoid shadowing.
1307 (write_symbol_table): Rename name to symname to avoid shadowing.
1308 Fix write_reloc_section call.
1309
ef023e42
VS
13102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
1313 to ensure that it's after the last byte of .text.
1314
48afcb75
VS
13152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/ieee1275/ofpath.c (my_isdigit): New function.
1318 (trailing_digits): Use my_isdigit.
1319 (strip_trailing_digits): Likewise.
1320
88d51eff
VS
13212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
1324 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
1325
17edc2ba
VS
13262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/kern/i386/pc/startup.S: Define __start.
1329
ad5518d7
VS
13302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
1333 strip already transforms he format.
1334
9e95e1bf
VS
13352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
1338
9cc3ee5c
VS
13392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * util/grub-install.in: Add missing gettext init.
1342 * util/grub-kbdcomp.in: Likewise.
1343 * util/grub-mkconfig.in: Likewise.
1344 * util/grub-mknetdir.in: Likewise.
1345 * util/grub-mkrescue.in: Likewise.
1346 * util/grub-mkstandalone.in: Likewise.
1347 * util/grub-reboot.in: Likewise.
1348 * util/grub-set-default.in: Likewise.
1349 * util/grub.d/00_header.in: Likewise.
1350 * util/grub.d/10_hurd.in: Likewise.
1351 * util/grub.d/10_windows.in: Likewise.
1352 * util/grub.d/30_os-prober.in: Likewise.
1353 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1354
49e08a06
VS
13552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * po/Rules-swiss: Fix header comment.
1358
3809cb41
AV
13592012-02-29 Andreas Vogel <anvoit>
1360
1361 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
1362 resulted in leak of arguments.
1363
fa6ec573
VS
13642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/boot/i386/pc/startup_raw.S: Use separate
1367 reed_solomon_size const definition instead of computing it since
1368 Apple assembler doesn't support the later.
1369
22899b9c
VS
13702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * gentpl.py (kernel): Rewrite Apple part.
1373
a132afc3
VS
13742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * include/grub/kernel.h (FOR_MODULES): Check module magic.
1377
9d742bd4
VS
13782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub-mkimagexx.c (locate_sections): Support non-standard
1381 ELF section gap.
1382 (load_image): Likewise.
1383
f04a9a21
VS
13842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * configure.ac: Fix a typo in previous commit.
1387
46cf439c
VS
13882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 Don't add -Wl,-N on Apple platform.
1391
1392 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
1393 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
1394
c4c48c54
VS
13952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/Makefile.core.def (lzma_decompress): Use
1398 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
1399
31a12124
VS
14002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/genmod.sh.in: Rewrite the Apple part.
1403
4f3aa1af
VS
14042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
1407 comparison.
1408
7bd8b0c7
VS
14092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * acinclude.m4 (grub_CHECK_PIC): New test.
1412 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
1413
97304d7c
VS
14142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
1417 to avoid the warning.
1418
fb883812
VS
14192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
1422 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
1423 after. All users updated.
1424
a121c964
VS
14252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Use the common size routine in hostfs so we can read disks as well.
1428
1429 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
1430 (grub_util_get_fd_size): ... this. Return size in bytes.
1431 All users updated.
1432 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
1433 grub_util_get_fd_size.
1434
c66d6410
VS
14352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
1438 Add blocksize retrieval.
1439
dfc8aeb0
VS
14402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * configure.ac: Restore CFLAGS after efiemu check.
1443
403e25a5
VS
14442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
1447 Apple bug.
1448
382775d1
VS
14492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
1452
6fd4e6e4
VS
14532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
1456 (grub_cmd_halt): Likewise.
1457
bea359d6
VS
14582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
1461 for local arithmetics.
1462 Break %sp init into 2 instructions.
1463 Add 0 byte at the end.
1464
32eb6ee1
VS
14652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/disk/diskfilter.c (read_segment): Initialise err
1468 before loops.
1469
e8377389
VS
14702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
1473 for context.
1474
8cb17de7
VS
14752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/disk/ldm.c (make_vg): Init part.name.
1478 (grub_ldm_detect): Silence spurious warning.
1479 (grub_util_is_ldm): Likewise.
1480
595717e6
VS
14812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
1484 sane value to avoid a spurious warning.
1485
c4b7e588
VS
14862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
1489 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
1490
59824957
VS
14912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
1494 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
1495
70115b99
VS
14962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
1499 hardcoding the relevant info.
1500
56733740
VS
15012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
1504 missing const qualifiers.
1505 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
1506
43481481
VS
15072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * util/getroot.c [__APPLE__]: Add missing includes.
1510 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
1511
3cb38f01
VS
15122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * util/grub-mkimage.c (generate_image): Silence spurious warning.
1515
d9dbf11e
VS
15162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
1519 avoid conflicts.
1520
0c42a45d
VS
15212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
1524
46c34eb0
VS
15252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
1528 and grub_file_close call.
1529
99ce1597
VS
15302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 Add LZSS Mach-O support (needed for new xnu kernelcache).
1533
1534 * grub-core/Makefile.core.def (xnu): Add file lzss.c
1535 * grub-core/loader/lzss.c: New file.
1536 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
1537 on Mach-O open failure.
1538 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
1539 Don't free cmdsXX in uncompressedXX is set.
1540 (grub_macho_file): Init new fields.
1541 New argument is_64bit. All users updated.
1542 Handle compressed. Error out if no suitable architecture is found.
1543 Don't close file.
1544 (grub_macho_open): New argument is_64bit. All users updated.
1545 * grub-core/loader/macho32.c: Add defines for new fields.
1546 * grub-core/loader/macho64.c: Likewise.
1547 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
1548 (grub_macho_parse): Handle compressed.
1549 Defer actual processing if compressed.
1550 (grub_macho_cmds_iterate): Decompress if compressed. New argument
1551 "filename". All users updated.
1552 (grub_macho_size): New argument "filename". All users updated.
1553 (grub_macho_get_entry_point): Likewise.
1554 (grub_macho_load): Handle compressed.
1555 * include/grub/macho.h (grub_macho_lzss_header): New struct.
1556 (GRUB_MACHO_LZSS_OFFSET): New define.
1557 (grub_decompress_lzss): New proto.
1558 * include/grub/machoload.h (grub_macho_file): New fields to handle
1559 compressed.
1560 (grub_macho_contains_macho64): Remove proto.
1561 (grub_macho_contains_macho32): Likewise.
1562 * util/grub.d/30_os-prober.in: Use kernel cache if available.
1563
ebd17d6f
VS
15642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
1567
2702b4e4
VS
15682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 Fix make dist.
1571
1572 * Makefile.am (starfield_theme_files): New var.
1573 (starfield_DATA): Use starfield_theme_files.
1574 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
1575 Add bootcheck-related files.
1576 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
1577 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
1578 and font_char_metrics.txt.
1579 * grub-core/Makefile.core.def (kernel): Update extra_dist.
1580 (setjmp): Add lib/ia64/longjmp.S.
1581 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
1582 * po/POTFILES.in: Regenerate.
1583 * po/Rules-swiss: use DISTFILES.common.extra2 and not
1584 DISTFILES.common.extra1.
1585 * util/devicemap.c: Removed.
1586 * grub-core/lib/i386/relocator_backward.S: Likewise.
1587 * util/import_gcry.py: Remove unused files. Add extra_dist for
1588 ChangeLog.
1589
cf1adfdf
VS
15902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/gettext/gettext.c (grub_mofile_open): Call
1593 grub_gettext_delete_list before changing grub_gettext_max to avoid
1594 running out of array bounds.
1595
15962012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
1597
1598 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
1599 grub_vga_text_init/grub_vga_text_fini.
1600
cf1adfdf 16012012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
1602
1603 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
1604
541d92e9
VS
16052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * configure.ac: Bump to 2.00~beta0.
1608
7931dddf
VS
16092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
1612 missing initialisation.
1613
f1b16fa3
VS
16142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
1617
83ddae23
VS
16182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 Support v2 xnu boot arguments.
1621
1622 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
1623 New argument fsbfreq_out.
1624 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
1625 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
1626 be used.
1627 * grub-core/loader/machoXX.c (grub_macho_load): New argument
1628 darwin_version.
1629 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
1630 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
1631 (grub_xnu_boot_params): Rename to ...
1632 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1633 (grub_xnu_boot_params_v2): New struct.
1634
dc693fe6
VS
16352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1638 zeroing of CRC field before computing CRC.
1639
5a6e39c2
VS
16402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1643 Change order of allocations to decrease fragmentation.
1644
6c21f5d7
VS
16452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1648
cfe456dc
CW
16492012-02-27 Colin Watson <cjwatson@ubuntu.com>
1650
1651 Use write-combining MTRR to speed up video with buggy BIOSes.
1652
1653 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1654 (cpuid): New define.
1655 (rdmsr): Likewise.
1656 (wrmsr): Likewise.
1657 (mtrr_base): Likewise.
1658 (mtrr_mask): Likewise.
1659 (grub_vbe_enable_mtrr_entry): New function.
1660 (grub_vbe_enable_mtrr): Likewise.
1661 (grub_vbe_disable_mtrr): Likewise.
1662 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1663 control off to BIOS.
1664 (grub_video_vbe_init): Fill mtrr.
1665 (grub_video_vbe_fini): Disable mtrr.
1666 (grub_video_vbe_get_info_and_fini): Likewise.
1667 (grub_video_vbe_setup): Enable mtrr.
1668
e3c78337
CW
16692012-02-27 Colin Watson <cjwatson@ubuntu.com>
1670
1671 * include/grub/partition.h (grub_partition_map): Change prototype of
1672 embed to take a maximum value for nsectors.
1673 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1674 * include/grub/fs.h (grub_fs): Likewise.
1675 * grub-core/partmap/msdos.c (embed_signatures): New array.
1676 (pc_partition_map_embed): Check for and avoid sectors matching any
1677 of the signatures in embed_signatures, up to max_nsectors.
1678 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1679 returned sector map to max_nsectors.
1680 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1681 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1682 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1683 * util/grub-setup.c (setup): Allow for the embedding area being
1684 split into multiple blocklists. Tell dest_partmap->embed the
1685 maximum number of sectors we care about.
1686
16872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1690 Specify blocklist_install and reserver_first_sector for all fs.
1691 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1692 blocklists.
1693
984b973f
VS
16942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * util/grub-install.in: Clarify strings.
1697 Fix source dir check.
1698
f122e0d6
RL
16992012-02-27 Richard Laager <rlaager@wiktel.com>
1700
1701 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1702 "zfs" and "fuse.zfs" as synonyms.
1703
071114bb
VS
17042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * configure.ac: Put platform and target_cpu substitutions back since
1707 they are used for directories.
1708
817e6abc
RL
17092012-02-27 Richard Laager <rlaager@wiktel.com>
17102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1713 * util/grub.d/20_linux_xen.in: Likewise.
1714
897b7419
RL
17152012-02-27 Richard Laager <rlaager@wiktel.com>
1716
1717 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1718 with full paths.
1719
a414bd15
RL
17202012-02-27 Richard Laager <rlaager@wiktel.com>
1721
1722 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1723 unescape.
1724
30ac48c4
VS
17252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 Don't use insecure popen in getroot.
1728
1729 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1730 (exec_pipe): ... here.
1731 (find_root_devices_from_poolname): Use exec_pipe.
1732
53f13848
VS
17332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Remove platform and target_cpu replacement.
1736
1737 * configure.ac: Remove platform and target_cpu substitutions.
1738 * tests/util/grub-shell.in: Use modinfo.
1739 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1740 explicitly.
1741
90cb2803
VS
17422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 Autodetect platform in grub-install but allow override.
1745
1746 * util/grub-install.in: Autodetect platform. Support --target and
1747 --directory. Read platform from modinfo.sh.
1748
b9136427
VS
17492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 Support btrfs multi-volume probe.
1752
1753 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1754 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1755 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1756 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1757 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1758 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1759 grub_find_root_devices_from_btrfs if on btrfs.
1760
c36e5cd1
VS
17612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 Remove any awareness of *.c util files about target.
1764
1765 * Makefile.util.def (grub-setup): Split to ...
1766 (grub-bios-setup): ... and this.
1767 (grub-sparc64-setup): ... and this.
1768 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1769 * docs/man/grub-setup.h2m: Split into ...
1770 * docs/man/grub-sparc64-setup.h2m: ... this.
1771 * docs/man/grub-bios-setup.h2m: ... and this.
1772 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1773 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1774 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1775 (grub_target_addr_t): Remove.
1776 (grub_target_size_t): Remove.
1777 (grub_target_ssize_t): Remove.
1778 * util/grub-install.in: Use new grub-*-setup.
1779 * util/grub-mkimagexx.c (Elf_Word): New define.
1780 (Elf_Half): Likewise.
1781 (Elf_Section): Likewise.
1782 (ELF_ST_TYPE): Likewise.
1783 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1784 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1785
584b2f8a
VS
17862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Replace grub_target_addr with more appropriate types.
1789
1790 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1791 grub_target_addr with grub_addr.
1792 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1793 grub_target_addr with grub_port.
1794 (grub_cmd_write): Likewise.
1795 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1796 grub_target_addr with grub_addr.
1797 (grub_cmd_write): Likewise.
1798 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1799
5a0dc6fb
VS
18002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1803 const qualifier for vendor_guid.
1804
786aff6e
VS
18052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1808 const qualifier.
1809 (efiemu_memequal): Likewise.
1810 (find_variable): Likewise.
1811
49017b17
VS
18122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Fix missing console prototype on qemu-mips.
1815
1816 * include/grub/mips/qemu_mips/console.h: New file.
1817
c5988629
MG
18182012-02-27 Matthew Garrett <mjg@redhat.com>
18192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1822 * include/grub/efi/efi.h: Likewise.
1823 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1824 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1825 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1826 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1827 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1828 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1829
e33f8d69
MG
18302012-02-27 Matthew Garrett <mjg@redhat.com>
1831
1832 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1833
fb312cd9
VS
18342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1837 error.
1838
7134247c
VS
18392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * configure.ac: Remove inappropriate use of program_transform_name
1842 on grubdir and bootdir but allow explicit specification of those
1843 variables.
1844
6a313124
VS
18452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * util/grub-mknetdir.in (grub_prefix): Removed.
1848 (subdir): Use @bootdirname@ and @grubdirname@.
1849
2311c5ca
VS
18502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1853
7d5d60f7
VS
18542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * po/POTFILES.in: Regenerated.
1857
8151bc82
VS
18582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Remove improper use of program_transform_name on pkglibrootdir.
1861
1862 * configure.ac (pkglibrootdir): Removed.
1863 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1864 * util/grub-mkimage.c: Likewise.
1865
b4a6a533
VS
18662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1869 warning.
1870
668f304f
VS
18712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * util/grub-install.in: Use file identifier if no UUID is available
1874 or user explicitly prompted for it.
1875
665f2341
NP
18762012-02-27 Navdeep Parhar <nparhar@gmail.com>
1877
1878 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1879 (freebsd_get_zfs): New function.
1880 (grub_freebsd_boot): Pass zfs UUID.
1881 (grub_cmd_freebsd): Set zfs UUID.
1882
8151bc82 18832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1884
1885 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1886 pkglibrootdir.
1887
e4c498a1
MG
18882012-02-27 Mike Gilbert <floppym@gentoo.org>
1889
1890 Add configure flag to control libzfs integration.
1891
1892 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1893
1e9a9a3f
VS
18942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1897 device.
1898 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1899 small devices.
1900
036985b8
VS
19012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1904 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1905 be used on non-modules.
1906
1907 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1908 Rename to grub_boot_init.
1909 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1910 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1911 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1912 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1913 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1914 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1915 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1916 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1917 includes.
1918 (grub_machine_init): Remove empty inits.
1919 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1920 includes.
1921 (grub_machine_init): Remove empty inits.
1922 * grub-core/term/arc/console.c: Remove explicit proto.
1923 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1924 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1925 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1926 grub_at_keyboard_fini.
1927 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1928 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1929 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1930 grub_gfxterm_fini.
1931 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1932 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1933 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1934 grub_vgatext_fini.
1935 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1936 * grub-core/term/serial.c (GRUB_MOD_INIT)
1937 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1938 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1939 grub_serial_fini.
1940 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1941 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1942 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1943 grub_terminfo_fini.
1944 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1945 (GRUB_MOD_FINI): Likewise.
1946 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1947 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1948 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1949 grub_video_radeon_fuloong2e_fini.
1950 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1951 [LOONGSON]: Rename to grub_video_sis315pro_init.
1952 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1953 grub_video_sis315pro_fini.
1954 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1955 [LOONGSON]: Rename to grub_video_sm712_init.
1956 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1957 grub_video_sm712_fini.
1958 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1959 (grub_at_keyboard_fini): Likewise.
1960 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1961 Don't declare grub_{modname}_init.
1962 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1963 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1964 New proto.
1965 (grub_keylayouts_fini) [!EMU]: Likewise.
1966 * include/grub/serial.h (grub_serial_init) [!EMU]:
1967 New proto.
1968 (grub_serial_fini) [!EMU]: Likewise.
1969 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1970 New proto.
1971 (grub_terminfo_fini) [!EMU]: Likewise.
1972 * include/grub/video.h (grub_font_init) [!EMU]:
1973 New proto.
1974 (grub_font_fini) [!EMU]: Likewise.
1975 (grub_gfxterm_init) [!EMU]: Likewise.
1976 (grub_gfxterm_fini) [!EMU]: Likewise.
1977 (grub_video_sm712_init) [!EMU]: Likewise.
1978 (grub_video_sm712_fini) [!EMU]: Likewise.
1979 (grub_video_sis315pro_init) [!EMU]: Likewise.
1980 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1981 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1982 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1983
d5534665
VS
19842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Make nand a prefix for nand devices.
1987
1988 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1989
10133b5f
VS
19902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1993 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1994
8e307a62
VS
19952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * include/grub/env.h (grub_env_find): Remove prototype.
1998 * grub-core/kern/env.c (grub_env_find): Make static.
1999 (grub_env_set): Remove useless set.
2000
a4c65f34
VS
20012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/kern/i386/realmode.S: Remove useless align.
2004
d87893d5
VS
20052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * include/grub/dl.h (grub_dl_load_file): Don't export.
2008
50159add
VS
20092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2012 grub_dprintf.
2013
b2582b84
VS
20142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2017 grub_errors.
2018 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2019 not reloading whole superblock but only the part which is really needed.
2020 Remove useless grub_errors.
2021 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2022 grub_errors.
2023
e2a83395
VS
20242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Don't export grub_get_rtc.
2027
2028 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2029 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2030
e7d2a906
VS
20312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2034
6cf1363b
VS
20352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2038 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2039
eece3349
VS
20402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Remove prio_list.
2043
2044 * include/grub/list.h (grub_prio_list): Removed.
2045 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2046 GRUB_COMMAND_PRIO_MASK.
2047 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2048 GRUB_COMMAND_FLAG_ACTIVE.
2049 (grub_prio_list_insert): Removed.
2050 (grub_prio_list_remove): Likewise.
2051 (GRUB_AS_PRIO_LIST): Likewise.
2052 (GRUB_AS_PRIO_LIST_P): Likewise.
2053 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2054 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2055 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2056 * grub-core/kern/command.c (grub_register_command_prio): Inline
2057 the prio_list code.
2058 (grub_unregister_command): Likewise.
2059
94f064b4
VS
20602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 Fix interrupt mixup from previous commit.
2063
2064 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2065 (grub_realidt): New var.
2066 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2067 Load idt.
2068 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2069 New declaration.
2070 (grub_relocator16_boot): Set grub_relocator16_idt.
2071 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2072 (LOCAL(realidt)): ... this.
2073 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2074 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2075 (grub_realidt): New variable.
2076
27317084
VS
20772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2080 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2081 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2082 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2083 Gettextize.
2084 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2085 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2086 * po/POTFILES.in: Regenerate.
2087
47b40053
VS
20882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2089
2090 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2091 errors.
2092
2b343101
VS
20932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2096 \0.
2097 (add_length): Likewise.
2098
ff27c3dd
LK
20992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21002012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2101
2102 GDB serial and backtrace support.
2103
2104 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2105 (prot_to_real): Likewise.
2106 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2107 * grub-core/Makefile.core.def (backtrace): New module.
2108 (gdb): Likewise.
2109 * grub-core/gdb/cstub.c: New file.
2110 * grub-core/gdb/gdb.c: Likewise.
2111 * grub-core/gdb/i386/idt.c: Likewise.
2112 * grub-core/gdb/i386/machdep.S: Likewise.
2113 * grub-core/gdb/i386/signal.c: Likewise.
2114 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2115 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2116 * include/grub/backtrace.h: Likewise.
2117 * include/grub/gdb.h: Likewise.
2118 * include/grub/i386/gdb.h: Likewise.
2119
21202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2121
2122 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2123 New function.
2124 (add_length): Likewise.
2125 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2126 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2127 proto.
2128 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2129 __argp_get_display_len.
2130
ff27c3dd 21312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
2132
2133 $"..." support in scripts.
2134
2135 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
2136 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
2137 * grub-core/script/yylex.l: Likewise.
2138 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
2139 value.
2140
ff27c3dd 21412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
2142
2143 * gentpl.py: Remove obsolete pkglib_DATA handling.
2144
ff27c3dd 21452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
2146
2147 Don't transform PACKAGE_TARNAME following a discussion on autoconf
2148 mailing list.
2149
2150 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
2151 * util/grub-kbdcomp.in: Likewise.
2152 * util/grub-mkconfig.in: Likewise.
2153 * util/grub-mkconfig_lib.in: Likewise.
2154 * util/grub-mknetdir.in: Likewise.
2155 * util/grub-mkrescue.in: Likewise.
2156 * util/grub-mkstandalone.in: Likewise.
2157 * util/grub-reboot.in: Likewise.
2158 * util/grub-set-default.in: Likewise.
2159 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2160
ff27c3dd 21612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
2162
2163 Remove GRUB_PREFIX.
2164
2165 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
2166 * util/grub.d/00_header.in: Compute prefix in the only place it's still
2167 used for backward compatibility.
2168
ff27c3dd 21692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
2170
2171 Add new all_video module.
2172
2173 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
2174 * grub-core/Makefile.core.def (all_video): New module.
2175 * grub-core/genmoddep.awk: Generate dependency of all_video from
2176 video.lst.
2177 * grub-core/lib/fake_module.c: New file.
2178 * grub-core/normal/main.c (features): Add feature_all_video_module.
2179 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
2180 don't do explicit search again.
47454da5 2181 insmod all_video in load_video if available.
22c7ce85 2182
ff27c3dd 21832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
2184
2185 Another round of string clarification and adding TRANSLATORS comments.
2186
ff27c3dd 21872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
2188
2189 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
2190
ff27c3dd 21912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
2192
2193 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
2194 to grub_ssize_t.
2195 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
2196 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
2197
ff27c3dd 21982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
2199
2200 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
2201 trailing newline implicitly. All users updated.
2202
ff27c3dd 22032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
2204
2205 Implement serial on IEEE1275 and EFI.
2206
2207 * docs/grub.texi (Platform-specific limitations): Fix the columen video
2208 on emu. Mention arc and emu as the only platforms without serial
2209 support.
2210 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
2211 ieee1275 platforms.
2212 * grub-core/term/efi/serial.c: New file.
2213 * grub-core/term/ieee1275/serial.c: Likewise.
2214 * grub-core/term/serial.c (grub_serial_find): Disable direct port
2215 specification if no ns8250 driver is available.
2216 (grub_cmd_serial): Likewise.
2217 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
2218 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
2219 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
2220 (grub_efi_parity_type_t): New type.
2221 (grub_efi_stop_bits_t): Likewise.
2222 (grub_efi_serial_io_interface): New struct.
2223 * include/grub/serial.h (grub_serial_port): Make 'broken' field
2224 available for all interfaces.
2225 Add EFI and IEEE1275 fields.
2226 (grub_ofserial_init): New proto.
2227 (grub_efiserial_init): Likeiwse.
2228 * util/grub.d/00_header.in: Don't check for the presence of serial
2229 module.
2230
ff27c3dd 22312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
2232
2233 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
2234 name as if it was an alias.
2235
114076ef
VS
22362012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/commands/lsacpi.c (options): Fix typo.
2239
6a656b0e
VS
22402012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 Convert grub-emu to argp.
2243
2244 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
2245 emu.
2246 * util/argp_common.c: Rename to ...
2247 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
2248 Add missing includes.
2249 * grub-core/kern/emu/main.c: Convert to argp.
2250 * po/POTFILES.in: Regenerate.
2251 * util/grub-install.in (usage): Make first letter lowcase in messages
2252 for uniformity.
2253 * util/grub-setup.c (options): Likewise.
2254
1e3f8ae8
VS
22552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
2258 Put back accidently commented-out code.
2259
ed167a80
VS
22602012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
2263 loop check using Brent algorithm.
2264 (grub_hfsplus_btree_search): Likewise.
2265
6753c0ec
VS
22662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * util/grub-install.in: Fix usage of wrong device for PreP install.
2269
4e27343f
VS
22702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * conf/Makefile.common (CFLAGS_GNULIB): Add
2273 -Wno-unsafe-loop-optimizations.
2274 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
2275 on tools.
2276 * grub-core/commands/legacycfg.c: Add pragma to skip
2277 -Wunsafe-loop-optimizations.
2278 (check_password_md5_real): Fix loop counter type.
2279 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
2280 reading.
2281 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
2282 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
2283 loop condition.
2284 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
2285 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
2286 * grub-core/net/net.c (grub_net_route_address): Add safety loop
2287 condition.
2288 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
2289 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
2290 avoid possible infinite loops.
2291 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
2292 and -Wunsafe-loop-optimizations.
2293 * grub-core/script/yylex.l: Likewise.
2294 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
2295 (print_glyphs): Avoid infinite loops.
2296 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
2297
697f18b0
GS
22982012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
2299
2300 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
2301 to avoid infinite loop.
2302 (disp_acpi_rsdt_table): Likewise.
2303
274416e8
VS
23042012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/font/font.c (grub_font_load): Add support for default
2307 path for fonts ($prefix/fonts).
2308 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
2309 for checking if string is a path.
2310 * grub-core/normal/main.c (features): Add feature_default_font_path.
2311 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
2312 * util/grub.d/00_header.in: Use default directory if possible.
2313 * util/grub-install.in: Install unicode.pf2.
2314
b3e08622
VS
23152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
2318 * po/Rules-swiss: New file.
2319 * po/swiss.sed: Likewise.
2320
fe42ce09
VS
23212012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2322
2323 * grub-core/fs/btrfs.c (find_device): Fix typos.
2324 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
2325 * util/grub-mkrelpath.c (argp_parser): Likewise.
2326 Reported by: Yuri Chornoivan.
2327
72f1d065
DO
23282012-02-23 Dalet Omega <daletomega@gmail.com>
2329
2330 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
2331 for usual informative messages.
2332
c5884973
DO
23332012-02-23 Dalet Omega <daletomega@gmail.com>
2334
2335 Starfield theme.
2336
2337 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
2338 * conf/Makefile.common: Define starfielddir.
2339 * configure.ac: Configure starfield.
2340 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
2341 * themes/starfield/README: Likewise.
2342 * themes/starfield/blob_w.png: Likewise.
2343 * themes/starfield/boot_menu_c.png: Likewise.
2344 * themes/starfield/boot_menu_e.png: Likewise.
2345 * themes/starfield/boot_menu_n.png: Likewise.
2346 * themes/starfield/boot_menu_ne.png: Likewise.
2347 * themes/starfield/boot_menu_nw.png: Likewise.
2348 * themes/starfield/boot_menu_s.png: Likewise.
2349 * themes/starfield/boot_menu_se.png: Likewise.
2350 * themes/starfield/boot_menu_sw.png: Likewise.
2351 * themes/starfield/boot_menu_w.png: Likewise.
2352 * themes/starfield/slider_c.png: Likewise.
2353 * themes/starfield/slider_n.png: Likewise.
2354 * themes/starfield/slider_s.png: Likewise.
2355 * themes/starfield/src/blob_nw.xcf: Likewise.
2356 * themes/starfield/src/bootmenu/: Likewise.
2357 * themes/starfield/src/bootmenu/center.xcf: Likewise.
2358 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
2359 * themes/starfield/src/bootmenu/side.xcf: Likewise.
2360 * themes/starfield/src/slider_c.xcf: Likewise.
2361 * themes/starfield/src/slider_n.xcf: Likewise.
2362 * themes/starfield/src/slider_s.xcf: Likewise.
2363 * themes/starfield/src/terminalbox/: Likewise.
2364 * themes/starfield/src/terminalbox/center.xcf: Likewise.
2365 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
2366 * themes/starfield/src/terminalbox/side.xcf: Likewise.
2367 * themes/starfield/starfield.png: Likewise.
2368 * themes/starfield/terminal_box_c.png: Likewise.
2369 * themes/starfield/terminal_box_e.png: Likewise.
2370 * themes/starfield/terminal_box_n.png: Likewise.
2371 * themes/starfield/terminal_box_ne.png: Likewise.
2372 * themes/starfield/terminal_box_nw.png: Likewise.
2373 * themes/starfield/terminal_box_s.png: Likewise.
2374 * themes/starfield/terminal_box_se.png: Likewise.
2375 * themes/starfield/terminal_box_sw.png: Likewise.
2376 * themes/starfield/terminal_box_w.png: Likewise.
2377 * themes/starfield/theme.txt: Likewise.
2378
17d73325
VS
23792012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * util/grub.d/00_header.in: Add missing export theme.
2382
dbebaf92
VS
23832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
2386 already included.
2387 Reported by: Eren D.
2388
3d68bffb
VS
23892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * conf/Makefile.common (grubdatadir): Removed.
2392 (Makefile.am): Move eveything grubdata to pkgdata.
2393
4b59234d
VS
23942012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/commands/acpihalt.c (get_sleep_type):
2397 Remove unused variable.
2398
463dcadc
VS
23992012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
2402 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
2403 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
2404 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
2405 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
2406 i18n with gettext no-op.
2407 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
2408 GRUB_ACPI_OPCODE_STRING_CONST.
2409 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
2410 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
2411
e5b90c82
VS
24122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * po/POTFILES.in: Regenerate.
2415
2a704ca9
VS
24162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
2419 -Wno-error=missing-noreturn.
2420
84f9d341
VS
24212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
2424 condition to avoid possibly infinite loops.
2425 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
2426 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2427
d46683f9
VS
24282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
2431 condition to avoid possibly infinite loops.
2432
c44866b2
VS
24332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
2436 on show_error.
2437
96790539
VS
24382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
2441
1ba7e295
VS
24422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
2445
21ffe8f1
VS
24462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * util/bin2h.c (usage): Add missing attribute noreturn.
2449
0ccb6b3c
VS
24502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
2453 if the size isn't divisible by 512.
2454
b00d7fb6
VS
24552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Make list_push and list_remove functions rather than inline functions
2458 to decrease size and avoid aliasing violations.
2459
2460 * include/grub/list.h (grub_list_push): Move to ...
2461 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
2462 * include/grub/list.h (grub_list_remove): Move to ...
2463 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
2464
9d369087
VS
24652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
2468 and -Wunused-result.
2469
af0250d9
VS
24702012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
2473 Reported by: Seth Goldberg
2474
aad32b14
VS
24752012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
2478
ac96441c
ST
24792012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2480
2481 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
2482 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
2483 command line.
2484 * docs/grub.texi (Simple configuration): Document
2485 GRUB_CMDLINE_GNUMACH.
2486
24872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
2488
2489 * conf/Makefile.common (platform_SCRIPTS): New variable.
2490 (platform_PROGRAMS): Likewise.
2491 * gentpl.py: Mark *,module and *.image for install.
2492 * grub-core/gdb_grub.in: Add a notice of expected environment.
2493 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
2494 (gmodule.pl): Likewise.
2495
ac96441c 24962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
2497
2498 Replace grub_checkkey with grub_getkey_noblock.
2499
2500 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
2501 (grub_getkey_noblock): ... this. All users updated.
2502
ac96441c 25032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
2504
2505 * grub-core/kern/emu/console.c: Move to ...
2506 * grub-core/term/emu/console.c: ...here.
2507 (grub_ncurses_getkey): Fix return value if no key is detected.
2508
e51b5666
VS
25092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
2512 (grub_unit_test_fini): Likewise.
2513 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
2514
25152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * include/grub/test.h (GRUB_UNIT_TEST)
2518
d9a62292
VS
25192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * grub-core/script/execute.c (grub_script_break): Clarify logic.
2522 Better error handling.
2523 (grub_script_return): Likewise.
2524 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2525
77c9182f
VS
25262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
2529 rimplicit redifinition.
2530
edb13cf9
VS
25312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
2534 GRUB.
2535
a9e9dc7c
VS
25362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
2539 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
2540 prompt here.
2541
b4ba8e02
VS
25422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
2545 as GRUB_ERR_BUG. Don't malloc if no device is available.
2546
dded5540
VS
25472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
2550 Mark calling with invalid term as GRUB_ERR_BUG.
2551
0cf69874
VS
25522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
2555 packets rather than raising an error.
2556
59bfe502
VS
25572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
2560 in if.
2561
db5fc596
VS
25622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
2565 diagnostic to dprintf.
2566 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2567
e4b7f404
VS
25682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
2571 device name.
2572
e7b02f9e
VS
25732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
2576 (grub_ntfs_iterate_dir): Likewise.
2577
0331e102
VS
25782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Efiemu stylistic fixes and gettext.
2581
2582 * grub-core/efiemu/i386/loadcore32.c
2583 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
2584 * grub-core/efiemu/i386/loadcore64.c
2585 (grub_arch_efiemu_relocate_symbols64): Likewise.
2586 * grub-core/efiemu/i386/pc/cfgtables.c
2587 (grub_machine_efiemu_init_tables): Likewise.
2588 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
2589 (grub_efiemu_loadcore_initXX): Add a filename argument.
2590 All users updated.
2591 Improved error message.
2592 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
2593 Add a filename argument.
2594 All users updated.
2595 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
2596 Reclassify double relocation as GRUB_ERR_BUG.
2597
306fc074
VS
25982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
2601 handling.
2602
794d8ef2
VS
26032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
2606 on partition.
2607
26082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
2609
2610 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
2611
794d8ef2 26122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
2613
2614 Improve string. Gettextize.
2615
78dde88e
VS
26162012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
2619 utils.
2620 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
2621
4786a90f
VS
26222012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
2625 [GRUB_UTIL]: New function.
2626 (insert_array) [GRUB_UTIL]: Store partmaps.
2627 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
2628 partmaps.
2629 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
2630 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
2631 (probe_abstraction): Print diskfilter and not raid.
2632 Reported by: Lennart Sorensen
2633
0b6225bd
VS
26342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2637 * util/grub-mkimagexx.c (MASK3): New define.
2638 (add_value_to_slot_20b): Use MASK3.
2639 (add_value_to_slot_21): Likewise.
2640 (relocate_addresses): Fix format specification.
2641 (load_image): Explicitly init symtab_section.
2642
b055f8f6
VS
26432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2646 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2647
b77c2fb7
VS
26482012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2651 on powerpc.
2652 Reported by: Lennart Sorensen
2653
e3ec28ab
VS
26542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * gentpl.py: Add missing license header.
2657 * docs/grub.texi: Update copyright year.
2658
c8d9ead6
GS
26592012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2660
2661 Source grub-mkconfig_lib from the build directory at build time.
2662 Suggested by: Vladimir Serbinenko.
2663
2664 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2665 * util/grub-install.in: Define pkgdatadir if not already set, and source
2666 grub-mkconfig_lib from there.
2667 * util/grub-kbdcomp.in: Likewise.
2668 * util/grub-mkconfig.in: Likewise.
2669 * util/grub-mknetdir.in: Likewise.
2670 * util/grub-mkrescue.in: Likewise.
2671 * util/grub-mkstandalone.in: Likewise.
2672 * util/grub-reboot.in: Likewise.
2673 * util/grub-set-default.in: Likewise.
2674 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2675
ebcecdf1
VS
26762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 Increase warning level.
2679
2680 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2681 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2682 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2683 (TARGET_CFLAGS): Likewise.
2684 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2685 * grub-core/Makefile.core.def (decompressor_xz): Add
2686 -Wno-unreachable-code.
2687 (normal): Add -Wno-redundant-decls.
2688 (xzio): Add -Wno-unreachable-code.
2689 (lzopio): Add -Wno-redundant-decls -Wno-error.
2690 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2691 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2692 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2693 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2694 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2695 * grub-core/kern/i386/coreboot/init.c: Add exception to
2696 -Wsuggest-attribute=noreturn.
2697 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2698 * grub-core/kern/ia64/dl_helper.c: Likewise.
2699 * grub-core/kern/mips/dl.c: Likewise.
2700 * grub-core/kern/sparc64/dl.c: Likewise.
2701 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2702 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2703 (memcmp): Likewise.
2704 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2705 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2706 * grub-core/loader/mips/linux.c: Likewise.
2707 * grub-core/loader/multiboot_elfxx.c: Likewise.
2708 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2709 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2710 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2711 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2712 fixme.
2713 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2714 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2715 Fix prototype.
2716
37bb97fe
VS
27172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2720 address.
2721
29a3550b
VS
27222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2725 Avoid improper use of strings.
2726 (grub_cmd_legacy_initrdnounzip): Likewise.
2727
dfdffd0d
VS
27282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2731 attribute.
2732 (grub_util_info): Likewise.
2733 (grub_util_error): Likewise.
2734
102fae4a
VS
27352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2738 * util/grub-fstest.c (fstest): Likewise.
2739
7e94d044
VS
27402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2743 (grub_md_sha512_real): Likewise.
2744 (grub_util_get_geli_uuid): Likewise.
2745 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2746 (grub_util_biosdisk_open): Fix format specification.
2747 Respect format security.
2748 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2749 (xrealloc): Likewise.
2750 (xasprintf): Likewise.
2751
5ebd9769
VS
27522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/import_gcry.py: Include grub/crypto.h in init.c.
2755
495fc8c1
VS
27562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2759 (generate_image): Make prefix a const char *.
2760 Fix format specifications. Respect format security.
2761 Avoid void * arithmetics.
2762 Avoid shadowing.
2763 (argp_parser): Remove unused variable. Respect format security.
2764 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2765 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2766 (count_funcs): Remove unused variable.
2767 (relocate_addresses): Fix format specification.
2768 Disable x86-64 with elf32. Remove unused variables.
2769 (add_fixup_entry): Avoid shadowing.
2770 (make_reloc_section): Fix format specification.
2771 Use assert.
2772 (locate_sections): Fix format specifications.
2773 (load_image): Avoid shadowing.
2774
043c2ea3
VS
27752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2778 Fix format specifications. Respect format security.
2779 Don't translate already translated grub_errmsg.
2780 (argp_parser): Remove unused variable
2781
3ec65a81
VS
27822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2785
a4d9fe4a
VS
27862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2789 (main): Likewise. Use xmalloc. Respect format security.
2790
15b81d49
VS
27912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2794 a const char *.
2795 (argp_parser): Remove unused variable.
2796
31731fc0
VS
27972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2800 (add_pixel): Make static.
2801 (add_font): Likewise.
2802 (write_string_section): Make name and str a const char *.
2803 (write_be16_section): Make name a const char *.
2804 (print_glyphs): Make static.
2805 (write_font_ascii_bitmap): Likewise.
2806 (write_font_width_spec): Likewise.
2807 (write_font_pf2): Likewise.
2808 (argp_parser): Remove unused variable.
2809 Respect format security.
2810 (main): Avoid shadowing. Respect format security.
2811
0809527b
VS
28122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * util/grub-editenv.c (argp_parser): Make static.
2815 (create_envblk_file): Use xmalloc.
2816 (open_envblk_file): Likewise.
2817 Resepect format security.
2818 (set_variables): Respect format security.
2819
45b0c8b7
VS
28202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * util/getroot.c (grub_find_device): Respect format security.
2823 (get_mdadm_uuid): Remove unused variable.
2824 (grub_util_pull_device): Dont call gettext on already translated
2825 grub_errmsg.
2826 (find_system_device): Remove unused variable.
2827 (grub_util_get_grub_dev): Likewise.
2828 (grub_make_system_path_relative_to_its_root): Respect format security.
2829
1b024b4e
VS
28302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * util/grub-fstest.c (execute_command): Make first argument
2833 a const char *.
2834 (read_file): Avoid shadowing.
2835 Reuse underlying error message if device open fails.
2836 (cmd_cmp): Respect format security.
2837 (root): Make const char *.
2838 (fstest): Remove args argument and use global copy.
2839 Respect format security.
2840 (argp_parser): Make static.
2841 (main): Make default_root const char *.
2842
5d1d4e28
VS
28432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * util/grub-mount.c (root): Make const char *.
2846 (execute_command): Make first argument a const char *.
2847 (fuse_init): Respect format security.
2848 (argp_parser): Make static. Remove unused variable.
2849 (main): Make default_root a const char *.
2850 Respect format security.
2851
36eb7379
VS
28522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * util/grub-probe.c (probe): Don't call gettext on already translated
2855 grub_errmsg.
2856 Remove unused variables.
2857 (argp_parser): Remove unused variable.
2858
76fb2ea9
VS
28592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * util/grub-script-check.c (argp_parser): Remove unused variable.
2862 (main): Rename read to curread to avoid shadowing.
2863
56c98584
VS
28642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * util/misc.c (grub_util_write_image_at): Fix format specification.
2867 (grub_util_write_image): Likewise.
2868 (grub_script_execute_argument_to_string): Removed (unused).
2869 (grub_script_execute_menuentry): Likewise.
2870 (grub_putchar): Likewise.
2871
164ebb48
VS
28722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2875 (FUNCTION) [GRUB_UTIL]: Likewise.
2876 (VARIABLE) [GRUB_UTIL]: Likewise.
2877
44318d61
VS
28782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2881 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2882
31a26002
VS
28832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2886 buffer.
2887
28882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2891 (LzmaEnc_SaveState): Removed (unused).
2892 (LzmaEnc_RestoreState): Likewise.
2893 (LzmaEnc_InitPriceTables): Made static.
2894 (LzmaEnc_Construct): Likewise.
2895 (LzmaEnc_FreeLits): Likewise.
2896 (LzmaEnc_Destruct): Likewise.
2897 (LzmaEnc_Init): Likewise.
2898 (LzmaEnc_InitPrices): Likewise.
2899 (LzmaEnc_Finish): Likewise.
2900 (LzmaEnc_PrepareForLzma2): Removed (unused).
2901 (LzmaEnc_MemPrepare): Likewise.
2902 (LzmaEnc_GetNumAvailableBytes): Likewise.
2903 (LzmaEnc_GetCurBuf): Likewise.
2904 (LzmaEnc_CodeOneMemBlock): Likewise.
2905
6fa67967
VS
29062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2909 (grub_util_ldm_embed): Likewise.
2910
9a7428e6
VS
29112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * util/grub-editenv.c (print_var): Rename name to varname to
2914 avoid shadowing.
2915 (main): Rename index to curindex to avoid shadowing.
31a26002 2916 Make filename a const char *.
9a7428e6 2917
4f96abd1
VS
29182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2921 to arg_getline to avoid shadowing.
2922
44d10dad
VS
29232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2926 disk_ to avoid shadowing.
2927
340ba63e
VS
29282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2931 curindex to avoid shadowing.
2932 Make static.
2933 (MatchFinder_GetNumAvailableBytes): Make static.
2934
22965bce
VS
29352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2938 avoid shadowing.
2939
7b5784d4
VS
29402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2943 argument from encrypt to do_encrypt to avoid shadowing.
2944
6f48ca01
VS
29452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2948 incorrect nesting of #if's.
2949
a4ea2dff
VS
29502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2953 checks which are always false on some platforms.
2954 (grub_cmd_lsacpi): Likewise.
2955 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2956 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2957 Likewise.
2958
def9fc1b
VS
29592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2962 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2963
a67b2a04
VS
29642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2967 re_dfa_t to avoid breaking alignment invariants.
2968 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2969 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2970
44c6828d
VS
29712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2974 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2975
bebe0dd0
VS
29762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2979 Fix declaration.
2980
a9cdb3cf
VS
29812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2984 conserve alignment invariants.
2985 (grub_ehci_ehcc_read16): Likewise.
2986 (grub_ehci_oper_read32): Likewise.
2987 (grub_ehci_oper_write32): Likewise.
2988 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2989 Conserve alignment invariants.
2990
ccc3b1b8
VS
29912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2994 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2995 declarations.
2996
987fbd95
VS
29972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3000 Remove unused variable.
3001
0df363f3
VS
30022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3005 Remove set in if.
3006
b2c0c4a6
VS
30072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * include/grub/net.h: Remove double declarations.
3010
690c531f
VS
30112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 Remove "payload" command in ia64 Linux loader since I couldn't
3014 find any evidence of it being used for anything.
3015 Replace "relocate" command with an environment variable
3016
3017 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3018 fields.
3019 (ia64_boot_payload): Removed.
3020 (last_payload): Likewise.
3021 (RELOCATE_OFF): Likewise.
3022 (RELOCATE_ON): Likewise.
3023 (RELOCATE_FORCE): Likewise.
3024 (relocate): Likewise.
3025 (free_pages): Don't free payloads.
3026 (grub_load_elf64): Use common error messages.
3027 Use "linux_relocate" variable.
3028 Increase the space after boot_params.
3029 (grub_cmd_payload): Removed.
3030 (grub_cmd_relocate): Likewise.
3031 (grub_cmd_fpswa): Improve messages.
3032 (cmd_payload): Removed.
3033 (cmd_relocate): Likewise.
3034 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3035 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3036
01783768
VS
30372012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 Convert UHCI to DMA framework.
3040
3041 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3042 (grub_uhci_pci_iter): Fill new members
3043 (grub_alloc_td): Use P2V and V2P functions.
3044 (grub_free_queue): Likewise.
3045 (grub_alloc_qh): Likewise.
3046 (grub_uhci_setup_transfer): Likewise.
3047 (grub_uhci_check_transfer): Likewise.
3048
43206939
VS
30492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3052 Remove assignment in if while on it.
3053
571e140e
VS
30542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * util/grub-mkstandalone.in: Fix modules directory.
3057
a9d96eeb
VS
30582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3061 on i386-pc target.
3062 (argp_parser): Accept "auto" as compression specification.
3063
e4e37e8d
VS
30642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 Fix `help' with unloaded modules.
3067
3068 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3069 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3070 (grub_dyncmd_dispatcher): Small stylistic fix.
3071 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3072 explicit help is requested.
3073
e1ea3ade
VS
30742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3075
3076 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3077 Explicitly init restart while on it.
3078
27556881
VS
30792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3082 uninited variable.
3083
d65f6b36
VS
30842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * util/grub-mknetdir.in: Use . rather than source for POSIX
3087 compatibility.
3088
0a1e473c
VS
30892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3092
ce6647c8
VS
30932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3096 variable.
3097
66747894
VS
30982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3101 without quotes.
3102
71645f6e
VS
31032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3106
0e1c1f61
VS
31072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3110 iteration of partitions.
3111
9c4b5c13
VS
31122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Improve gettext support. Stylistic fixes and error handling fixes while
3115 on it.
3116
215c90cb
VS
31172012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3120 part. Instead setup the correct stack in RM.
3121 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3122 for stack.
3123 * include/grub/i386/relocator_private.h: New file.
3124
b5c1f9bf
VS
31252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3128 argument.
3129 * util/grub-fstest.c (options): Add missing DEVICE part.
3130
b525fd83
VS
31312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 Clarify and unify messages.
3134
3135 * grub-core/commands/hashsum.c (options): Unify messages.
3136 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
3137 literal-only message as translatable.
3138 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
3139 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
3140 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
3141 commands.
3142 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
3143 key, not the key used to unlock. Clarify what it's used for.
3144 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
3145 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
3146 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
3147 * util/grub-editenv.c (options): Unify "verbose" message.
3148 * util/grub-fstest.c (read_file): Unify error message.
3149 (fstest): Add quotes around commands.
3150 (options): Unify "verbose" message.
3151 * util/grub-install.in: Add quotes around variable name.
3152 * util/grub-kbdcomp.in: Unify error message.
3153 * util/grub-mkfont.c (main): Likewise.
3154 * util/grub-mkrescue.in: Likewise.
3155 * util/grub-mklayout.c (options): Unify "verbose" message.
3156 * util/grub-mkstandalone.in: Unify help and verbose messages.
3157 * util/grub-mount.c (options): Unify "verbose" message.
3158 * util/grub-probe.c (options): Likewise.
3159 * util/grub-script-check.c (options): Likewise.
3160 * util/grub-setup.c (setup): Unify no-terminator message.
3161 (options): Use DEVICE and not DEV.
3162 Unify "verbose" message.
3163 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
3164
0ae70393
VS
31652012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 Improve and unify messages.
3168
3169 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
3170 name. All users updated.
3171 Print filename in error.
3172 (read_device_map): Print filename in error.
3173 * util/getroot.c (grub_guess_root_devices): Print filename in error.
3174 (grub_util_get_os_disk): Likewise.
3175 (grub_util_biosdisk_get_grub_dev): Likewise.
3176 (grub_util_check_block_device): Likewise.
3177 (grub_util_check_char_device): Likewise.
3178 (grub_make_system_path_relative_to_its_root): Likewise.
3179 * util/grub-editenv.c (create_envblk_file): Likewise.
3180 (open_envblk_file): Likewise.
3181 (write_envblk): Likewise.
3182 * util/grub-fstest.c (cmd_cp): Likewise.
3183 (cmd_cat): Likewise.
3184 (cmd_cmp): Likewise.
3185 * util/grub-menulst2cfg.c (main): Likewise.
3186 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
3187 (write_font_width_spec): Likewise.
3188 (write_font_pf2): Likewise.
3189 * util/grub-mkimage.c (generate_image): New argument outname.
3190 All users updated.
3191 Remove unreacheable message.
3192 (options): Unify messages.
3193 (help_filter): Likewise.
3194 * util/grub-mklayout.c (usage): Removed (unused).
3195 (main): Print filename in error.
3196 * util/grub-mkrescue.in: Fix wrong quoting.
3197 * util/grub-setup.c (setup): Print filename in error.
3198 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
3199 (check_sas): Likewise.
3200 * util/misc.c (grub_util_get_fp_size): Removed.
3201 (grub_util_get_image_size): Print filename in error.
3202 (grub_util_read_at): Removed.
3203 (grub_util_read_image): Print filename in error.
3204 (grub_util_load_image): Likewise.
3205 (grub_util_write_image_at): New argument filename. All users updated.
3206 Print filename in error.
3207 (grub_util_write_image): New argument filename. All users updated.
3208 Print filename in error.
3209 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
3210 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
3211
0a96117d
VS
32122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/Makefile.core.def (pxechain): New module.
3215 * grub-core/loader/i386/pc/pxechainloader.c: New file.
3216 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
3217 function.
3218 (grub_pc_net_config_real): Use grub_pxe_get_cached.
3219 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
3220
aca002f7
VS
32212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
3224 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
3225 * include/grub/err.h (grub_error_saved): New struct.
3226 (grub_errmsg): Make array size explicit.
3227 * include/grub/misc.h (grub_error_save): New function.
3228 (grub_error_load): Likewise.
3229 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
3230 (grub_error_push): Update `errno' member name.
3231 (grub_error_pop): Likewise
3232 * grub-core/net/tftp.c (tftp_data): New member save_err.
3233 (tftp_receive): Save error.
3234 (tftp_open): Restore error.
3235
a51dab13
VS
32362012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
3239 to real mode down to execute A20-related code in protected mode as
3240 intended.
3241
eb6e6649
GS
32422012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3243
3244 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
3245 NULL when the argument `level' has an unexpected value.
3246
92cd0f6e
VS
32472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 Move platform-dependent files from $prefix to $prefix/$platform.
3250
3251 * config.h.in (GRUB_TARGET_CPU): New definition.
3252 (GRUB_PLATFORM): Likewise.
3253 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
3254 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
3255 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3256 * grub-core/kern/dl.c (grub_dl_load): Likewise.
3257 * grub-core/normal/autofs.c (read_fs_list): Likewise.
3258 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
3259 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
3260 * grub-core/normal/term.c (read_terminal_list): Likewise.
3261 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
3262 $prefix/locale.
3263 (grub_gettext_init_ext): Likewise.
3264 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
3265 grub_platform.
3266 * util/grub-install.in: Update directories.
3267 * util/grub-mknetdir.in: Likewise.
3268 * util/grub-mkrescue.in: Likewise.
3269
db606889
VS
32702012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
3273 grub_error framework. All users updated.
3274
c39992a4
VS
32752012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
3278 lists (by always binsearching), improve caching (cache strings
3279 used for binsearch, not only results), improve
3280 maintainability (by using more structured binary search) and correct
3281 error handling.
3282
1e5ec32f
VS
32832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/script/execute.c (grub_script_return): Fix warning.
3286
ac576cde
VS
32872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * grub-core/script/execute.c (grub_script_return): Fix potential
3290 NULL-dereference.
3291 Reported by: Jim Meyering.
3292
498453f6
VS
32932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * po/POTFILES.in: Regenerate.
3296 * util/grub-install.in: Gettextize the strings missed in first pass.
3297
8be63f2e
VS
32982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * Makefile.util.def (grub-mkdevicemap): Removed.
3301 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
3302 * include/grub/util/deviceiter.h: Removed.
3303 * util/deviceiter.c: Likewise.
3304 * util/getroot.c (grub_util_get_os_disk): New function.
3305 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
3306 replacement for EFI.
3307 * util/grub-mkdevicemap.c: Removed.
3308 * util/grub-probe.c (probe): Handle PRINT_DISK.
3309 (argp_parser): Handle -t disk.
3310
8e1e4e39
VS
33112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * util/grub-mkfont.c: Migrate to argp.
3314 * util/grub-mklayout.c: Likewise.
3315 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3316 * util/grub-mkrelpath.c: Likewise.
3317 * util/grub-probe.c: Likewise.
3318 * util/grub-script-check.c: Likewise.
3319
4459819a
VS
33202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * util/grub-reboot.in: Add missing datarootdir.
3323 Add missing newline.
3324 * util/grub-set-default.in: Add missing datarootdir.
3325 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
3326 * util/grub-mkrescue.in: Likewise.
3327
f65741c7
VS
33282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
3331
c1a33466
VS
33322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * util/grub-kbdcomp.in: Add decent help and gettextize.
3335 * docs/man/grub-kbdcomp.h2m: New file.
3336
c76899a0
VS
33372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 Migrate grub-mkimage.c to argp.
3340
3341 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
3342 (grub-setup): Likewise.
3343 * util/grub-setup.c (print_version): Move to ...
3344 * util/argp_common.c (print_version): ... here.
3345 * util/grub-setup.c (argp_program_version_hook): Move to ...
3346 * util/argp_common.c (argp_program_version_hook): ... here.
3347 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
3348 safety.
3349 * util/grub-mkimage.c (main): Migrate to argp.
3350
57db0757
VS
33512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * util/grub-mkrescue.in: Use same message as
3354 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
3355 for better translations.
3356
18534ad9
VS
33572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
3360 options with generic grub-mkrescue.in with the goal of future
3361 merge.
3362
c84ba308
VS
33632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/kern/mm.c: Add missing include of i18n.h
3366 * grub-core/lib/relocator.c: Likewise.
3367
347998c2
VS
33682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
3371 error.
3372 (allocate_pages): Check return value.
3373 Replace fatal with error.
3374 (grub_linux_boot): Replace printf with dprintf.
3375 Check find_mmap_size return value.
3376 Replace fatal with error.
3377 Don't call grub_machine_fini.
3378 (grub_load_elf64): Replace printf with dprintf.
3379 (grub_cmd_linux): Likewise.
3380 (grub_cmd_initrd): Likewise.
3381 (grub_cmd_payload): Likewise.
3382
c779226e
VS
33832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
3386 message.
3387 * grub-core/video/radeon_fuloong2e.c
3388 (grub_video_radeon_fuloong2e_setup): Likewise.
3389 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
3390 * grub-core/video/video.c (grub_video_set_mode): Don't override
3391 standard out of memory message.
3392
dc87d45a
GS
33932012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
3394
3395 NetBSD disk wedge support.
3396
3397 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
3398 [__NetBSD__]: Handle NetBSD disk wedges.
3399 * util/getroot.c (convert_system_partition_to_system_disk)
3400 [__NetBSD__]: Likewise.
3401
055f856f
MW
34022012-02-03 Mark Wooding <mdw@distorted.org.uk>
3403
3404 * util/grub-mkconfig.in: Use umask rather than chmod to create
3405 grub.cfg.new to avoid insecure grub.cfg.
3406
4a9f8346
VS
34072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/commands/ls.c: Gettextize.
3410 * grub-core/commands/setpci.c: Likewise.
3411 * grub-core/commands/videotest.c: Likewise.
3412 * grub-core/disk/geli.c: Likewise.
3413 * grub-core/kern/mm.c: Likewise.
3414 * grub-core/lib/relocator.c: Likewise.
3415 * grub-core/loader/efi/appleloader.c: Likewise.
3416 * grub-core/loader/i386/xnu.c: Likewise.
3417 * grub-core/loader/ia64/efi/linux.c: Likewise.
3418 * grub-core/loader/xnu.c: Likewise.
3419 * grub-core/net/dns.c: Likewise.
3420 * grub-core/net/net.c: Likewise.
3421 * grub-core/script/lexer.c: Likewise.
3422 * grub-core/script/parser.y: Likewise.
3423 * grub-core/script/yylex.l: Likewise.
3424 * util/getroot.c: Likewise.
3425 * util/grub-setup.c: Likewise.
3426
a646a366
VS
34272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
3430 number.
3431
54e2be26
VS
34322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
3435
f7c71e68
VS
34362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
3439 macro.
3440 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
3441 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
3442
a32d5c71
VS
34432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
3446 * util/grub-install.in: Gettextize.
3447 * util/grub-mkconfig.in: Likewise.
3448 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
3449 if not available.
3450 (grub_warn): Gettextize.
3451 * util/grub-mknetdir.in: Gettextize.
3452 * util/grub-mkrescue.in: Likewise.
3453 * util/grub-mkstandalone.in: Likewise.
3454 * util/grub-reboot.in: Likewise.
3455 * util/grub-set-default.in: Likewise.
3456 * util/grub.d/00_header.in: Likewise.
3457 * util/grub.d/10_hurd.in: Likewise.
3458 * util/grub.d/10_kfreebsd.in: Likewise.
3459 * util/grub.d/10_linux.in: Likewise.
3460 * util/grub.d/10_netbsd.in: Likewise.
3461 * util/grub.d/10_windows.in: Likewise.
3462 * util/grub.d/20_linux_xen.in: Likewise.
3463 * util/grub.d/30_os-prober.in: Likewise.
3464 * po/POTFILES-shell.in: Regenerate.
3465
69edd81a
RL
34662012-02-03 Richard Laager <rlaager@wiktel.com>
3467
3468 * util/grub-mkimage.c (main): Fix format-security warning.
3469 * util/grub-mkrelpath.c (main): Likewise.
3470 * util/grub-probe.c (main): Likewise.
3471
65f08dbf
RL
34722012-02-03 Richard Laager <rlaager@wiktel.com>
3473
3474 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
3475 failure.
3476 Put back lost PRINT_DRIVE.
3477
e9084abe
RL
34782012-02-03 Richard Laager <rlaager@wiktel.com>
3479
3480 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
3481 (grub_guess_root_devices): Replace strlen with sizeof.
3482 Avoid crash.
3483 (find_root_devices_from_poolname): Remove unused variable.
3484 Handle raidzN.
3485
cf5f7ee7
VS
34862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 Support install on multi-device filesystems.
3489
3490 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
3491 (grub_guess_root_devices): ...this. Return char **. All users updated.
3492 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
3493 Removed.
3494 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
3495 (find_root_devices_from_poolname): ... here.
3496 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
3497 Support zfs-fuse.
3498 (grub_guess_root_device): Rename to ...
3499 (grub_guess_root_devices): ... this. Return char **. All users updated.
3500 * util/grub-install.in: Handle multi-device filesystems.
3501 * util/grub-probe.c (probe). Make device_names a char **. Add delim
3502 argument. All users updated.
3503 Handle multi-device filesystems.
3504 Use 'delim' as separator.
3505 Remove device check to allow filesystems on file.
3506 (main): Support -0 argument. Handle multi-device.
3507 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
3508 Fix a cross-device check while on it.
3509 (arguments): Remove root_dev.
3510 (argp_parser): Remove -r.
3511 (main): Remove root_dev.
3512
2f53a9ed
VS
35132012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
3516
17e1d934
VS
35172012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
3520 symbol.
3521 Reported by: NODA, Kai <nodakai>.
3522
d3e3fab5
VS
35232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 Fix ehci on amd64.
3526
3527 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
3528 pointers.
3529 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
3530 (grub_ehci_setup_qh): Likewise.
3531 (grub_ehci_find_qh): Likewise.
3532 (grub_ehci_transaction): Likewise.
3533 (grub_ehci_setup_transfer): Likewise.
3534 (grub_ehci_check_transfer): Likewise.
3535 (grub_ehci_portstatus): Likewise.
3536 (grub_ehci_detect_dev): Likewise.
3537 (grub_ehci_transfer_controller_data): New field td_last_phys.
3538 (grub_ehci_setup_transfer): Fill td_last_phys.
3539 (grub_ehci_check_transfer): Use td_last_phys.
3540
3008675b
SG
35412012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
3542
3543 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
3544 if no submenu is present.
3545
fc9b5652
AN
35462012-02-01 Aleš Nesrsta <starous@volny.cz>
3547
3548 CBI support.
3549
3550 * include/grub/usb.h (grub_usbms_protocol_t): New values
3551 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
3552 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
3553 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
3554 (grub_usbms_dev): Add subclass, protocol and intrpt.
3555 Remove in_maxsz and out_maxsz.
3556 (grub_usbms_reset): Rename to ...
3557 (grub_usbms_bo_reset): .. this.
3558 (grub_usbms_cbi_cmd): New function.
3559 (grub_usbms_cbi_reset): Likewise.
3560 (grub_usbms_reset): Likewise.
3561 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
3562 (grub_usbms_transfer): Rename to ...
3563 (grub_usbms_transfer_bo): ... this.
3564 (grub_usbms_transfer_cbi): Likewise.
3565 (grub_usbms_transfer): Likewise.
3566
a2b81d53
AN
35672012-02-01 Aleš Nesrsta <starous@volny.cz>
35682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
3571 the support for the CS5536 modification thereos and few bugfixes.
3572
3573 * grub-core/Makefile.core.def (ehci): New module.
3574 * grub-core/bus/usb/ehci.c: New file.
3575 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
3576 port and hubaddr. All users updated.
3577 Save port and hubaddr into dev structure.
3578 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
3579 define.
3580 * include/grub/pci.h (grub_dma_phys2virt): New function.
3581 (grub_dma_virt2phys): Likewise.
3582 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
3583
b1d51f02
VS
35842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
3587 check as some mkfs implementations omit it.
3588
fc694106
VS
35892012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * docs/grub.texi (Unicode): Mention identifier and space limitations.
3592
6c0920e3
VS
35932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
3596 Add new member volname2.
3597 (grub_jfs_label): Use volname2 if available.
3598
d1a46f9a
VS
35992012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3600
3601 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
3602 over last_mounted as seen in image generated by mkfs.nilfs2.
3603 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
3604
dec8ed14
VS
36052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
3608 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
3609 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
3610
7397c69b
VS
36112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
3614 over the sector.
3615
b3fe42ad
VS
36162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
3619 subvolume name (by removing a bogus and useless check).
3620
10476bb0
VS
36212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
3624 sizeof while on it.
3625
9c08ad87
VS
36262012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
3629 (grub_scsi_read_capacity10): ... this.
3630 (grub_scsi_read_capacity16): New function.
3631 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
3632 0xffffffff.
3633 Fix off-by-one error.
3634 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3635 64-bit unsigned.
3636 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3637 (grub_scsi_read_capacity10): ... this.
3638 (grub_scsi_read_capacity_data): Rename to ...
3639 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3640 (grub_scsi_read_capacity16): New struct.
3641 (grub_scsi_read_capacity16_data): Likewise.
3642 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3643 grub_scsi_cmd_read_capacity10.
3644 New command grub_scsi_cmd_read_capacity16.
3645
bc8d0f45
VS
36462012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 SCSI >2TiB support.
3649
3650 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3651 (grub_scsi_write16): Likewise.
3652 (grub_scsi_read): Use read16 when necessary.
3653 (grub_scsi_write): Likewise.
3654 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3655 (grub_scsi_write16): Likewise.
3656 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3657
cc774926
VS
36582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 SCSI write support (for usbms mainly).
3661
3662 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3663 a const pointer.
3664 (grub_scsi_write): Implement.
3665 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3666
67639fd7
VS
36672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3670 variable.
3671
9079d3ed
VS
36722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3675
c6a6f204
VS
36762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * po/POTFILES.in: Regenerate.
3679
ecbf8cd1
VS
36802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3683 with grub_printf to avoid unnecessary fatal failure.
3684
0b3b3b38
VS
36852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3688 (INT_MAX): Likewise.
3689 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3690 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3691 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3692 (strcpy): Likewise.
3693 (strstr): Likewise.
3694 (strchr): Likewise.
3695 (strncpy): Likewise.
3696 (strcat): Likewise.
3697 (strncat): Likewise.
3698 (strcoll): Likewise.
3699 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3700 (GRUB_INT_MAX): Likewise.
3701
db7337a3
VS
37022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3705 unexpected error.
3706 (optimize_utf8): Likewise.
3707 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3708
f37c87e1
VS
37092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/boot/i386/pc/lnxboot.S: Use
3712 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3713 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3714 location.
3715 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3716 definition.
3717 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3718
63fe43f3
VS
37192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3722 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3723 now to avoid double free.
3724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3725 hostdisk.
3726 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3727 * util/grub-probe.c (escape_of_path): Always return a new copy.
3728 (print_full_name): Escape path.
3729 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3730 Fix hints on abstractions.
3731
ebe2c961
VS
37322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3735 Don't add "root" line if no compatibility hont is available.
3736 Suggested by: Seth Goldberg.
3737
2b5336a2
VS
37382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3741 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3742 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3743 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3744
74310bd8
VS
37452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3748
c30582ba
VS
37492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * util/grub-pe2elf.c (ehdr): Make static.
3752 (shdr): Likewise.
3753 (num_sections): Likewise.
3754 (offset): Likewise.
3755
5f47782c
VS
37562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 Eliminate ofpath limits and possible overflows.
3759
3760 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3761 (OF_PATH_MAX): Removed.
3762 (MAX_DISK_CAT): New const.
3763 (find_obppath): Use allocated rather than preallocated buffer.
3764 Return result. Argument of_path removed. All users updated.
3765 Add missing fdstat.
3766 (xrealpath): New function.
3767 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3768 Allocate rather than use preallocated buffer. All users updated.
3769 (__of_path_common): Use allocated rather than preallocatecd buffer.
3770 Return result. Argument of_path removed. All users updated.
3771 (vendor_is_ATA): Read only needed part form the file.
3772 (check_sas): Allocate depending on contents rather than fixed.
3773 (main) [STANDALONE]: Handle NULL result.
3774
f990cbf9
VS
37752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3778
9c6e84b8
VS
37792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 Cryptodisk write support.
3782
3783 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3784 (grub_cryptodisk_decrypt): Moved logic to ...
3785 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3786 (grub_cryptodisk_write): Implement.
3787 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3788 (grub_util_fd_write): ... this. Make global.
3789 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3790
87cf9744
VS
37912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * include/grub/list.h (grub_list_remove): Don't crash if element is
3794 removed twice.
3795
ca8c0baf
VS
37962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 Rename ofconsole to console.
3799
3800 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3801 as sysnonym to console.
3802 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3803 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3804 Rename grub_ofconsole_ to grub_console_. All users updated
3805 (grub_console_term_output): Rename "ofconsole" to "console".
3806 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3807 as "console".
3808
64c8b8f6
VS
38092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3812 handling.
3813 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3814 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3815 GRUB_DISK_DEVICE_FILE_ID.
3816
f6c434d5
VS
38172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3820 and improve performance.
3821
5858b42d
VS
38222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3825 missing ieee1275/ prefix on whole disk.
3826
4ed3c26b
VS
38272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3830 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3831
df71143e
VS
38322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3835
076e7c0f
VS
38362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Merge common RAID and LVM logic to an abstract diskfilter.
3839 Add LDM support using the same framework.
3840
3841 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3842 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3843 (libgrubmods): Remove grub-core/disk/raid.c and
3844 grub-core/partmap/gpt.c.
3845 * grub-core/Makefile.core.def (ldm): New module.
3846 (raid): Renamed to diskfilter. All users updated.
3847 * grub-core/disk/raid.c: Moved to ...
3848 * grub-core/disk/diskfilter.c: ... here.
3849 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3850 (lv_num): New var.
3851 (find_array): Renamed to ...
3852 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3853 (grub_is_array_readable): Renamed to ...
3854 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3855 (insert_array): New argument id.
3856 (is_node_readable): New function.
3857 (scan_device): Rename to ...
3858 (scan_disk): .. this. Restrict to one disk.
3859 (scan_devices): New function.
3860 (grub_diskfilter_iterate): Support multi-LV.
3861 Skip invisible and nameless LVs.
3862 (grub_diskfilter_memberlist): Support multi-LV.
3863 (grub_diskfilter_read_node): New function.
3864 (grub_raid_read): Most of logic moved to ...
3865 (read_segment): ... here
3866 (read_lv): New function.
3867 (grub_diskfilter_get_vg_by_uuid): New function.
3868 (grub_diskfilter_make_raid): Likewise.
3869 * grub-core/disk/ldm.c: New file.
3870 * grub-core/disk/lvm.c (vg_list): Removed.
3871 (lv_count): Likewise.
3872 (scan_depth): Likewise.
3873 (is_lv_readable): Likewise.
3874 (grub_lvm_getvalue): Advance pointer past the number.
3875 (find_lv): Removed.
3876 (do_lvm_scan): Refactored into ...
3877 (grub_lvm_detect): ... this. Support raid.
3878 (grub_lvm_iterate): Removed.
3879 (grub_lvm_memberlist): Likewise.
3880 (grub_lvm_open): Likewise.
3881 (grub_lvm_close): Likewise.
3882 (read_lv): Likewise.
3883 (read_node): Likewise.
3884 (is_node_readable): Likewise.
3885 (is_lv_readable): Likewise.
3886 (grub_lvm_read): Likewise.
3887 (grub_lvm_write): Likewise.
3888 (grub_lvm_dev): Use diskfilter
3889 (GRUB_MOD_INIT): Likewise.
3890 (GRUB_MOD_FINI): Likewise.
3891 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3892 new interface.
3893 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3894 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3895 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3896 grub_diskfilter_read_node.
3897 Fix a bug with xor.
3898 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3899 grub_diskfilter_read_node.
3900 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3901 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3902 (grub_disk_dev_iterate): Move from here...
3903 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3904 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3905 Make global.
3906 (grub_hostdisk_find_partition_start): Likewise.
3907 (grub_hostdisk_os_dev_to_grub_drive): New function.
3908 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3909 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3910 * util/getroot.c (make_device_name): ... here.
3911 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3912 Move to ...
3913 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3914 * grub-core/kern/emu/hostdisk.c
3915 (convert_system_partition_to_system_disk): Move to ...
3916 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3917 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3918 * util/getroot.c (device_is_wholedisk): ... here.
3919 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3920 * util/getroot.c (find_system_device): ... here.
3921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3922 Move to ...
3923 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3924 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3925 Move to ...
3926 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3927 Handle LDM.
3928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3929 Move to ...
3930 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3931 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3932 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3933 DISKFILTER.
3934 * include/grub/raid.h: Renamed to ...
3935 * include/grub/diskfilter.h: ... this.
3936 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3937 (GRUB_RAID_LAYOUT_*): Make into array.
3938 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3939 (grub_diskfilter_vg): New struct.
3940 (grub_diskfilter_pv_id): Likewise.
3941 (grub_raid_member): Removed.
3942 (grub_raid_array): Likewise.
3943 (grub_diskfilter_pv): New struct.
3944 (grub_diskfilter_lv): Likewise.
3945 (grub_diskfilter_segment): Likewise.
3946 (grub_diskfilter_node): Likewise.
3947 (grub_diskfilter_get_vg_by_uuid): New proto.
3948 (grub_raid_register): Inline.
3949 (grub_diskfilter_unregister): Likewise.
3950 (grub_diskfilter_make_raid): New proto.
3951 (grub_diskfilter_vg_register): Likewise.
3952 (grub_diskfilter_read_node): Likewise.
3953 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3954 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3955 (grub_util_is_ldm): Likewise.
3956 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3957 (grub_hostdisk_find_partition_start): Likewise.
3958 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3959 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3960 New definition.
3961 (grub_gpt_partition_map_iterate): New proto.
3962 * include/grub/lvm.h (grub_lvm_vg): Removed.
3963 (grub_lvm_pv): Likewise.
3964 (grub_lvm_lv): Likewise.
3965 (grub_lvm_segment): Likewise.
3966 (grub_lvm_node): Likewise.
3967 * util/getroot.c [...]
3968 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3969 (probe_abstraction): Likewise.
3970 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3971 (main): Remove dead logic.
3972
8a7f9b9c
VS
39732012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 Simplify root device discover and don't fail when trying to open
3976 incorrect devices.
3977
3978 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3979 function.
3980 (get_diskname_from_path): Likewise.
3981 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3982 of iterating.
3983
30545b85
VS
39842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3987
28ea58cf
VS
39882012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3991 pastthe end.
3992
692dabca
VS
39932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * util/grub-install.in: Add missing \.
3996 Reported by: gentoofan
3997
f6e4ea70
VS
39982012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4001 (direct_read): Use correct compressed size.
4002 (grub_squash_read_data): Likewise.
4003
40042012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4005
4006 * docs/grub.texi (Platform limitations): New section.
4007 (Platform-specific operations): Likewise.
4008 * docs/grub-dev.texi (Porting): Likewise.
4009
76261110
VS
40102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 IEEE1275 disk write support.
4013
4014 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4015 const void *.
4016 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4017 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4018 and seek loginc to ...
4019 (grub_ofdisk_prepare): ... here.
4020 (grub_ofdisk_write): Implement.
4021
fc36d603
VS
40222012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 ARC disk write support.
4025
4026 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4027 (reopen): New argument writable. All users updated.
4028 Handle required access mode.
4029 (grub_arcdisk_write): Implement.
4030 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4031 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4032
e06c2e7a
VS
40332012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4036 (read_sblock): Don't attempt to read superblocks outside the disk size.
4037
ff447958
VS
40382012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4041 first superblock to find the second one when possible.
4042
9e88df39
VS
40432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * util/grub-install.in: Fix an ARC bug.
4046 Print a warning if no platform-specific setup is available.
4047
bb26e4ff
VS
40482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 Use static allocation rather than scratch pointer in reed_solomon.
4051 It decreases its size significantly and avoids a variable in .text.
4052
4053 * grub-core/lib/reed_solomon.c (scratch): Removed.
4054 (chosenstat): New const or static array.
4055 (sigma): Likewise.
4056 (errpot): Likewise.
4057 (errpos): Likewise.
4058 (sy): Likewise.
4059 (mstat): Likewise.
4060 (errvals): Likewise.
4061 (eqstat): Likewise.
4062 (pol_evaluate): Replace x with log_x argument. All users updated.
4063 (syndroms): Removed.
4064 (gauss_solve): Use statically allocated arrays.
4065 (rs_recover): Likewise.
4066 Calculate syndroms directly.
4067 (decode_block): Use statically allocated arrays.
4068 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4069 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4070
2e13ede5
VS
40712012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 Eliminate fixed limit on reed solomon decoder length.
4074
4075 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4076 rather than hardcoding the address.
4077 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4078 no_reed_solomon_length.
4079 Move gate_a20 to no-reed-solomon part.
4080 Don't force a particular size of no reed-solomon part.
4081 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4082 Removed.
4083 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4084 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4085
f8a9ab12
VS
40862012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/commands/wildcard.c (match_files): Handle filenames
4089 without explicit device.
4090 (wildcard_expand): Don't add explicit device if not already present.
4091 * tests/grub_script_echo1.in: Add a new expansion test.
4092
87edb894
VS
40932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Replace single-linked with double-linked lists. It results in more
4096 compact and more efficient code.
4097
4098 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4099 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4100 (grub_list_remove): Moved from here ...
4101 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4102 (grub_prio_list_insert): Set prev.
4103 * include/grub/list.h (grub_list): Add prev. All users updated.
4104
48b391e9
VS
41052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Handle newer autotools. Add some missing quotes while on it.
4108
4109 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4110 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4111 (pkgdata_DATA): ... here.
4112 * Makefile.util.def (update-grub_lib): Removed.
4113 * conf/Makefile.common (pkglib_DATA): Removed.
4114 (pkglib_SCRIPTS): Likewise.
4115 (pkgdata_DATA): New variable.
4116 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4117 needed.
4118 Add missing quotes.
4119 Remove unused variable while on it.
4120 * tests/util/grub-shell.in: Likewise.
4121 * util/grub-install.in: Likewise.
4122 * util/grub-mkconfig.in: Likewise.
4123 * util/grub-mknetdir.in: Likewise.
4124 * util/grub-mkrescue.in: Likewise.
4125 * util/grub-mkstandalone.in: Likewise.
4126 * util/grub.d/00_header.in: Likewise.
4127 * util/grub.d/10_hurd.in: Likewise.
4128 * util/grub.d/10_illumos.in: Likewise.
4129 * util/grub.d/10_kfreebsd.in: Likewise.
4130 * util/grub.d/10_linux.in: Likewise.
4131 * util/grub.d/10_netbsd.in: Likewise.
4132 * util/grub.d/10_windows.in: Likewise.
4133 * util/grub.d/20_linux_xen.in: Likewise.
4134 * util/grub.d/30_os-prober.in: Likewise.
4135 * util/update-grub_lib.in: Removed.
4136
41372012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
4138
4139 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
4140 a workaround for intel problem.
4141
66832792
PRP
41422012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
41432012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
41442012-01-23 pfsmorigo
4145
4146 * util/grub-install.in: Support dd'in into PreP partition.
4147 * util/grub-probe.c (probe): Support discovering partition type.
4148 (main): Support -t msdos_parttype.
4149
7816a17e
VS
41502012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
4153 infinite recursion using counter.
4154 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
4155 init to skip it if the magic check fails.
4156 (dec_stream_header): Init s->crc32.
4157
8f9d3a8c
ZB
41582012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
41592012-01-22 Zachary Bedell <pendorbound@gmail.com>
41602012-01-22 Richard Laager <rlaager@wiktel.com>
4161
4162 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
4163 All users updated.
4164 (find_bestub): Determine correct size.
4165 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
4166 (scan_disk): Align the size down.
4167 Call check pool before find_bestub to have ashift.
4168
b055dd32
VS
41692012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
4172 dprintf in no-malloc zone.
4173
d779e9bd
ML
41742012-01-22 Mario Limonciello <mario_limonciello@dell.com>
4175
4176 * configure.ac: Add back in test for limits.h.
4177
b508af69
VS
41782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 Support 4K-sector NTFS.
4181
4182 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
4183 (grub_ntfs_data): Remove blocksize.
4184 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
4185 Remove data argument. All users updated.
4186
dad9c8b5
VS
41872012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
4190 being in .text to avoid dprel references.
4191 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
4192 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
4193 (grub_arch_highmemsize): Likewise.
4194 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
4195 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
4196 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
4197
d43a777e
VS
41982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
4201
4202 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
4203 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
4204
34e4208f
VS
42052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
4208 GRUB_UTIL.
4209 (grub_set_datetime_cmos): Likewise.
4210
3ec0fc1c
VS
42112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 Make XZ compression parameters dependent on target and not host CPU.
4214
4215 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
4216 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
4217
22489834
VS
42182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
4221 set but not used variable.
4222
8502fbca
VS
42232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
4226 created when no uuid support is compiled into mkfs.reiser.
4227
76df2068
VS
42282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
4231 (utf8_to_macroman): Do the opposite.
4232 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
4233
64e3f8f6
VS
42342012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * configure.ac: Refise build qemu_mips w/o unifont.
4237
9c271078
VS
42382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 Eliminate grub_min/grub_max prone to overflow usage.
4241
4242 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
4243 (poll_nonroot_hub): Likewise.
4244 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
4245 (grub_affs_label): Likewise.
4246 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
4247 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
4248 (grub_hfs_label): Likewise.
4249 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
4250 * grub-core/fs/zfs/zfs.c (MIN): Remove.
4251 (zap_leaf_array_equal): Use grub_size. Remove MIN.
4252 (zap_leaf_array_get): Likewise.
4253 (dnode_get_path): Likewise.
4254 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
4255 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
4256 * grub-core/script/execute.c (grub_script_break): Likewise.
4257 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
4258 grub_max.
4259 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
4260 * include/grub/misc.h (grub_min): Removed.
4261 (grub_max): Likewise.
4262
80662dbc
VS
42632012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
4264
4265 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
4266 direct.inode = 0.
4267
e6da1467
VS
42682012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
4271
b1ac4cb1
VS
42722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
4275
b4bf7c3b
VS
42762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
4279 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
4280
8ee1101a
VS
42812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
4284 rather than a hack for grub_strncasemap.
4285
42862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 Support multiple initrds
4289 Note: part of this was accidently committed in r3739.
4290
4291 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
4292 initrd.
4293 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
4294 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
4295 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4296 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4297 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4298
4d1e2bc9
VS
42992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
4302 disks with unknown size.
4303 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
4304
75b49ebe
VS
43052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Remove defines pertaining to arbitrary limits not affecting GRUB
4308 anymore.
4309
4310 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
4311 (EXT2_MAX_SYMLINKCNT): Likewise.
4312 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
4313 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
4314 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
4315 (GRUB_PXE_MAX_BLKSIZE): Likewise.
4316 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
4317 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
4318 (DN_MAX_OBJECT_SHIFT): Likewise.
4319 (DN_MAX_OFFSET_SHIFT): Likewise.
4320 (DN_MAX_OBJECT): Likewise.
4321 (DNODES_PER_LEVEL_SHIFT): Likewise.
4322 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
4323 (SPA_MAXBLOCKSIZE): Likewise.
4324 (SPA_BLOCKSIZES): Likewise.
4325 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
4326 (MZAP_MAX_BLKSZ): Likewise.
4327
74a1dce7
VS
43282012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
4331 handle NULL appropriately.
4332 Remove MIN.
4333
30c7d3ce
VS
43342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 Fix efiemu.
4337
4338 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
4339 cpu/types.h.
4340 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
4341 * configure.ac: Fix efiemu check.
4342
3c76ea0c
VS
43432012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
4346 grub_probe.
4347 Reported by: adamwill
4348
7e532280
SG
43492012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
4350
4351 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
4352
30492374
VS
43532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Fix handling of wide characters in gfxterm.
4356
4357 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
4358 (clear_char): Likewise.
4359 (paint_char): Skip code == NULL chars.
4360 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
4361
e70cb72f
VS
43622012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/normal/charset.c: Move comment to right place.
4365
5c827cf9
VS
43662012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
4369 (GRUB_AFFS_FLAG_FFS): Put back where it was.
4370 (grub_affs_mount): Revert the correct version checking.
4371
53603892
VS
43722012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * docs/grub.texi (Unicode): Mention several other unsupported features.
4375
ff094b9b
VS
43762011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
4379 case statements as compile-time one.
4380 (direct_read): Prevent spurious warnings.
4381 (grub_squash_read_data): Likewise.
4382
c029da8a
VS
43832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 Various squash4 fixes and LZO and XZ support.
4386
4387 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
4388 Add xzembed source files.
4389 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
4390 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
4391 (grub_squash_inode): New subtype long_dir.
4392 (SQUASH_TYPE_LONG_DIR): New inode type.
4393 (COMPRESSION): New enum.
4394 (XZBUFSIZ): New const.
4395 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
4396 (read_chunk): Use data->decompress.
4397 (zlib_decompress): New function.
4398 (lzo_decompress): Likewise.
4399 (xz_decompress): Likewise.
4400 (squash_mount): Set new data fields.
4401 (grub_squash_iterate_dir): Handle long dir.
4402 (squash_unmount): Free xzdec and xzbuf.
4403 (grub_squash_open): Check ino type.
4404 (direct_read): Stylistic fixes. Use data->decompress.
4405 (grub_squash_read_data): Likewise.
4406 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
4407 (get_byte): Likewise.
4408 (grub_zlib_disk_read): Removed.
4409 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
4410 (GRUB_POSIX_BOOL_DEFINED): New define.
4411 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
4412 * grub-core/lib/xzembed/xz.h: Addmissing includes.
4413 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
4414 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
4415
7a45a539
VS
44162011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Don't override more informative errors.
4419
4420 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
4421 * grub-core/font/font.c (open_section): Likewise.
4422 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
4423 filename. Don't override errors.
4424 (grub_cmd_openbsd_ramdisk): Don't override errors.
4425 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
4426 (grub_cmd_initrd): Likewise.
4427 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4428 (grub_cmd_initrd): Likewise.
4429 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
4430 (grub_cmd_linux): Likewise.
4431 (grub_cmd_initrd): Likewise.
4432 (grub_cmd_payload): Likewise.
4433 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
4434 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
4435 (grub_cmd_module): Likewise.
4436 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4437 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
4438 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
4439 (grub_cmd_xnu_mkext): Likewise.
4440 (grub_cmd_xnu_ramdisk): Likewise.
4441 (grub_xnu_check_os_bundle_required): Likewise.
4442 (grub_xnu_load_kext_from_dir): Likewise.
4443 (grub_cmd_xnu_kextdir): Likewise.
4444 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
4445
b2d004db
VS
44462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
4449 as 1024 in block size field. Found on one of my test images.
4450 Small optimisation while on it.
4451
ec000eac
VS
44522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
4455 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
4456 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
4457 performance fixes while on it.
4458 (grub_sfs_close): Fix memory leak while on it.
4459 (grub_sfs_label): Convert Latin1 to UTF-8.
4460
f50e1165
VS
44612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
4464 space to avoid overflows.
4465 (grub_hfs_label): Convert from macroman to UTF-8.
4466
2ae254de
VS
44672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
4470
0108f491
VS
44712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
4474
f45f5f89
VS
44752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * unicode: Import Unicode 6.0 data.
4478
4d8c4765
VS
44792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4480
63fa8ef9
VS
4481 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
4482 outside of range.
4483
44842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
4487
4488 * include/grub/charset.h (grub_getend): New function.
4489 * grub-core/script/function.c (grub_script_function_find): Use
4490 grub_getend.
4491 * grub-core/normal/completion.c (add_completion): Likewise.
4492
f3cb4a4e
VS
44932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
4496 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
4497 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
4498 (GRUB_UNICODE_TAG_END): Likewise.
4499 (GRUB_UNICODE_LAST_VALID): Likewise.
4500
5da8dbc5
VS
45012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
4504 len and make it smaller. All users updated.
4505 * util/import_unicode.py: Put length and not end character.
4506 Check length.
4507
8569f13d
VS
45082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 Make better Unicode-compliant and unify some UTF-8 code pathes.
4511
4512 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
4513 valid character.
4514 (grub_is_valid_utf8): Use grub_utf8_process.
4515 Check resulting code range.
4516 (grub_utf8_to_ucs4): Use grub_utf8_process.
4517 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
4518 valid character.
4519
cc4fddf5
VS
45202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
4523
bbc47747
VS
45242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * docs/grub.texi (Filesystems): Mention AFS.
4527
f63d6bf4
VS
45282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * docs/grub.texi (Filesystems): Clarify restrictions.
4531 (Regexp): Mention non-Unicode regexp behaviour.
4532 (Other): Mention non-Unicode matching behaviour.
4533
74bbf0db
VS
45342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4535
f63d6bf4 4536 Make HFS implementation use MacRoman.
74bbf0db
VS
4537
4538 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
4539 (macroman): New const array.
4540 (macroman_to_utf8): New function.
4541 (utf8_to_macroman): Likewise.
4542 (grub_hfs_find_dir): Use utf8_to_macroman.
4543 (grub_hfs_dir): Use macroman_to_utf8.
4544 Set case_insensitive.
4545
4ea0316e
VS
45462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
4549
d3c13cbd
VS
45502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 Integrate hints into autogeneration scripts.
4553
4554 * docs/grub.texi (Filesystems): Add a hostdisk example.
4555 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
4556 (grub-probe): Add ofpath.
4557 * gentpl.py: Remove group nosparc64.
4558 * grub-core/commands/search.c (cache_entry): New struct.
4559 (cache): New var.
4560 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
4561 * grub-core/commands/search_wrap.c (options): Add platform-specific
4562 hint options.
4563 (grub_cmd_search): Handle platform-specific hints.
4564 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
4565 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
4566 (grub_util_biosdisk_data): Likewise.
4567 (grub_util_biosdisk_open): Set device_map.
4568 (read_device_map): Handle "" as indication of no map.
4569 Set device_map.
4570 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
4571 (grub_util_biosdisk_get_compatibility_hint): New function.
4572 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
4573 * include/grub/emu/hostdisk.h
4574 (grub_util_biosdisk_get_compatibility_hint): New proto.
4575 * util/grub-install.in: Don't call grub-mkdevicemap.
4576 Add platform-specific hint to load.cfg.
4577 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
4578 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4579 hints. Set root preliminary to compatibility hint, not to OS name.
4580 * util/grub-probe.c (PRINT_*): Add hints.
4581 (print): Make static.
4582 (escape_of_path): New function.
4583 (guess_bios_drive): Likewise.
4584 (guess_efi_drive): Likewise.
4585 (guess_baremetal_drive): Likewise.
4586 (print_full_name): Likewise.
4587 (probe): Handle hints.
4588 (main): Likewise.
4589 * util/ieee1275/devicemap.c: Removed.
4590 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
4591 updated.
4592 (grub_util_devname_to_ofpath): Return NULL on failure.
4593
4594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
4595 resource leak.
4596 * util/getroot.c (grub_util_pull_device): Fix memory leak.
4597
4598 * po/POTFILES.in: Regenerated.
4599
4600 Allow purely long options
4601
4602 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
4603 (SHORT_ARG_USAGE): Likewise.
4604 (grub_arg_show_help): Compare opt with help_options.
4605 (parse_option): Receive opt as argument. If makes big simplificatons.
4606 All users updated
4607
00ce2df3
VS
46082011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
4611 Restructure to avoid warning.
4612
e77e325f
VS
46132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * util/grub-install.in: Account for possible escaped comma in device
4616 name.
4617
165099ea
VS
46182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
4621 channel.
4622
ce4a999d
VS
46232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
4626 allocation and zero-setting.
4627 (grub_ieee1275_get_devname): Check that alias is complete.
4628
379586ad
VS
46292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
4632 unaligned segments.
4633
9197b0ad
VS
46342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4637 prefix.
4638 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4639 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4640 Add ieee1275 prefix.
4641
edddb7f9
VS
46422011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * docs/grub.texi (Filesystems): Update.
4645
a1a8b1b9
VS
46462011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 Support odc, newc and bigendian cpio formats.
4649
4650 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4651 * grub-core/Makefile.core.def (newc): New module.
4652 (odc): Likewise.
4653 (cpio_be): Likewise.
4654 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4655 (MAGIC): Likewise.
4656 (MAGIC2): Likewise.
4657 (head) [MODE_ODC]: Adapt for the format.
4658 (head) [MODE_NEWC]: Likewise.
4659 (head) [!MODE_*]: Write fields of interest as arrays.
4660 (MAGIC_USTAR): Removed.
4661 (read_number) [MODE_NEWC]: Change to hex.
4662 (read_number) [!MODE_*]: Parse binary arrays.
4663 (grub_cpio_find_file): Factor out the code for better structure and
4664 always use read_number.
4665 (grub_cpio_mount): Use MAGIC and MAGIC2.
4666 (grub_cpio_dir): Exit on first hook non-0 return.
4667 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4668 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4669 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4670 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4671 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4672 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4673 * grub-core/fs/newc.c: New file.
4674 * grub-core/fs/odc.c: Likewise.
4675 * grub-core/fs/cpio_be.c: Likewise.
4676
58eba9ee
VS
46772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Fix handling of tar numbers occupying the whole field.
4680
4681 * grub-core/fs/cpio.c (read_number): New function.
4682 (grub_cpio_find_file): Use read_number instead of strtoull.
4683
a54a0e12
VS
46842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4687 occupying the whole field size.
4688
a6120aca
LA
46892011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4690
4691 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4692
a93964ce
VS
46932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4696
3ea1ca46
SG
46972011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4698
4699 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4700 TARGET_IMG_LDFLAGS.
4701
b87f7ef2
VS
47022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4705 (mountinfo_entry): Increase the field size to take escaping into
4706 account.
4707 (find_root_device_from_libzfs): Add one byte to size of strings for
4708 security.
4709
62092395
VS
47102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4713 an assert.
4714 * util/grub-setup.c (setup): Likewise.
4715
1f0b1a77
VS
47162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4719 _LzmaDecodeA.
4720
8eba9997
VS
47212011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * docs/grub.texi (Internationalisation): New section.
4724
dd0c91e9
VS
47252011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * docs/grub.texi (Loopback booting): New section.
4728
47292011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4730
4731 * util/grub-mkstandalone.in: Fix minor typo errors.
4732
198e150a
VS
47332011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4736
4737 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4738 net/icmp.c and net/icmp6.c.
4739 (http): New module.
4740 (priority_queue): Likewise.
4741 * grub-core/io/bufio.c: Rewritten.
4742 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4743 TYPE_WITH_CONFIGFILE_OPTION.
4744 (legacy_commands): Add bootp and dhcp.
4745 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4746 (grub_legacy_parse): Likewise.
4747 * grub-core/lib/priority_queue.c: New file.
4748 * grub-core/net/arp.c: Add missing license header.
4749 (arp_find_entry): Removed.
4750 (arp_find_entry): Likewise.
4751 (grub_net_arp_resolve): Rename to ...
4752 (grub_net_arp_send_request): ...this.
4753 (grub_net_arp_receive): New card argument.
4754 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4755 Set router and DNS server.
4756 (grub_net_configure_by_dhcp_ack): Handle routing information.
4757 (grub_cmd_bootp): Set checksum.
4758 (grub_bootp_init): Remove net_dhcp.
4759 * grub-core/net/dns.c: New file.
4760 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4761 completion.
4762 (get_card_packet): Handle allocation.
4763 (grub_efinet_findcards): Set mtu.
4764 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4765 (get_card_packet): Handle allocation.
4766 (emucard): Set mtu.
4767 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4768 (GRUB_MOD_INIT): Set mtu.
4769 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4770 mtu.
4771 (get_card_packet): Handle allocation.
4772 (grub_ofnet_findcards): Set mtu.
4773 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4774 assert.
4775 (grub_net_recv_ethernet_packet): Handle IPv6.
4776 * grub-core/net/http.c: New file.
4777 * grub-core/net/icmp.c: Likewise.
4778 * grub-core/net/icmp6.c: Likewise.
4779 * grub-core/net/ip.c (ip6addr): New type.
4780 (ip6hdr): Likewise.
4781 (reassemble): Likewise.
4782 (cmp): New function.
4783 (reassembles): New variable.
4784 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4785 (id): New variable.
4786 (send_fragmented): New function.
4787 (grub_net_send_ip_packet): Rename to ...
4788 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4789 Handle non-UDP.
4790 (grub_net_recv_ip_packets): Rename to ...
4791 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4792 (free_rsm): New function.
4793 (free_old_fragments): Likewise.
4794 (grub_net_recv_ip4_packets): New function.
4795 (grub_net_send_ip6_packet): Likewise.
4796 (grub_net_send_ip_packet): Likewise.
4797 (grub_net_recv_ip6_packets): Likewise.
4798 (grub_net_recv_ip_packets): Likewise.
4799 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4800 (LINK_LAYER_CACHE_SIZE): New const.
4801 (link_layer_find_entry): New function.
4802 (grub_net_link_layer_add_address): Likewise.
4803 (grub_net_link_layer_resolve_check): Likewise.
4804 (grub_net_link_layer_resolve): Likewise.
4805 (grub_net_ipv6_get_slaac): Likewise.
4806 (grub_net_ipv6_get_link_local): Likewise.
4807 (grub_cmd_ipv6_autoconf): Likewise.
4808 (parse_ip): Handle one number representation.
4809 (parse_ip6): New functoion.
4810 (match_net): Handle IPv6.
4811 (grub_net_resolve_address): Handle IPv6 and DNS.
4812 (grub_net_resolve_net_address): Handle IPv6.
4813 (route_cmp): New function.
4814 (grub_net_route_address): Find best route.
4815 (grub_net_addr_to_str): Handle IPv6.
4816 (grub_net_addr_cmp): New function.
4817 (grub_net_add_addr): Register local route.
4818 (print_net_address): Handle net address.
4819 (grub_net_poll_cards): Retransmit TCP.
4820 (grub_net_poll_cards_idle_real): Likewise.
4821 (have_ahead): New function.
4822 (grub_net_seek_real): Use underlying seek.
4823 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4824 * grub-core/net/tcp.c: New file.
4825 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4826 (cmp): New function.
4827 (ack): Likewise.
4828 (tftp_receive): Handle unordered input.
4829 (destroy_pq): New function.
4830 (tftp_close): Close pq.
4831 * grub-core/net/udp.c: Put missing license header.
4832 (grub_net_udp_socket): New function.
4833 (udp_socket_register): Likewise.
4834 (grub_net_udp_close): Likewise.
4835 (grub_net_recv_udp_packet): Check checksum.
4836 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4837 * include/grub/misc.h (grub_memchr): New function.
4838 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4839 (grub_net_card_driver): Return buf in recv.
4840 (grub_net_slaac_mac_list): New struct.
4841 (grub_network_level_protocol_id): Add ipv6.
4842 (grub_net_network_level_addr): Likewise.
4843 (grub_net_network_level_net_addr): Likewise.
4844 (grub_net_app_protocol): Add seek.
4845 (grub_net_socket): Removed.
4846 (grub_net_sockets): Likewise.
4847 (grub_net_socket_register): Likewise.
4848 (grub_net_socket_unregister): Likewise.
4849 (FOR_NET_SOCKETS): Likewise.
4850 (grub_net_add_addr): Add const.
4851 (GRUB_NET_BOOTP_*): New enum.
4852 (grub_net_addr_cmp): New proto.
4853 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4854 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4855 (grub_net_hwaddr_to_str): NEw proto.
4856 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4857 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4858 (grub_dns_init): New proto.
4859 (grub_dns_fini): Likewise.
4860 (grub_net_tcp_retransmit): Likewise.
4861 (grub_net_link_layer_add_address): Likewise.
4862 (grub_net_link_layer_resolve_check): Likewise.
4863 (grub_net_link_layer_resolve): Likewise.
4864 (grub_net_dns_lookup): Likewise.
4865 (grub_net_add_dns_server): Likewise.
4866 (grub_net_remove_dns_server): Likewise.
4867 (GRUB_NET_TRIES): New const.
4868 (GRUB_NET_INTERVAL): Likewise.
4869 * include/grub/net/arp.h: Mostly rewritten.
4870 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4871 * include/grub/net/ip.h: Mostly rewritten.
4872 * include/grub/net/netbuff.h: Indent.
4873 * include/grub/net/tcp.h: New file.
4874 * include/grub/net/udp.h: Mostly rewritten.
4875 * include/grub/priority_queue.h: New file.
4876 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4877 (grub_swap_bytes64_compile_time): Likewise.
4878 (grub_cpu_to_be16_compile_time): Likewise.
4879 (grub_cpu_to_be32_compile_time): Likewise.
4880 (grub_cpu_to_be64_compile_time): Likewise.
4881 (grub_be_to_cpu64_compile_time): Likewise.
4882
215c1800
VS
48832011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4886 UINT_TO_PTR with cast.
4887
c17e546c
VS
48882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4891 don't use them.
4892
ff6b18b6
VS
48932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4896 already there.
4897
70ffcc93
VS
48982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4901 confusing ipxe.
4902
e5f4d260
VS
49032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4906 Add missing const attribute.
4907 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4908 Likewise.
4909 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4910 Likewise.
4911
8e54b4b7
VS
49122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4915 misaligned access.
4916 (serpent_setkey): Likewise.
4917 (serpent_encrypt_internal): Likewise.
4918 (serpent_decrypt_internal): Likewise.
4919 (serpent_encrypt): Don't put an alignment-increasing cast.
4920 (serpent_decrypt): Likewise.
4921 (serpent_test): Likewise.
4922
813c0a2b
VS
49232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4926
f2b60fbd
VS
49272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4930
4931 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4932 grub_addr_t casts.
4933 (PTR_TO_UINT64): Likewise.
4934 (PTR_TO_UINT32): Likewise.
4935
5ef5c511
VS
49362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4939 because of stack.
4940 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4941 limit.
4942
c476e6df
VS
49432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4946 text_width > available width a bit more gracefully.
4947
384ad7cc
VS
49482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4951 current address calculation.
4952
96f8caf8
VS
49532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4956 stack.
4957 (encode_block): Likewise.
4958
276b7a8b
VS
49592011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4962 certainety.
4963
e3fd394a
VS
49642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4967 non-RS part to avoid RS messing with GDT.
4968 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4969 Increase to suit in realmode routines.
4970
49712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/kern/i386/realmode.S: Increase alignment.
4974 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4975
ee9c2e7a
VS
49762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4979 be deterministic.
4980 (syndroms): Compute 0 syndrom.
4981 (rs_recover): Use 0 syndrom.
4982
7a7f7cc9
VS
49832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4986
a14b16d1
VS
49872011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4990 brackets.
4991
9f59e9fc
VS
49922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4993
ca1b552c
VS
4994 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4995 account.
4996 (get_top_pad): Likewise.
4997 (get_right_pad): Likewise.
4998 (get_bottom_pad): Likewise.
4999
50002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5003
e739d698
VS
50042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5007 attribute as the structure isn't guaranteed to be properly aligned.
5008 (grub_efi_pci_device_path): Likewise.
5009 (grub_efi_pccard_device_path): Likewise.
5010 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5011 specify the size of `memory_type'.
5012 (grub_efi_vendor_device_path): Likewise.
5013 (grub_efi_controller_device_path): Likewise.
5014 (grub_efi_acpi_device_path): Likewise.
5015 (grub_efi_expanded_acpi_device_path): Likewise.
5016 (grub_efi_atapi_device_path): Likewise.
5017 (grub_efi_scsi_device_path): Likewise.
5018 (grub_efi_fibre_channel_device_path): Likewise.
5019 (grub_efi_1394_device_path): Likewise.
5020 (grub_efi_usb_device_path): Likewise.
5021 (grub_efi_usb_class_device_path): Likewise.
5022 (grub_efi_i2o_device_path): Likewise.
5023 (grub_efi_mac_address_device_path): Likewise.
5024 (grub_efi_ipv4_device_path): Likewise.
5025 (grub_efi_ipv6_device_path): Likewise.
5026 (grub_efi_infiniband_device_path): Likewise.
5027 (grub_efi_uart_device_path): Likewise.
5028 (grub_efi_vendor_messaging_device_path): Likewise.
5029 (grub_efi_hard_drive_device_path): Likewise.
5030 (grub_efi_cdrom_device_path): Likewise.
5031 (grub_efi_vendor_media_device_path): Likewise.
5032 (grub_efi_file_path_device_path): Likewise.
5033 (grub_efi_protocol_device_path): Likewise.
5034 (grub_efi_piwg_device_path): Likewise.
5035 (grub_efi_bios_device_path): Likewise.
5036
cb8f88ea
VS
50372011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5040 (grub_ucs4_to_utf8_alloc): Likewise.
5041 (grub_ucs4_to_utf8): Likewise.
5042 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5043 (grub_ucs4_to_utf8_alloc): Likewise.
5044
309e5352
VS
50452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 AFFS never uses unicode.
5048
5049 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5050 (grub_latin1_to_utf8): New inline function.
5051 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5052
e7987e1b
VS
50532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5056 overflow.
5057
efc2616e
VS
50582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5061 (grub_squash_dirent_header): Likewise.
5062 (read_chunk): Don't double swap.
5063 (grub_squash_iterate_dir): Fix swap sizes.
5064
3c349f5a
VS
50652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5068
b453412d
VS
50692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5072 (grub_hfs_iterate_dir): Likewise.
5073
12e9d4d1
VS
50742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Fix video on platforms where unaligned access is forbidden.
5077 Make several optimisations while on it.
5078
5079 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5080 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5081 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5082 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5083 Disable.
5084 (grub_video_fbblit_replace_16bit_1bit):
5085 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5086 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5087 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5088 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5089 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5090 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5091 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5092 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5093 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5094 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5095 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5096 (grub_video_fbblit_replace_index_RGB888): Likewise.
5097 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5098 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5099 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5100 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5101 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5102 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5103 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5104 Disable.
5105 (grub_video_fbblit_blend_XXX565_1bit):
5106 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5107 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5108 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5109 void *.
5110 * grub-core/video/fb/video_fb.c (common_blitter)
5111 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5112 (grub_video_fb_create_render_target_from_pointer)
5113 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5114 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5115 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5116 definition.
5117 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5118
ace96609
VS
51192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5122 HH22 and HM10 relocations.
5123
fd261d73
VS
51242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5127
e59b7857
VS
51282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
5131 allocation succeeded.
5132
9b4baaa4
VS
51332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
5136 argument a u8 pointer. All users updated.
5137 Handle unaligned buffers.
5138
dc713193
VS
51392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
5142 add_part to workaround compiler bug.
5143
30dd48c2
VS
51442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
5147
0c6087a8
VS
51482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
5151 Reserve alignment invariants.
5152 (grub_multiboot_load): Likewise.
5153 (retrieve_video_parameters): Likewise.
5154 (grub_multiboot_make_mbi): Likewise.
5155
c2e77777
VS
51562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
5159 incorrect pointer.
5160
b70b6d11
VS
51612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
5164 (grub_pata_pio_write): Likewise.
5165
02a2bf83
VS
51662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Add noreturn attributes and remove unreachable code.
5169
5170 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
5171 code.
5172 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
5173 code. Mark as noreturn.
5174 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
5175 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
5176 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
5177 unreachable code.
5178 * grub-core/kern/main.c (grub_main): Mark as noreturn.
5179 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
5180 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
5181 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
5182 * include/grub/kernel.h (grub_main): Mark as noreturn.
5183 * include/grub/reader.h (grub_rescue_run): Likewise.
5184
2019d09e
VS
51852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
5188 redundant declaration.
5189
d1c501ee
VS
51902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * include/grub/net.h (grub_net_network_level_interfaces): Remove
5193 redundant declaration.
5194 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
5195
61664420
VS
51962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
5199 to ensure alignment.
5200 (grub_hdparm_print_identify): Make argument uint16 * to ensure
5201 alignment. Ensure tmp alignment.
5202 (grub_cmd_hdparm): Ensure buf alignment.
5203 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
5204 to ensure alignment.
5205 (grub_ata_dumpinfo): Ensure text alignment.
5206 (grub_atapi_identify): Preserve alignment invariant.
5207 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
5208
0d51ee20
VS
52092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
5212 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
5213 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
5214 * include/grub/misc.h (grub_reboot)
5215 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
5216 (grub_halt) [__mips__]: Likewise.
5217
753ef8c1
VS
52182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
5221 Remove redundant declaration.
5222 (grub_mmap_get_post64): Likewise.
5223 (grub_mmap_get_upper): Likewise.
5224 (grub_mmap_get_lower): Likewise.
5225
85c85365
VS
52262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5227
5228 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
5229 uint32_t * to ensure alignment.
5230 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
5231
a23f2cc4
VS
52322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5233
93018f64
VS
5234 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
5235 uint16_t * to ensure alignment.
5236 (sun_pc_partition_map_iterate): Make `block' a union to ensure
5237 alignment.
5238
52392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
5242 to ensure alignment.
5243 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
5244
58acccd6
VS
52452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/fs/ntfs.c (u16at): Make into inline function.
5248 Handle unaligned pointers.
5249 (u32at): Likewise.
5250 (u64at): Likewise.
5251 (fixup): Use byte access instead of v16at.
5252 (find_attr): Fix imporper usage of v32at.
5253 (read_data): Likewise.
5254 (list_file): Handle byte-swapping and unaligned strings.
5255 (grub_ntfs_label): Likewise.
5256
9b05cad7
VS
52572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
5260 as it's not necessarily aligned.
5261
b3950b84
VS
52622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
5265 redundant declaration.
5266 (grub_serial_init): Likewise.
5267 (grub_terminfo_init): Likewise.
5268
fcd232b7
VS
52692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
5272 function.
5273 (ZAP_HASH_IDX): Likewise.
5274 (ZAP_LEAF_HASH_SHIFT): Likewise.
5275 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
5276 (LEAF_HASH): Likewise.
5277 (ZAP_LEAF_NUMCHUNKS): Likewise.
5278 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
5279 alignment invariants. Return pointer. All users updated.
5280 (ZAP_LEAF_ENTRY): Make into inline function.
5281 (NBBY): Removed.
5282 (xor): LIkewise.
5283 (xor_out): Use grub_crypto_xor.
5284 (dnode_get_path): Use grub_get_unaligned.
5285 (nvlist_find_value): Likewise.
5286 (grub_zfs_nvlist_lookup_uint64): Likewise.
5287 (grub_zfs_nvlist_lookup_string): Likewise.
5288 (get_nvlist_size): Likewise.
5289 (grub_zfs_open): Likewise.
5290 (fill_fs_info): Likewise.
5291 (grub_zfs_dir): Likewise.
5292 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
5293 alignment invariants.
5294 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
5295 necessarily aligned.
5296
f138623a
VS
52972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
5300
564840dc
VS
53012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
5304 arithmetic to conserve alignment invariants.
5305
9b40df20
VS
53062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
5309 redundant declaration.
5310 (grub_efiemu_mm_obtain_request): Likewise.
5311 (grub_efiemu_prepare): Likewise.
5312
d1c930f9
VS
53132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
5316 to match types.
5317
4c5f3056
VS
53182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
5321 case of aunaligned recptr.
5322 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
5323 alignment.
5324 (grub_hfsplus_btree_search): Handle unaligned index.
5325
728cba91
VS
53262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
5329 to get freetag and skip.
5330
eb561f31
VS
53312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
5334 array.
5335 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
5336 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
5337
20993fbb
VS
53382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
5341 name for checksum and fix allocation algorithm.
5342
1f313b94
VS
53432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * include/grub/types.h (grub_properly_aligned_t): New type.
5346 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
5347 (grub_get_unaligned16): Add explicit casts.
5348 (grub_get_unaligned32): Likewise.
5349 (grub_get_unaligned64): Likewise.
5350 (grub_set_unaligned16): New function.
5351 (grub_set_unaligned32): Likewise.
5352
47ae27ec
VS
53532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5356
78c2cd1c
VS
53572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
5360 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
5361 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
5362
53072f9b
VS
53632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
5366 conditionals.
5367
055dc239
VS
53682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
5371 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
5372
496bd074
VS
53732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 Unify and improve RAID and crypto xor.
5376
5377 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
5378 changed to grub_crypto_xor
5379 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
5380 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
5381 Use bigger types when possible.
5382
ef6e4335
VS
53832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/disk/raid.c (scan_devices): Fix condition.
5386
5d048bf2
VS
53872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
5390 Make name a const ptr.
5391
ee533335
VS
53922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
5395 first argument a const pointer.
5396 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
5398 proto.
5399 (grub_children_iterate): Likewise.
5400 (grub_machine_mmap_iterate): Remove redundant declaration.
5401
cc8f3668
VS
54022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
5405 (grub_cmd_acpi) [!x86]: Disable EBDA.
5406
c5fc563a
VS
54072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 Enable UTF8 in gnulib regexp.
5410
5411 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
5412 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
5413 (isupper): Use grub_isupper.
5414 (isascii): New inline function.
5415 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
5416 * grub-core/lib/posix_wrap/wctype.h: Likewise.
5417 * grub-core/normal/charset.c (grub_utf8_process): New function.
5418 (grub_utf8_to_utf16): Use grub_utf8_process.
5419 (grub_encode_utf8_character): New function.
5420 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
5421 * include/grub/charset.h (grub_utf8_process): New declaration.
5422 (grub_encode_utf8_character): Likewise.
5423 * include/grub/misc.h (grub_islower): New inline function.
5424 (grub_isupper): Likewise.
5425 (grub_strchrsub): Moved down to fix the definitions.
5426
0af2346f
VS
54272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
5430 specification.
5431
74dbd244
VS
54322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * include/grub/loader.h (grub_loader_register_preboot_hook):
5435 Use struct preboot * and not void * for handle. All users updated.
5436 (grub_loader_unregister_preboot_hook): Likewise.
5437
1bc8f60d
VS
54382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
5441 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
5442 UTF-16-BE. All users updated.
5443 (grub_hfsplus_cmp_catkey): Fix unicode handling.
5444 (grub_hfsplus_iterate_dir): Likewise.
5445 (grub_hfsplus_label): Likewise.
5446
48d6e456
VS
54472011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
5450
bf3a3857
VS
54512011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 Add missing const qualifiers.
5454
5455 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
5456 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
5457 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
5458 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
5459 (grub_lvm_check_flag): Likewise.
5460 * grub-core/efiemu/i386/coredetect.c
5461 (grub_efiemu_get_default_core_name): Likewise
5462 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5463 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
5464 * grub-core/fs/ntfs.c (fixup): Likewise.
5465 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
5466 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
5467 (fzap_lookup): Likewise.
5468 (zap_lookup): Likewise.
5469 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
5470 * grub-core/lib/legacy_parse.c (check_option): Likewise.
5471 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
5472 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
5473 (grub_freebsd_add_meta_module): Likewise.
5474 (grub_cmd_freebsd_module): Likewise.
5475 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
5476 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
5477 (grub_xnu_writetree_get_size): Likewise.
5478 (grub_xnu_writetree_toheap_real): Likewise.
5479 (grub_xnu_find_key): Likewise.
5480 (grub_xnu_create_key): Likewise.
5481 (grub_xnu_create_value): Likewise.
5482 (grub_xnu_register_memory): Likewise.
5483 (grub_xnu_check_os_bundle_required): Likewise.
5484 (grub_xnu_scan_dir_for_kexts): Likewise.
5485 (grub_xnu_load_kext_from_dir): Likewise.
5486 * grub-core/normal/color.c (color_list): Likewise.
5487 * grub-core/normal/completion.c (current_word): Likewise.
5488 * grub-core/normal/menu_entry.c (insert_string): Likewise.
5489 * grub-core/term/serial.c (grub_serial_find): Likewise.
5490 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
5491 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
5492 Likewise.
5493 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
5494 (grub_freebsd_add_meta_module): Likewise.
5495 * include/grub/lib/arg.h (grub_arg_option): Likewise.
5496 * include/grub/net.h (grub_net_card_driver): Likewise.
5497 (grub_net_card): Likewise.
5498 (grub_net_app_protocol): Likewise.
5499 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
5500 * include/grub/serial.h (grub_serial_find): Likewise.
5501 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
5502 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
5503 (grub_xnu_create_value): Likewise.
5504 (grub_xnu_find_key): Likewise.
5505 (grub_xnu_scan_dir_for_kexts): Likewise.
5506 (grub_xnu_load_kext_from_dir): Likewise.
5507
5508 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
5509 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
5510 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
5511 Moved from here ...
5512 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
5513
112b4837
CW
55142011-11-28 Colin Watson <cjwatson@ubuntu.com>
5515
5516 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
5517
49e891ac
VS
55182011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
5521 (read_device): Fix size calculation.
5522
fd258e5c
RM
55232011-11-25 Robert Millan <rmh@gnu.org>
5524
5525 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
5526 (find_root_device_from_libzfs): Add zpool output parser to be used
5527 as fallback when libzfs isn't available.
5528
78845dc2
SG
55292011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
5530
5531 * po/Makefile.in.in: Add missing escape-continuation.
5532
adac5211
VS
55332011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
5536
10b64f1c
VS
55372011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
5540
bb416954
VS
55412011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
5544
bdfe9eeb
VS
55452011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
5548
581ffa8a
VS
55492011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * grub-core/lib/adler32.c: Add missing license specification.
5552 * grub-core/lib/crc64.c: Likewise.
5553 * grub-core/loader/i386/pc/plan9.c: Likewise.
5554 * grub-core/partmap/plan.c: Likewise.
5555
2536cf64
LK
55562011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
5557
5558 Add facility to debug GRUB with gdb under qemu.
5559
5560 * grub-core/gdb_grub.in: New file.
5561 * grub-core/gmodule.pl.in: Likewise.
5562 * grub-core/Makefile.core.def (gmodule.pl): New script.
5563 (gdb_grub): Likewise.
5564
bc108a4a
VS
55652011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/grub-mount.c (argp_parser): Accept relative pathes.
5568 * util/grub-fstest.c (argp_parser): Likewise.
5569
111c1778
VS
55702011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 Plan9 support.
5573
5574 * Makefile.util.def (libgrubmods): Add
5575 grub-core/partmap/plan.c.
5576 * docs/grub.texi: Notice Plan9 support.
5577 * grub-core/Makefile.core.def (plan9): New module.
5578 (part_plan): Likewise.
5579 * grub-core/loader/i386/pc/plan9.c: New file.
5580 * grub-core/partmap/plan.c: Likewise.
5581 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
5582 define.
5583 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
5584 * include/grub/mm.h (grub_extend_alloc): New inline function.
5585
c30be3b6
VS
55862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 Make Reed-Solomon faster by using power of generator representation of
5589 GF(256)*.
5590
5591 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
5592 (gf_double_t): Likewise.
5593 (gf_invert): Removed.
5594 (gf_powx): New array.
5595 (gf_powx_inv): Likewise.
5596 (scratch): Move higher.
5597 (gf_reduce): Removed.
5598 (gf_mul): Use powx.
5599 (gf_invert): Likewise.
5600 (init_inverts): Replaced with ...
5601 (init_powx): ...this. All users updated.
5602 (pol_evaluate): Replace multiplications with additions.
5603 (rs_encode): Likewise.
5604 (gauss_eliminate): Call gf_invert.
5605 (grub_reed_solomon_add_redundancy): Call init_powx.
5606 (grub_reed_solomon_recover): Call init_powx unconditionally.
5607
fa5aeffc
VS
56082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
5611
a346b81c
VS
56122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
5615 disk->partiton for safety.
5616
d89ee414
VS
56172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5620 Fix a memory leak.
5621 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
5622
91ee7b6d
VS
56232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
5626
91e5a33d
VS
56272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
5630
9edd7be2
VS
56312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Fix spaces handling in proc/self/mountinfo.
5634
5635 * util/getroot.c (unescape): New function.
5636 (grub_find_root_device_from_mountinfo): Use unescape.
5637
ba102053
VS
56382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Support ZFS embedding.
5641
5642 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5643 (grub_zfs_fs): Register grub_zfs_embed.
5644
aa94b870
VS
56452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Fix MIPS compilation.
5648
5649 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5650 * include/grub/offsets.h: Rename decompressor fields from
5651 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5652 * util/grub-mkimage.c (image_targets): Use new names.
5653
5fbdac14
VS
56542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 Defer multiboot device parsing until we're in compressed part.
5657
5658 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5659 bsd_part. setdevice has fallen into disuse.
5660 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5661 (bsd_part): Likewise.
5662 (boot_dev): New variable.
5663 (multiboot_trampoline): Don't parse multiboot device.
5664 Pass multiboot device in %edx.
5665 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5666 grub_boot_device.
5667 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5668 Likewise.
5669 * grub-core/kern/i386/pc/startup.S: Save edx.
5670 (grub_boot_drive): Removed.
5671 (grub_install_dos_part): Likewise.
5672 (grub_install_bsd_part): Likewise.
5673 (grub_boot_device): New variable.
5674 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5675 (grub_install_bsd_part): Likewise.
5676 (grub_boot_drive): Likewise.
5677 (grub_boot_device): New variable.
5678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5679 Removed.
5680 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5681 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5682 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5683 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5684 * util/grub-install.in: Remove redundant condition.
5685
691cbb58
VS
56862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Fix bug introduced by previous commit.
5689
5690 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5691
60240b8b
VS
56922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 Use decompressors framework on i386-pc. It increases core size
5695 by 46 bytes but improves compatibility and maintainability.
5696
5697 * grub-core/Makefile.core.def (lzma_decompress): New image.
5698 (kernel): Add i386_pc_ldflags.
5699 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5700 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5701 to real_to_prot, prot_to_real and device info.
5702 * include/grub/offsets.h: Renamed decompressor offsets.
5703 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5704 (image_target_desc): Remove raw_size and rename decompressor fields.
5705 (compress_kernel): Handle lzma.
5706 (generate_image): Handle decompressors on i386-pc.
5707
e9d3421c
VS
57082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * configure.ac: Add -fno-asynchronous-unwind-tables.
5711
2b23074a
VS
57122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 Move assembly code to C by using intwrap. It increases core size
5715 by 88 bytes but improves compatibility and maintainability.
5716
5717 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5718 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5719 ... here. Translated to C.
5720 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5721 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5722 ... here. Translated to C.
5723 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5724 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5725 ... here. Translated to C.
5726 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5727 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5728 ... here. Translated to C.
5729 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5730 * grub-core/term/i386/pc/console.c (grub_console_cls):
5731 ... here. Translated to C.
5732 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5733 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5734 ... here. Translated to C.
5735 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5736 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5737 Translated to C.
5738 * grub-core/term/i386/pc/console.c (int10_9): New function.
5739 (grub_console_putchar): Likewise.
5740 * include/grub/i386/pc/console.h: Removed the not anymore shared
5741 functions.
5742
678f4b67
VS
57432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Move grub_chainloader_real_boot out of the kernel.
5746
5747 * grub-core/Makefile.am: Remove machine/loader.h.
5748 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5749 Removed.
5750 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5751 variable.
5752 (grub_relocator16_keep_a20_enabled): Likewise.
5753 (grub_relocator16_boot): Fill new variables.
5754 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5755 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5756 relocator.
5757 (grub_chainloader_unload): Likewise.
5758 (grub_chainloader_cmd): Likewise.
5759 * include/grub/i386/pc/loader.h: Removed.
5760 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5761 and esi. All initialisers updated.
5762
4626edf6
VS
57632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
57642011-11-12 Colin Watson <cjwatson@ubuntu.com>
5765
5766 * Makefile.util.def (grub-mount): New util.
5767 * .bzrignore: Add grub-mount.
5768 * configure.ac: Check for fuse and enable grub-mount if available.
5769 * docs/man/grub-mount.h2m: New file.
5770 * util/grub-mount.c: Likewise.
5771
10f0117b
VS
57722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/commands/efi/fixvideo.c: Gettextize.
5775 * grub-core/commands/hashsum.c: Likewise.
5776 * grub-core/commands/i386/cmostest.c: Likewise.
5777 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5778 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5779 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5780 * grub-core/commands/lsmmap.c: Likewise.
5781 * grub-core/commands/menuentry.c: Likewise.
5782 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5783 * grub-core/commands/setpci.c: Likewise.
5784 * grub-core/loader/i386/bsd.c: Likewise.
5785 * grub-core/loader/i386/linux.c: Likewise.
5786 * util/getroot.c: Likewise.
5787 * util/grub-editenv.c: Likewise.
5788 * util/grub-fstest.c: Likewise.
5789 * util/grub-mkfont.c: Likewise.
5790 * util/grub-mkimage.c: Likewise.
5791 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5792 * util/grub-pe2elf.c: Likewise.
5793 * util/grub-probe.c: Likewise.
5794 * util/grub-setup.c: Likewise.
5795 * util/ieee1275/ofpath.c: Likewise.
5796 * util/misc.c: Likewise.
5797 * util/raid.c: Likewise.
5798
566f779b
RM
57992011-11-11 Robert Millan <rmh@gnu.org>
5800
5801 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5802 __attribute__((unused)) from `os_dev', which *is* being used.
5803
b50787de
VS
58042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5807 forgotten define.
5808 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5809 GRUB_IA64_DL_GOT_ALIGN.
5810 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5811 GRUB_IA64_DL_TRAMP_ALIGN.
5812
119d11c8
VS
58132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Replace grub_fatal with normal errors in i386 linux loader.
5816
5817 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5818 (allocate_pages): Check find_efi_mmap_size return value.
5819 (grub_e820_add_region): Return error.
5820 (grub_linux_boot): Check mmap return value.
5821
6e0632e2
VS
58222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/commands/acpihalt.c: Gettextized.
5825 * grub-core/commands/cacheinfo.c: Likewise.
5826 * grub-core/commands/cmp.c: Likewise.
5827 * grub-core/commands/efi/loadbios.c: Likewise.
5828 * grub-core/commands/gptsync.c: Likewise.
5829 * grub-core/commands/ieee1275/suspend.c: Likewise.
5830 * grub-core/commands/legacycfg.c: Likewise.
5831 * grub-core/commands/memrw.c: Likewise.
5832 * grub-core/commands/minicmd.c: Likewise.
5833 * grub-core/commands/parttool.c: Likewise.
5834 * grub-core/commands/time.c: Likewise.
5835 * grub-core/commands/videoinfo.c: Likewise.
5836 * grub-core/disk/geli.c: Likewise.
5837 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5838 * grub-core/disk/luks.c: Likewise.
5839 * grub-core/disk/lvm.c: Likewise.
5840 * grub-core/font/font_cmd.c: Likewise.
5841 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5842 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5843 * grub-core/gfxmenu/view.c: Likewise.
5844 * grub-core/kern/emu/hostdisk.c: Likewise.
5845 * grub-core/kern/emu/main.c: Likewise.
5846 * grub-core/kern/emu/misc.c: Likewise.
5847 * grub-core/kern/emu/mm.c: Likewise.
5848 * grub-core/kern/mips/arc/init.c: Likewise.
5849 * grub-core/kern/mips/loongson/init.c: Likewise.
5850 * grub-core/kern/partition.c: Likewise.
5851 * grub-core/lib/i386/halt.c: Likewise.
5852 * grub-core/lib/mips/arc/reboot.c: Likewise.
5853 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5854 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5855 * grub-core/loader/i386/xnu.c: Likewise.
5856 * grub-core/loader/multiboot.c: Likewise.
5857 * grub-core/net/bootp.c: Likewise.
5858 * grub-core/net/net.c: Likewise.
5859 * grub-core/normal/term.c: Likewise.
5860 * grub-core/partmap/bsdlabel.c: Likewise.
5861 * grub-core/parttool/msdospart.c: Likewise.
5862 * grub-core/term/gfxterm.c: Likewise.
5863 * grub-core/term/terminfo.c: Likewise.
5864 * grub-core/video/i386/pc/vbe.c: Likewise.
5865 * util/grub-menulst2cfg.c: Likewise.
5866 * util/grub-mkdevicemap.c: Likewise.
5867 * util/grub-mklayout.c: Likewise.
5868 * util/grub-mkrelpath.c: Likewise.
5869 * util/grub-script-check.c: Likewise.
5870 * util/ieee1275/grub-ofpathname.c: Likewise.
5871 * util/resolve.c: Likewise.
5872
073aa7a9
VS
58732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 Support %1$d syntax.
5876
5877 * tests/printf_unit_test.c: New file.
5878 * Makefile.util.def (printf_test): New test.
5879 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5880
c76b5417
VS
58812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5884 fix.
5885
df067ad1
VS
58862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5889 dprintf.
5890 * grub-core/font/font.c (grub_font_load): Likewise.
5891
5b289bc5
VS
58922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * util/grub-macho2img.c: Add comment concerning gettext.
5895 * grub-core/lib/legacy_parse.c: Likewise.
5896
c1860f87
VS
58972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5900 (grub_xvasprintf): Likewise.
5901
d35d0d37
VS
59022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Add const keyword to grub_env_get and gettextize week days.
5905
5906 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5907 (grub_read_hook_datetime): Return const char *.
5908 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5909 updated.
5910 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5911 Mark for gettext.
5912 (grub_get_weekday_name): Return const char *. Call gettext.
5913 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5914 char * and len as the argument. All users updated.
5915 (grub_script_argv_split_append): Receive const char *.
5916 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5917 * include/grub/env.h (grub_env_get): Likewise.
5918 (grub_env_read_hook_t): Return const char *.
5919 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5920 (grub_script_argv_split_append): Likewise.
5921
9aed8a71
VS
59222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5925
067fdf00
VS
59262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5929 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5930
a8bd9d39
VS
59312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5934 Fix prototype.
5935
f7ce5baf
VS
59362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 Fix mips compilation.
5939
5940 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5941 normal decoder.
5942 (hashes): Use in embed decoder as well (for sizes).
5943 (dec_stream_header): Fix embed decompressor logic.
5944 (dec_stream_footer): Likewise.
5945
9bb182f3
VS
59462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5949 an error and not a fatal on unrecognised relocation types.
5950
63a9e6f6
VS
59512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5954 Issue error rather than printf on unknown arguments.
5955
4c458569
VS
59562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5959 Make buf a const.
5960
e2d22baf
VS
59612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5964 Fix module name.
5965
53dc8590
VS
59662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5969 leftover debug printf.
5970
6c189294
VS
59712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5974
f7688369
VS
59752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5978 A stylistic fix.
5979
11a775a3
VS
59802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5983
33f784e8
SL
59842011-11-10 Shea Levy <slevy@tieronedesign.com>
5985
5986 Allow all modules to perform serial IO
5987
5988 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5989 * include/grub/serial.h (grub_serial_port_configure): New inline
5990 function.
5991 (grub_serial_port_fetch): Likewise.
5992 (grub_serial_port_put): Likewise.
5993 (grub_serial_port_fini): Likewise.
5994 (grub_serial_find): New proto.
5995
f6276525
VS
59962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Put symlink at the end of the node and fix a potential
5999 memory corruption.
6000
6001 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6002 Make symlink into an array.
6003 (set_rockridge): Set have_symlink and alloc_dirents.
6004 (grub_iso9660_read_symlink): Use new layout.
6005 (grub_iso9660_iterate_dir): Fix memory corruption.
6006 Use new layout.
6007 (grub_iso9660_dir): Set have_symlink.
6008 (grub_iso9660_open): Likewise.
6009
c3591189
VS
60102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Remove local keyword.
6013
6014 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6015 (version_test_gt): Likewise.
6016 (version_find_latest): Likewise.
6017 (gettext_printf): Likewise.
6018 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6019
cb544caa
VS
60202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6023
45bd824d
VS
60242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 Fix ZFS memory and resource leaks.
6027
6028 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6029 All users updated.
6030 Free type on exit.
6031 (fill_vdev_info): New parameter inserted. All users updated.
6032 (check_pool_label): Likewise.
6033 (scan_disk): Likewise.
6034 (scan_devices): Close non-inserted disks.
6035 (fzap_iterate): Free l.
6036 (unmount_device): Free children descripto memory.
6037
ad9a2f44
VS
60382011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6041 argument (access out of bounds).
6042
6b68db81
VS
60432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6046 >= 6 drives.
6047
28840fda
VS
60482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6051 Fix declaration.
6052
8a5a3a5b
VS
60532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 Fix several memory leaks.
6056
6057 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6058 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6059 (grub_cpio_dir): Likewise.
6060 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6061 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6062 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6063 (grub_romfs_label): Likewise.
6064 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6065 (squash_unmount): New function.
6066 (grub_squash_dir): Fix memory leak.
6067 (grub_squash_open): Likewise.
6068 (grub_squash_read): Likewise.
6069 (grub_squash_mtime): Likewise.
6070 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6071 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6072 * util/grub-fstest.c (fstest): Likewise.
6073
57b01250
VS
60742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6077 avoid accessing beyond the array.
6078
19e81ba7
VS
60792011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6082
52b656c0
VS
60832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 Several AFFS fixes.
6086
6087 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6088 (GRUB_AFFS_FLAG_FFS): Removed.
6089 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6090 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6091 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6092 (grub_fshelp_node): Make block 32-bit.
6093 Add block_cache and last_block_cache.
6094 (grub_affs_read_block): Fill and use block cache.
6095 (grub_affs_read_file): Removed.
6096 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6097 boot block.
6098 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6099 safety.
6100 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6101 space.
6102 (grub_affs_close): Free block cache.
6103 (grub_affs_read): Use grub_fshelp_read_file directly.
6104
438a746a
VS
61052011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6108 with no error set.
6109
49a45021
VS
61102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6113 used variable.
6114 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6115 Likewise.
6116
3ae17eb8
VS
61172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6120
6121 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6122 byteswap when needed.
6123
27610c38
VS
61242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Fix FreeBSD compilation.
6127
6128 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6129 to avoid circular dependency.
6130 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
6131 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
6132 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
6133
4a19b601
VS
61342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 Fix ZFS crypto error types.
6137
6138 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
6139 (grub_gcm_decrypt): Likewise.
6140 (grub_zfs_load_key_real): Fix error code type. Handle possible error
6141 from PBKDF2.
6142
958ee221
VS
61432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 Illumos support.
6146
6147 * Makefile.util.def (10_illumos): New script.
6148 * configure.ac: Set COND_HOST_ILLUMOS.
6149 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
6150 Support Illumos calls.
6151 (find_partition_start) [__sun__]: Likewise.
6152 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
6153 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
6154 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
6155 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
6156 device.
6157 * util/grub-probe.c (probe) [__sun__]: Do character check.
6158 * util/grub.d/10_illumos.in: New file.
6159
cac14fb6
VS
61602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 Support escaped commas in hostdisk.
6163
6164 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
6165 (find_grub_drive): Use unescape_cmp.
6166 (make_device_name): Escape commas.
6167
78e08dc3
VS
61682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
6171
9f421dd1
VS
61722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
6175 variable.
6176
ed64e9e2
VS
61772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 Support trampoline jumps on powerpc.
6180
6181 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
6182 __ia64__ path.
6183 (grub_dl_load_segments): Set mod->sz.
6184 (grub_dl_flush_cache): Flush whole space occupied by module, not just
6185 segments.
6186 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
6187 (jump): Likewise.
6188 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
6189 function.
6190 (trampoline): New struct.
6191 (trampoline_template): New const.
6192 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
6193 * include/grub/dl.h (grub_dl): Add sz element.
6194 [__powerpc__]: Follow __ia64__.
6195 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
6196 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
6197 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
6198 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
6199
3084ede4
VS
62002011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 ZFS crypto support.
6203
6204 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
6205 * grub-core/Makefile.core.def (zfscrypt): New module.
6206 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
6207 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
6208 it. All users updated.
6209 (grub_zfs_decrypt): New var.
6210 (grub_zfs_load_key): Likewise.
6211 (zio_checksum_functions): Add SHA256+MAC.
6212 (zio_checksum_verify): Handle incomplete comparison due to MAC.
6213 (zio_read): Handle encrypted blocks.
6214 (zap_verify): Remove incorrect check.
6215 (fzap_iterate): Handle non-standard fzap.
6216 (zap_iterate): Likewise.
6217 (zap_iterate_u64): New function.
6218 (dnode_get_fullpath): Load keys.
6219 * grub-core/fs/zfs/zfscrypt.c: New file.
6220 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
6221 (grub_crypto_ecb_encrypt): Make input const.
6222 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
6223 (grub_crypto_ecb_encrypt): Make input const.
6224 (GRUB_CIPHER_AES): New macro.
6225 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
6226 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
6227 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
6228 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
6229 prefix. All users updated.
6230 (grub_zfs_add_key): New proto.
6231 (grub_zfs_decrypt): Likewise.
6232 (grub_zfs_load_key): Likewise.
6233 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
6234 * util/grub-fstest.c (options): Add -K option.
6235 (argp_parser): Likewise.
6236
b632b404
VS
62372011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Support zle compression on ZFS.
6240
6241 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
6242 (decomp_table): Add zle.
6243 * include/grub/zfs/zio.h (zio_compress): Add zle.
6244
c7ba4f69
VS
62452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Support BtrFS embedding.
6248
6249 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
6250 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
6251 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
6252 * util/grub-setup.c (setup): Use fs embedding if available.
6253 Add additional sanity check.
6254
455377d9
VS
62552011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * util/grub-install.in: Fix condition for config_opt.
6258
c2fd16ca
VS
62592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Support third redundancy strip on raidz3.
6262
6263 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
6264 Return error on singularity. All users updated.
6265 (read_device): Don't stop on 3rd failure on raidz3.
6266
8622923b
VS
62672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Support case-insensitive ZFS subvolumes.
6270
6271 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
6272 All users updated.
6273 (zap_hash): Likewise.
6274 (name_cmp): New function.
6275 (zap_leaf_array_equal): New parameter case_insensitive.
6276 All users updated.
6277 (zap_leaf_lookup): Likewise.
6278 (fzap_lookup): Likewise.
6279 (zap_lookup): Likewise.
6280 (dnode_get_path): New parameter case_insensitive. Retrieve case
6281 sensitiviness of a volume. All users updated.
6282 (dnode_get_fullpath): New parameter case_insensitive.
6283 All users updated.
6284 (grub_zfs_dir): Set info.case_insensitiveness.
6285
95f2e860
VS
62862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 Support second redundancy strip on raidz(2,3).
6289
6290 * grub-core/fs/zfs/zfs.c (powx): New array.
6291 (powx_inv): Likewise.
6292 (poly): New const.
6293 (xor_out): New function.
6294 (gf_mul): Likewise.
6295 (recovery): Likewise.
6296 (read_device): Use second redundancy strip.
6297
11ee4389
VS
62982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Use a power of generator representation of GF(256) multiplication group
6301 to save space time and complexity.
6302
6303 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
6304 (raid6_table2): Likewise.
6305 (powx): New array.
6306 (powx_inv): Likewise.
6307 (poly): New const.
6308 (grub_raid_block_mul): Replace with ...
6309 (grub_raid_block_mulx): ...this.
6310 (grub_raid6_init_table): Rewritten.
6311 (grub_raid6_recover): Use power of generator representation.
6312
09e2763f
VS
63132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
6316 for the right device.
6317
8bec9a28
VS
63182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
6321 expected by grub-mkimage and it's more clear since there is no implicit
6322 padding.
6323
dbd3a32e
VS
63242011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
6327 disk.
6328 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6329
182c872a
PMH
63302011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
6331
6332 * util/grub-mkrescue.in: Fix handling xorriso option.
6333
1e51cabd
VS
63342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
6337 NULL.
6338
9cc3581d 63392011-11-03 crocket <crockabiscuit@gmail.com>
6340
6341 * util/grub.d/10_linux.in: Add Slackware initrd naming.
6342
158dc1ea
VS
63432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 XZ CRC64 and SHA256 support.
6346
6347 * Makefile.util.def (libgrubmods): Add crc64.c.
6348 * grub-core/Makefile.core.def (crc64): New module.
6349 * grub-core/lib/crc64.c: New file.
6350 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
6351 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
6352 Fix the type.
6353 (MAX_HASH_SIZE): New define.
6354 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
6355 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
6356 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6357 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
6358 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
6359 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
6360 Handle non-crc32 hashes.
6361 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
6362 (dec_stream_header): Handle non-crc32 hashes.
6363 (dec_stream_footer): Likewise.
6364 (dec_block_header): Likewise.
6365 (dec_main): Likewise.
6366 (xz_dec_init): Likewise.
6367 (xz_dec_reset): Likewise.
6368 (xz_dec_end): Likewise.
6369 * util/import_gcry.py: Add CRC64 line.
6370
9d9b3d2f
VS
63712011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
6374 as well.
6375
7d0ac931
VS
63762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 Make reiserfs label retrieval similar to other *_label functions.
6379
6380 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
6381 (REISERFS_MAX_LABEL_LENGTH): Removed.
6382 (REISERFS_LABEL_OFFSET): Likewise.
6383 (grub_reiserfs_label): Rewritten.
6384
63852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
6388 field.
6389
cf5ba824
VS
63902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
6391
6392 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
6393
17744004
VS
63942011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
6397 drive failure on both raidz and raidz2.
6398
aca5aefc
VS
63992011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 Fix RAIDZ(2) for >= 5 devices.
6402
6403 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
6404 asize argument. All users updated.
6405
ce8ca56e
VS
64062011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Fix RAIDZ(2).
6409
6410 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
6411 (fill_vdev_info_real): Set ashift.
6412 (read_device): Rewrite RAIDZ part based on reverse engineering.
6413
7c01e783
VS
64142011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
6417 don't report potentially unavialiable fields in debug output.
6418 (find_path): Fix double-free and memory leak.
6419
ce109e84
VS
64202011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Read label on UFS1.
6423
6424 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
6425 (grub_ufs_fs): Always set .label.
6426
87661123
VS
64272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Use shifts in UFS.
6430
6431 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
6432 (grub_ufs_data): New field log2_blksz.
6433 (grub_ufs_read_file): Use shifts.
6434 (grub_ufs_mount): Check block size and logarithm it.
6435
46bc1dc2
VS
64362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
6439 long symlinks.
6440
19ee2987
VS
64412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 Handle symlinks and long names on tar and cpio.
6444
6445 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
6446 (ATTR_FILE): Likewise.
6447 (ATTR_DIR): Likewise.
6448 (ATTR_LNK): Likewise.
6449 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
6450 (grub_cpio_find_file): Fill mode, handle linkname field as well as
6451 L and K entries.
6452 (grub_cpio_mount): Zero-fill data.
6453 (handle_symlink): New function.
46bc1dc2
VS
6454 (grub_cpio_dir): Handle symlinks.
6455 (grub_cpio_open): Likewise.
6456 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 6457
c83a08d8
VS
64582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 Fix iso9660 filename limitations and fix memory leaks.
6461
6462 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
6463 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
6464
45cdd3ea
VS
64652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 Fix JFS file name length limitations.
6468
6469 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
6470 (grub_jfs_diropen): Fix maximum filename length.
6471 (grub_jfs_getent): Fix filename length.
6472 (grub_jfs_lookup_symlink): Fix size checks.
6473
94ef05c2
VS
64742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
6477 string.
6478
785ab8c7
VS
64792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6480
eb0b6b45
VS
6481 Leverage BFS implementation to read AFS.
6482
6483 * Makefile.util.def (libgrubmods): Add afs.c.
6484 * grub-core/Makefile.core.def (afs): New module
6485 * grub-core/fs/afs.c: New file.
6486 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
6487
64882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 6491
c4a1628f
VS
64922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * grub-core/fs/bfs.c: Run indent.
6495
5825b379
VS
64962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 BFS implementation based on the specification.
6499
6500 * grub-core/fs/bfs.c: New file.
6501 * Makefile.util.def (libgrubmods): Add bfs.c.
6502 * grub-core/Makefile.core.def (bfs): New module.
6503
42b2a706
VS
65042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * util/grub-fstest.c (cmd_cp): Clarify error message.
6507 (cmd_cmp): Likewise.
6508
61b99bfc
YB
65092011-10-30 Yves Blusseau <blusseau@zetam.org>
6510
6511 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
6512 and befs_be.
6513
faba3d16
VS
65142011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Remove afs and befs because of copyright problem.
6517
6518 * grub-core/fs/afs.c: Removed.
6519 * grub-core/fs/afs_be.c: Removed.
6520 * grub-core/fs/befs.c: Removed.
6521 * grub-core/fs/befs_be.c: Removed.
6522 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
6523 * grub-core/Makefile.core.def (afs): Removed.
6524 (afs_be): Likewise.
6525 (befs): Likewise.
6526 (befs_be): Likewise.
6527
c39224b0
VS
65282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Prefer rockridge over Joliet.
6531
6532 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
6533 to ...
6534 (set_rockridge): ... here.
6535 (grub_iso9660_mount): Check rockridge on the primary label when
6536 discovering. Ignore Joliet if Rockridge is present.
6537
e551115a
VS
65382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 Use shifts in nilfs2.
6541
6542 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
6543 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
6544 (grub_nilfs2_palloc_entries_per_group): Replace with ...
6545 (grub_nilfs2_log_palloc_entries_per_group): ... this.
6546 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
6547 (grub_nilfs2_entries_per_block): Replaced with ...
6548 (grub_nilfs2_log_entries_per_block_log): ... this.
6549 (grub_nilfs2_blocks_per_group): Replaced with ...
6550 (grub_nilfs2_blocks_per_group_log): ... this.
6551 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
6552 (grub_nilfs2_blocks_per_desc_block_log): ... this.
6553 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
6554 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
6555 (grub_nilfs2_palloc_entry_offset): Replaced ...
6556 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
6557 (grub_nilfs2_dat_translate): Use shifts.
6558 (grub_nilfs2_read_inode): Likewise.
6559 (GRUB_MOD_INIT): Ensure that logs are correct.
6560
564dd58c
VS
65612011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 Use shifts in minix filesystem.
6564
6565 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
6566 (GRUB_MINIX_ZONE2SECT): Likewise.
6567 (grub_minix_data): Replace block_size with log_block_size.
6568 (grub_minix_read_file): Use shifts.
6569 (grub_minix_mount): Check block size and take a logarithm.
6570
ed9ba06d
VS
65712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 Use shifts in squash4.
6574
6575 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
6576 (squash_mount): Check block size and take logarithm.
6577 (direct_read): Use shifts.
6578
ad03fe76
VS
65792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Correct befs block counting logic.
6582
6583 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
6584 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
6585 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
6586 (grub_afs_read_inode): Use block_shift.
6587 (RANGE_SHIFT): New definition.
6588 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
6589 unexpected conditions, use shifts and appropriate types.
6590 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
6591
6563f63d
VS
65922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/disk/raid.c (scan_devices): Check partition.
6595 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
6596
5b1ae25f
VS
65972011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 Support BFS (befs) UUID.
6600
6601 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
6602 (grub_afs_small_data_element_header): New struct.
6603 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
6604 (grub_afs_read_attribute) [MODE_BFS]: New function.
6605 (grub_afs_iterate_dir): Allocate for complete inode.
6606 (grub_afs_mount): Likewise.
6607 (grub_afs_uuid) [MODE_BFS]: New function.
6608 (grub_afs_fs) [MODE_BFS]: Add .uuid.
6609
f8d82408
VS
66102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
6613 (zfs_unmount): Fix memory leak.
6614
5773fb64
VS
66152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 Support NTFS reparse points.
6618
6619 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
6620 (symlink_descriptor): New struct.
6621 (grub_ntfs_read_symlink): New function.
6622 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
6623 (grub_ntfs_open): Likewise.
6624
91c3fdde
VS
66252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
6628
3be82e10
VS
66292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 fstest xnu_uuid subcommand.
6632
6633 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6634 grub-core/commands/xnu_uuid.c.
6635 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6636 (fstest): Handle xnu_uuid.
6637 (options): Document xnu_uuid.
6638 (argp_parser): Parse xnu_uuid.
6639
8e32442e
VS
66402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6643 -l argument. Add newline at the end if printing.
6644 (GRUB_MOD_INIT): Document -l.
6645
52a05075
VS
66462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6649
1869edb5
VS
66502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 ZFS multi-device and version 33 support.
6653
6654 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6655 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6656 (grub_zfs_data): Add multidev-ice-related fields.
6657 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6658 (dva_get_offset): Make dva const.
6659 (zfs_fetch_nvlist): New function.
6660 (fill_vdev_info_real): Likewise.
6661 (fill_vdev_info): Likewise.
6662 (check_pool_label): Likewise.
6663 (scan_disk): Likewise.
6664 (scan_devices): Likewise.
6665 (read_device): Likewise.
6666 (read_dva): Likewise.
6667 (zio_read_gang): Use read_dva.
6668 (zio_read_data): Likewise.
6669 (zap_leaf_lookup): Add missing endian conversion.
6670 (zap_verify): Add missing endian conversion. All users updated.
6671 (fzap_lookup): Likewise.
6672 (fzap_iterate): Likewise.
6673 (dnode_get_path): Handle SA bonus.
6674 (nvlist_find_value): Make input const. All users updated.
6675 (unmount_device): New function.
6676 (zfs_unmount): Use unmount_device.
6677 (zfs_mount): Use scan_disk.
6678 (zfs_mtime): New function.
6679 (grub_zfs_open): Handle system attributes.
6680 (fill_fs_info): Likewise.
6681 (grub_zfs_dir): Likewise.
6682 (grub_zfs_fs): Add mtime.
6683 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6684 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6685 (SA_MTIME_OFFSET): Likewise.
6686 (SA_SYMLINK_OFFSET): Likewise.
6687 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6688 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6689 (fstest): Support zfsinfo.
6690 (argp_parser): Likewise.
6691
186b4028
VS
66922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6695 error.
6696
66972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6698
6699 ZFS fixes.
6700
6701 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6702 sharing the same block. Iterate over correct number of indices.
6703 (dnode_get_path): Handle symlinks correctly.
6704
c0584900
VS
67052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6708
67e2bd71
VS
67092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 Read label on HFS+.
6712
6713 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6714 (grub_hfsplus_btree_search): Fix types.
6715 (grub_hfsplus_label): Implement.
6716
e9cc6b7b
VS
67172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6720
19832ddb
VS
67212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6724
66b40850
VS
67252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Fix symlink handling on iso9660.
6728
6729 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6730 All users updated.
6731 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6732 (grub_iso9660_read_symlink): Moved most of code ...
6733 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6734
db821363
VS
67352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6738 Use union to avoid breaking strict-aliasing rules.
6739
e1211949
VS
67402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 Support multi-extent iso files.
6743
6744 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6745 Add node.
6746 (grub_fshelp_node): Revamp. All users updated.
6747 (FLAG_*): New enum.
6748 (read_node): New function.
6749 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6750 All users updated.
6751 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6752 (get_node_size): New function.
6753 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6754 entries.
6755 Fix memory leak on . and ..
6756 (grub_iso9660_read): Use read_node.
6757 (grub_iso9660_close): Free node.
6758
d4888031
VS
67592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 Fix tar 4G limit and handle paths containing dot.
6762
6763 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6764 (canonicalize): New function.
6765 (grub_cpio_find_file): Use canonicalize. Store offs in
6766 grub_disk_addr_t.
6767 (grub_cpio_dir): Use grub_disk_addr_t.
6768 (grub_cpio_open): Likewise.
6769
9f12e664
VS
67702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6773
6774 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6775 unused flags.
6776 (grub_squash_inode): Add long_file and block_size.
6777 (grub_squash_cache_inode): New struct.
6778 (grub_squash_dirent): Make types into enum.
6779 (SQUASH_TYPE_LONG_REGULAR): New type.
6780 (grub_squash_frag_desc): Add field size.
6781 (SQUASH_BLOCK_FLAGS): New enum.
6782 (grub_squash_data): Use grub_squash_cache_inode.
6783 (grub_fshelp_node): Make ino_chunk 64-bit.
6784 (read_chunk): Minor argument change. All users updated.
6785 (squash_mount): Use correct le_to_cpu.
6786 (grub_squash_open): Handle LONG_REGULAR.
6787 (direct_read): New function.
6788 (grub_squash_read_data): Handle blocks correctly.
6789
9f326fba
VS
67902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6793
f4d9b64b
VS
67942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6797
5bbd28b8
VS
67982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Fix 2G limit on ZFS.
6801
6802 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6803 types.
6804 (uberblock_verify): Likewise.
6805 (dmu_read): Likewise.
6806 (grub_zfs_read): Likewise. Remove invalid cast.
6807
68c72069
VS
68082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6811 (grub_jfs_blkno): Fix incorrect shift.
6812 (grub_jfs_read_file): Use more appropriate types.
6813
6e536dc8
VS
68142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Support triple indirect on minix2 and minix3.
6817
6818 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6819 Declare triple_indir_zone.
6820 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6821 indirect.
6822
e0864e7a
VS
68232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Minix FS fixes.
6826
6827 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6828 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6829 Rename ctime to mtime. All users updated.
6830 (grub_minix_get_file_block): Fix types and double indirect computations.
6831
89481cab
VS
68322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6835 if no label is found.
6836 (grub_fat_iterate_dir): Fix file size type.
6837 (grub_fat_iterate_dir): Likewise.
6838
f646e143
VS
68392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6842 save some space.
6843 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6844 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6845
534d769e
VS
68462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6849
e084ba18
VS
68502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * util/import_gcry.py: Accept space between # and include.
6853
3471ecdf
VS
68542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6857
124df5f6
VS
68582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6861
6862 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6863 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6864 yylex_strncpy.
6865 * grub-core/script/yylex.l: Add fine-grained #pragma.
6866
4defb8d5
VS
68672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6870 New inline function.
6871 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6872 Likewise.
6873 (memset) [GRUB_UTIL]: Likewise.
6874 (memcmp) [GRUB_UTIL]: Likewise.
6875
4e94ae65
VS
68762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6879 inline function rather than a define.
6880
18c575e5
VS
68812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * util/grub-setup.c: Add missing include.
6884
f8bc22a8
VS
68852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * util/ieee1275/grub-ofpathname.c: Add missing include.
6888
3ce69fc9
VS
68892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6892 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6893 Likewise.
6894
d1e293bb
VS
68952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6898 grub_memcmp usage.
6899
7a5c54a4
VS
69002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/grub-install.in: Add datarootdir as per automake manual
6903 suggestion.
6904 * util/grub-mknetdir.in: Likewise.
6905
69062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6907
6908 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6909 suggestion.
6910 * util/grub.d/10_kfreebsd.in: Likewise.
6911 * util/grub.d/10_linux.in: Likewise.
6912 * util/grub.d/10_netbsd.in: Likewise.
6913 * util/grub.d/10_windows.in: Likewise.
6914 * util/grub.d/20_linux_xen.in: Likewise.
6915
766f7d08
VS
69162011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 Remove redundant grub_kernel_image_size.
6919
6920 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6921 _edata and _start.
6922 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6923 the small code. It moves it only by few bytes but simplifies the code.
6924 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6925 _start.
6926 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6927 (grub_kernel_image_size): Removed.
6928 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6929 (grub_kernel_image_size): Removed.
6930 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6931 compiled with Apple toolchain.
6932 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6933 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6934 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6935 (grub_total_module_size): Likewise.
6936 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6937 Removed.
6938 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6939 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6940 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6941 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6942 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6943 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6944 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6945 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6946 Removed.
6947 (grub_total_module_size): Removed.
6948 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6949 (image_targets): Likewise.
6950 Set .compressed_size to no field on sparc.
6951 (generate_image): Remove kernel_image_size handling.
6952
fcf1d672
SJ
69532011-10-19 Szymon Janc <szymon@janc.net.pl>
6954
6955 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6956 NULL pointer dereference.
6957
de9c615e
VS
69582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6961 done with a dedicated section.
6962
6963 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6964 Ensure the correct position of boot_path.
6965 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6966 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6967 other fields.
6968 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6969 * include/grub/boot.h: Removed. All references removed.
6970 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6971 Removed.
6972 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6973
e55599dc
VS
69742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6977 name.
6978
36dd20ad
VS
69792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6982
f8f72eb8
VS
69832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6986 Don't add the bogus brackets.
6987
a374751b
VS
69882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 ExFAT support.
6991
6992 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6993 * grub-core/Makefile.core.def (exfat): New module.
6994 * grub-core/fs/exfat.c: New file.
6995 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6996 (GRUB_FAT_ATTR_*): Make into an enum.
6997 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6998 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6999 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7000 (GRUB_FAT_MAXFILE): Removed.
7001 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7002 (grub_current_fat_bpb_t): New type.
7003 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7004 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7005 (grub_fat_dir_node_t): New type.
7006 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7007 (fat_log2) [MODE_EXFAT]: Removed.
7008 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7009 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7010 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7011 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7012 (grub_fat_label) [MODE_EXFAT]: New function.
7013 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7014 reserved_first_sector to 0.
7015
544c2487
VS
70162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 Move grub_reboot out of the kernel.
7019
7020 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7021 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7022 * grub-core/lib/efi/reboot.c: ... here.
7023 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7024 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7025 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7026 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7027 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7028 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7029 * grub-core/lib/ieee1275/reboot.c: ... here.
7030 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7031 * grub-core/lib/mips/arc/reboot.c: ... here.
7032 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7033 * grub-core/lib/mips/loongson/reboot.c: ...here.
7034 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7035 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7036 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7037 * include/grub/i386/reboot.h: New file.
7038 * include/grub/mips/loongson/ec.h: Fix includes.
7039 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7040 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7041 * grub-core/lib/i386/reboot.c: New file.
7042
a97501d2
VS
70432011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Make grub_prefix into module to fix the arbitrary limit and save
7046 some space.
7047
7048 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7049 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7050 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7051 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7052 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7053 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7054 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7055 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7056 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7057 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7058 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7059 * include/grub/ia64/efi/kernel.h: Removed.
7060 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7061 (grub_prefix): Removed.
7062 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7063 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7064 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7065 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7066 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7067 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7068 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7069 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7070 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7071 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7072 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7073 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7074 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7075 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7076 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7077 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7078 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7079 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7080 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7081 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7082 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7083 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7084 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7085 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7086 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7087 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7088 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7089 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7090 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7091 from module.
7092 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7093 prefix_end.
7094 (image_targets): Likewise.
7095 (generate_image): Put prefix as a module.
7096
39705fad
VS
70972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 Replace grub_module_iterate with FOR_MODULES.
7100
7101 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7102 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7103 (grub_efi_modules_addr): ...this.
7104 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7105 (grub_efi_init): Set grub_modbase.
7106 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7107 (grub_modbase): New variable.
7108 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7109 (grub_modbase): New variable.
7110 (grub_machine_init): Set grub_modbase.
7111 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7112 (grub_modbase): New variable.
7113 (grub_machine_init): Set grub_modbase.
7114 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7115 (grub_modbase): New variable.
7116 (grub_machine_init): Set grub_modbase.
7117 * grub-core/kern/main.c (grub_module_iterate): Remove.
7118 (grub_modules_get_end): Use grub_modbase.
7119 (grub_load_modules): Use FOR_MODULES.
7120 (grub_load_config): Likewise.
7121 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7122 (grub_modbase): New variable.
7123 (grub_machine_init): Set grub_modbase.
7124 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7125 (grub_modbase): New variable.
7126 (grub_machine_init): Set grub_modbase.
7127 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7128 Removed.
7129 (grub_modbase): New variable.
7130 (grub_machine_init): Set grub_modbase.
7131 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
7132 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
7133 (grub_module_iterate): Likewise.
7134 (grub_modbase): New variable declaration.
7135 (FOR_MODULES): New macro.
7136
2afb7f6c
VS
71372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * configure.ac: Check for __ctzdi2 and __ctzsi2.
7140 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
7141
366e34fa
VS
71422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 Fix few obvious type discrepancies.
7145
7146 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
7147 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
7148 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
7149 variable.
7150 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
7151 and connected types.
7152 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
7153 offset.
7154 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
7155 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
7156 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
7157 and connected types.
7158
177b960e
VS
71592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 Fix python 3.x incompatibilities.
7162
7163 * gentpl.py: Put brackets around print strings.
7164 * util/import_gcry.py: Open explicitly as utf-8.
7165 Use in instead of has_key.
7166
3b619ae1
VS
71672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
7170 (GRUB_XFS_INO_AGBITS): Make into inline function.
7171 (GRUB_XFS_INO_INOINAG): Likewise.
7172 (GRUB_XFS_INO_AG): Likewise.
7173 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
7174 (GRUB_XFS_EXTENT_OFFSET): Likewise.
7175 (GRUB_XFS_EXTENT_BLOCK): Likewise.
7176 (GRUB_XFS_EXTENT_SIZE): Likewise.
7177 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
7178 (GRUB_XFS_NEXT_DIRENT): Likewise.
7179 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
7180 (grub_xfs_read_file): Fix offset type.
7181
8bcebcb8
RM
71822011-10-15 Robert Millan <rmh@gnu.org>
7183
7184 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
7185
0017e5ef
RM
71862011-10-15 Robert Millan <rmh@gnu.org>
7187
7188 Fix build problem on FreeBSD and GNU/kFreeBSD.
7189
7190 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
7191
d8919552
VS
71922011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
7195
7196 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
7197 types.
7198 (grub_hfsplus_btree_recoffset): Likewise.
7199 (grub_hfsplus_btree_recptr): Likewise.
7200 (grub_hfsplus_find_block): Likewise.
7201 (grub_hfsplus_btree_search): Likewise.
7202 (grub_hfsplus_read_block): Likewise.
7203 (grub_hfsplus_read_file): Likewise.
7204 (grub_hfsplus_mount): Likewise.
7205 (grub_hfsplus_btree_iterate_node): Likewise.
7206 (grub_hfsplus_btree_search): Likewise.
7207 (grub_hfsplus_iterate_dir): Likewise.
7208 (grub_hfsplus_read): A small code simplification.
7209
c81296b6
VS
72102011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * grub-core/kern/emu/hostdisk.c
7213 (convert_system_partition_to_system_disk): Don't assume that children
7214 of mapper nodes are mapper nodes.
7215
0eb8ffb1
VS
72162011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
7219 * include/grub/misc.h (grub_isxdigit): New function.
7220 * grub-core/video/colors.c (my_isxdigit): Removed. All users
7221 switched to grub_isxdigit.
7222 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
7223 number starting with a letter.
7224
a98f4a08
RM
72252011-10-09 Robert Millan <rmh@gnu.org>
7226
7227 LVM support for FreeBSD and GNU/kFreeBSD.
7228
7229 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
7230 GNU/kFreeBSD.
7231 (LVM_DEV_MAPPER_STRING): Move from here ...
7232 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
7233 * util/getroot.c: Include `<grub/util/lvm.h>'.
7234 (grub_util_get_dev_abstraction): Enable
7235 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
7236 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
7237 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
7238 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
7239 support it.
7240 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
7241 GNU/kFreeBSD.
7242 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
7243 when LVM abstraction is required for ${GRUB_DEVICE}.
7244
050e8e90
SJ
72452011-10-06 Szymon Janc <szymon@janc.net.pl>
7246
7247 Add support for LZO compression in GRUB:
7248 - import of minilzo library,
7249 - LZO decompression for btrfs,
7250 - lzop files decompression.
7251
7252 * grub-core/io/lzopio.c: New file.
7253 * grub-core/lib/adler32.c: Likewise.
7254 * grub-core/lib/minilzo/lzoconf.h: Likewise.
7255 * grub-core/lib/minilzo/lzodefs.h: Likewise.
7256 * grub-core/lib/minilzo/minilzo.c: Likewise.
7257 * grub-core/lib/minilzo/minilzo.h: Likewise.
7258 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
7259 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
7260 grub-core/lib/minilzo/minilzo.c to common.
7261 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
7262 cflags in cppflags.
7263 * grub-core/Makefile.core.def (btrfs): Likewise.
7264 * grub-core/Makefile.core.def (lzopio): New module.
7265 (adler32): Likewise.
7266 * grub-core/fs/btrfs.c: Include minilzo.h.
7267 (GRUB_BTRFS_COMPRESSION_LZO): New define.
7268 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
7269 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
7270 (grub_btrfs_lzo_decompress): New function.
7271 (grub_btrfs_extent_read): Add support for LZO compression type.
7272 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
7273 (GRUB_USHRT_MAX): Likewise.
7274 (GRUB_UINT_MAX): Likewise.
7275 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
7276 (UINT_MAX): Likewise.
7277 (CHAR_BIT): Likewise.
7278 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
7279 grub-core/lib/posix_wrap/limits.h
7280 (UCHAR_MAX): Likewise.
7281 * include/grub/file.h (grub_file_filter_id): New compression filter
7282 GRUB_FILE_FILTER_LZOPIO.
7283 * include/grub/file.h (grub_file_filter_id): Set
7284 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
7285 * include/grub/types.h (grub_get_unaligned16): New function.
7286 (grub_get_unaligned32): Likewise.
7287 (grub_get_unaligned64): Likewise.
7288 * util/import_gcry.py (cryptolist): Add adler32.
7289
0eb8ffb1
VS
72902011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
7293 in perspective decreases the complexity of build system and fixes
7294 compilation right now.
7295
ce79cc99 72962011-10-01 Ales Nesrsta <starous@volny.cz>
7297
7298 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
7299 (fixed problem related to using UHCI with coreboot).
7300
8667a314
BC
73012011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7302
7303 * gentpl.py: Use Autogen macros so that the output template file
7304 (Makefile.tpl) size is reduced.
7305
fc5efcc0
MK
73062011-09-29 Mads Kiilerich <mads@kiilerich.com>
7307
7308 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
7309 extra_dist.
7310
d1ab689d
ML
73112011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7312
7313 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
7314 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
7315
c05de032
ML
73162011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7317
7318 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
7319 _fullpath.
7320
cca7ccd8
ML
73212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
7322
7323 Remove extra declaration of sleep for mingw32.
7324
7325 * util/misc.c (sleep) [__MINGW32__]: Removed.
7326 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7327
e0b0dc83
GS
73282011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
7329
7330 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
7331 type and packname.
7332 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
7333 Resurrected.
7334 (NETBSD_BTINFO_BOOTWEDGE): New definition.
7335 (grub_netbsd_btinfo_bootwedge): New struct.
7336 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7337 New function.
7338 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
7339
91a1a164
TH
73402011-09-28 Thomas Haller <thomas.haller@fen-net.de>
7341
7342 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
7343 loader.
7344
2ded951e
AB
73452011-09-28 Andreas Born <futur.andy@googlemail.com>
7346
7347 Fix incorrect identifiers in bash-completion.
7348
7349 * util/bash-completion.d/grub-completion.bash.in
7350 (_grub_mkpasswd-pbkdf2): Rename to ...
7351 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
7352 (_grub_script-check): Rename to ...
7353 (_grub_script_check): ... this. All users updated.
7354
69915030
VS
73552011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
7358 Return 0 if disk isn't biosdisk.
7359
20fd15f9
GS
73602011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7361
7362 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
7363 on NetBSD.
7364 * Makefile.util.def (grub-fstest): Likewise.
7365
1a7d7db9
GS
73662011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
7367
7368 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
7369 Get sector size from disk label.
7370
2221ab6c
CW
73712011-09-05 Colin Watson <cjwatson@ubuntu.com>
7372
7373 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
7374 */README* as well as README*.
7375 Reported by: Axel Beckert.
7376
ca51c4a0
VS
73772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
7380 case of less than 256 MiB of RAM.
7381
ab80f326
VS
73822011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/commands/wildcard.c (make_regex): Handle @.
7385
4155e697
VS
73862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * util/grub-install.in: Move cryptodisk logic to appropriate place.
7389
ab178c08
SJ
73902011-08-21 Szymon Janc <szymon@janc.net.pl>
7391
7392 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
7393 AC_LANG_CONFTEST macros.
7394
7dc3c686
SJ
73952011-08-20 Szymon Janc <szymon@janc.net.pl>
7396
7397 Add grub-fstest option to uncompress data for commands.
7398
7399 * util/grub-fstest.c (uncompress): New var.
7400 (options): New option -u.
7401
fe8d4a7b
SJ
74022011-08-20 Szymon Janc <szymon@janc.net.pl>
7403
7404 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
7405 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
7406
a5219af1
SJ
74072011-08-20 Szymon Janc <szymon@janc.net.pl>
7408
7409 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
7410 file type was not recognized correctly (not gzip or corrupted).
7411
f87abff5
VS
74122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
7415 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
7416
d94497ea
VS
74172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
7420 loongson.
7421 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7422 video_radeon_fuloong2e.
7423 * grub-core/video/radeon_fuloong2e.c: New file.
7424 * include/grub/video.h (grub_video_id_t): Add new ID
7425 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
7426
0d1fd011
VS
74272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
7430 define.
7431 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
7432 that PRID matches the detected subplatform and reset the subplatform
7433 if it doesn't.
7434
84beb0ee
VS
74352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
7438
1227c133
VS
74392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 Fix PCI iterating on functions >= 4.
7442
7443 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
7444 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
7445 Removed.
7446 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
7447 (grub_pci_read): Fix bitmask.
7448 (grub_pci_read_word): Likewise.
7449 (grub_pci_read_byte): Likewise.
7450 (grub_pci_write): Likewise.
7451 (grub_pci_write_word): Likewise.
7452 (grub_pci_write_byte): Likewise.
7453
9594c689
VS
74542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
7457 can still be specified in TARGET_CFLAGS)
7458
14a2562c
VS
74592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
7462
7463 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
7464 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
7465 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
7466 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
7467 (FULOONG): Rename to ...
7468 (FULOONG2F): ... this. All users updated.
7469 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
7470 (machtype_fuloong2f_str): ... this.
7471 (machtype_fuloong2e_str): New string.
7472 Check for machtype_fuloong2e_str.
7473 * grub-core/loader/mips/linux.c (loongson_machtypes)
7474 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
7475 * grub-core/term/serial.c (loongson_defserial)
7476 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
7477 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
7478 loongson_defserial.
7479 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
7480 Rename to ...
7481 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
7482 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
7483 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
7484 to IMAGE_FULOONG2F_FLASH. All users updated.
7485 (image_targets): Rename images.
7486 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
7487
b526cbb6
SJ
74882011-08-19 Szymon Janc <szymon@janc.net.pl>
7489
7490 Make enable of disk cache statistics code configurable.
7491
7492 * configure.ac: --enable-cache-stats added.
7493 * config.h.in (DISK_CACHE_STATS): New define.
7494 * grub-core/Makefile.core.def (cacheinfo): New command.
7495 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
7496 * grub-core/commands/cacheinfo.c: New file.
7497 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
7498 moved to cacheinfo.c.
7499 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
7500 debug code.
7501 * include/grub/disk.h: Likewise.
7502
fb739ccd
SJ
75032011-08-19 Szymon Janc <szymon@janc.net.pl>
7504
7505 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
7506 * grub-core/Makefile.am: Likewise.
7507
2bba8cfd
VS
75082011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
7511 non-zero pull.
7512
43526629
VS
75132011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
7516 All users updated.
7517 (grub_jfs_lookup_symlink): Use correct starting inode.
7518
5c144cc8
VS
75192011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * util/grub-setup.c (main): Add missing gcry initialisation.
7522
b1257f65
VS
75232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 Don't accept text modes on EFI when booting Linux.
7526
7527 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
7528 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
7529
828bc390
ML
75302011-08-15 Mario Limonciello <mario_limonciello@dell.com>
75312011-08-15 Colin Watson <cjwatson@ubuntu.com>
7532
7533 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
7534 use of "/path/.." as in grub-install for EFI as well as handling
7535 symlinks correctly.
7536 Fixes Debian bug #637768.
7537
5f60ccac
CW
75382011-08-15 Colin Watson <cjwatson@ubuntu.com>
7539
7540 * util/grub-probe.c: Remove duplicate #include.
7541
6dc212f9
RM
75422011-08-10 Robert Millan <rmh@gnu.org>
7543
7544 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
7545
7546 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
7547 function.
7548 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
7549 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
7550
66816d85
RM
75512011-08-03 Robert Millan <rmh@gnu.org>
7552
7553 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
7554 la_array as packed.
7555 Reported by: Zachary Bedell
7556
20168fca
CW
75572011-07-26 Colin Watson <cjwatson@ubuntu.com>
7558
7559 * configure.ac: The Loongson port requires grub-mkfont due to its
7560 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
7561 be built.
7562
303b6246
CW
75632011-07-26 Colin Watson <cjwatson@ubuntu.com>
7564
7565 * util/grub-install.in: Don't source grub-mkconfig_lib until after
7566 processing arguments (otherwise help2man fails when GRUB has not yet
7567 been installed).
7568
6795300e
VS
75692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7570
41aa28ea
VS
7571 New script grub-mkstandalone.
7572
7573 * Makefile.util.def (grub-mkstandalone): New script.
7574 * docs/man/grub-mkstandalone.h2m: New file.
7575 * util/grub-mkstandalone.in: Likewise.
7576
75772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 Support ATA disks with 4K sectors.
6795300e
VS
7580
7581 * include/grub/ata.h (grub_ata): New member log_sector_size.
7582 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
7583 (grub_ata_identify): Read sector size.
7584 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
7585
92227597
VS
75862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * util/grub-install.in: Don't use uhci outside of x86.
7589
c77069f5
VS
75902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * util/grub-mkrescue.in: Add missing quotes.
7593
75942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
7595
7596 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
7597 dereference.
7598
583168a2
VS
75992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7600
7601 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
7602
6be1c01f
VS
76032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * include/grub/video.h: add missing EXPORT_FUND on
7606 grub_video_edid_checksum and grub_video_edid_preferred_mode.
7607
a1167439
VS
76082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * include/grub/mips/kernel.h: Fix define conflict.
7611
bf66054f
VS
76122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
7615 all four ways.
7616
8fc4fa45
CW
76172011-07-21 Colin Watson <cjwatson@ubuntu.com>
7618
7619 Preferred resolution detection for VBE.
7620
7621 * grub-core/video/video.c (grub_video_edid_checksum): New function.
7622 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
7623 the Flat Panel extension, in line with the X.org VESA driver.
7624 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
7625 New function.
7626 (grub_vbe_bios_get_ddc_capabilities): Likewise.
7627 (grub_vbe_bios_read_edid): Likewise.
7628 (grub_vbe_get_preferred_mode): Likewise.
7629 (grub_video_vbe_setup): When the mode is "auto", try to get the
7630 preferred mode from VBE, and use the largest mode that is no larger
7631 than the preferred mode (some BIOSes expose a preferred mode that is
7632 not in their mode list!). If this fails, fall back to 640x480 as a
7633 safe conservative choice.
7634 (grub_video_vbe_get_edid): New function.
7635 (grub_video_vbe_adapter): Add get_edid.
7636 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7637 (struct grub_video_adapter): Add get_edid.
7638 (grub_video_edid_checksum): Add prototype.
7639 (grub_video_edid_preferred_mode): Likewise.
7640 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7641 structure.
7642
7643 * grub-core/commands/videoinfo.c (print_edid): New function.
7644 (grub_cmd_videoinfo): Print EDID if available.
7645
7646 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7647 is more appropriate on a wider range of platforms than 640x480.
7648 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7649 documentation.
7650
ca5572a9
VS
76512011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7654
e4bcf625
VS
76552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * po/POTFILES.in: Regenerate.
7658
c4edd548
VS
76592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7662 incorrect memory usage.
7663
16a2bab0
VS
76642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * util/grub-install.in: Source grub-mkconfig_lib.
7667
2e418de6
VS
76682011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Remove getroot.c from core on emu platform.
7671
7672 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7673 kern/emu/raid.c.
7674 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7675 useless.
7676 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7677 * util/getroot.c (get_win32_path): ... here.
7678 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7679 * util/getroot.c (fini_libzfs): ... here.
7680 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7681 * util/getroot.c (grub_get_libzfs_handle): ... here.
7682 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7683 Moved from here...
7684 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7685 * grub-core/kern/emu/misc.c
7686 (grub_make_system_path_relative_to_its_root): Moved from here...
7687 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7688 * grub-core/kern/emu/getroot.c: Moved from here ...
7689 * util/getroot.c: ... here. All users updated.
7690 * grub-core/kern/emu/raid.c: Moved from here ...
7691 * util/raid.c: ... here. All users updated.
7692
def9832a
VS
76932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * po/POTFILES.in: Regenerate.
7696
cd8fe79a
VS
76972011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Fix compilation on GNU/Linux.
7700
7701 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7702 Disable geli.
7703 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7704 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7705 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7706
a251b719
VS
77072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
77082011-07-07 Michael Gorven <michael@gorven.za.net>
77092011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7710
7711 LUKS and GELI support.
7712
7713 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7714 grub-core/disk/luks.c, grub-core/disk/geli.c,
7715 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7716 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7717 grub-core/lib/arg.c.
7718 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7719 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7720 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7721 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7722 (grub-bin2h): Add libgcry.a.
7723 (grub-mkimage): Likewise.
7724 (grub-mkrelpath): Likewise.
7725 (grub-script-check): Likewise.
7726 (grub-editenv): Likewise.
7727 (grub-mkpasswd-pbkdf2): Likewise.
7728 (grub-pe2elf): Likewise.
7729 (grub-fstest): Likewise.
7730 (grub-mkfont): Likewise.
7731 (grub-mkdevicemap): Likewise.
7732 (grub-probe): Likewise.
7733 (grub-ofpath): Likewise.
7734 (grub-mklayout): Likewise.
7735 (example_unit_test): Likewise.
7736 (grub-menulst2cfg): Likewise.
7737 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7738 * grub-core/Makefile.core.def (cryptodisk): New module.
7739 (luks): Likewise.
7740 (geli): Likewise.
7741 * grub-core/disk/AFSplitter.c: New file.
7742 * grub-core/disk/cryptodisk.c: Likewise.
7743 * grub-core/disk/geli.c: Likewise.
7744 * grub-core/disk/luks.c: Likewise.
7745 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7746 grub_util_is_lvm.
7747 (grub_util_get_dm_abstraction): New function.
7748 (grub_util_follow_gpart_up): Likewise.
7749 (grub_util_get_geom_abstraction): Likewise.
7750 (grub_util_get_dev_abstraction): Use new functions.
7751 (grub_util_pull_device): Pull GELI and LUKS.
7752 (grub_util_get_grub_dev): Handle LUKS and GELI.
7753 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7754 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7755 (follow_geom_up): Removed.
7756 (grub_util_fd_seek): New function.
7757 (open_device): Use grub_util_fd_seek.
7758 (nread): Rename to ..
7759 (grub_util_fd_read): ... this. All users updated.
7760 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7761 (grub_crypto_cbc_decrypt): Likewise.
7762 (grub_crypto_hmac_write): Likewise.
7763 (grub_crypto_hmac_buffer): Likewise.
7764 (grub_password_get): Extend to util.
7765 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7766 New member modname.
7767 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7768 * include/grub/cryptodisk.h: New file.
7769 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7770 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7771 LUKS and GELI.
7772 (grub_util_follow_gpart_up): New proto.
7773 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7774 (grub_util_fd_read): Likewise.
7775 (grub_cryptodisk_cheat_mount): Likewise.
7776 (grub_util_cryptodisk_print_uuid): Likewise.
7777 (grub_util_get_fd_sectors): Likewise.
7778 * util/grub-fstest.c (mount_crypt): New var.
7779 (fstest): Mount crypto if requested.
7780 (options): New option -C.
7781 (argp_parser): Parse -C.
7782 (main): Init and fini gcry.
7783 * util/grub-install.in: Support cryptodisk install.
7784 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7785 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7786 cryptodisk.
7787 (prepare_grub_to_access_device): Likewise.
7788 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7789 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7790 (probe_cryptodisk_uuid): New function.
7791 (probe_abstraction): Likewise.
7792 (probe): Use new functions.
7793 * util/import_gcry.py: Create Makefile.utilgcry.def.
7794 Add modname member.
7795
9bfdcbbc
VS
77962011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 Lazy device scanning.
7799
7800 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7801 (grub-setup): Remove util/raid.c.
7802 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7803 * grub-core/disk/lvm.c (scan_depth): New variable.
7804 (grub_lvm_iterate): Rescan if necessary.
7805 (find_lv): New function based on grub_lvm_open.
7806 (grub_lvm_open): Use find_lv. Rescan on error.
7807 (is_node_readable): New function.
7808 (is_lv_readable): Likewise.
7809 (grub_lvm_scan_device): Skip already found disks.
7810 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7811 Stop if searched device is found and readable.
7812 * grub-core/disk/raid.c (inscnt): New variable.
7813 (scan_depth): Likewise.
7814 (scan_devices): New function based on grub_raid_register. Abort if
7815 looked for device is found.
7816 (grub_raid_iterate): Rescan if needed.
7817 (find_array): NEw function based on -grub_raid_open.
7818 (grub_raid_open): Use find_array and rescan.
7819 (insert_array): Set became_readable_at.
7820 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7821 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7822 New function.
7823 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7824 (grub_util_pull_device): New function.
7825 (grub_util_get_grub_dev): Call grub_util_pull_device.
7826 * util/raid.c: Moved to ..
7827 * grub-core/kern/emu/raid.c: ... here.
7828 (grub_util_raid_getmembers): New parameter "bootable".
7829 All users updated. Support 1.x.
7830 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7831 All users updated.
7832 * include/grub/disk.h (grub_disk_pull_t): New enum.
7833 (grub_disk_dev): Change iterate prototype.
7834 All users updated.
7835 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7836 New proto.
7837 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7838 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7839 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7840 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7841 All users updated.
7842 * include/grub/util/raid.h: Removed.
7843
1c358e59
VS
78442011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * po/POTFILES.in: Regenerate.
7847
abee94ed
VS
78482011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Unify sparc init with other ieee1275.
7851
7852 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7853 instead of kern/sparc64/ieee1275/init.c.
7854 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7855 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7856 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7857 grub/machine/kernel.h.
7858 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7859 (grub_claim_heap) [__sparc__]: Use sparc version.
7860 (grub_machine_init): Moved args parsing to
7861 (grub_parse_cmdline): ...this.
7862 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7863 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7864 New definition.
7865 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7866
7867 Move BOOTP to separate file.
7868
7869 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7870 * grub-core/net/net.c: Move all BOOTP functions to
7871 * grub-core/net/bootp.c: ... here.
7872
7873 Use frame interface on PXE.
7874
7875 * grub-core/Makefile.core.def (pxecmd): Removed.
7876 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7877 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7878 * grub-core/i386/pc/pxe.c: Moved from here ...
7879 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7880 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7881 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7882
7883 EFI network support.
7884
7885 * grub-core/Makefile.core.def (efinet): New module.
7886 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7887 here...
7888 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7889 All users updated.
7890 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7891 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7892 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7893 * grub-core/net/drivers/efi/efinet.c: New file.
7894 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7895 (grub_efi_net_config): New extern var.
7896
7897 Various cleanups and bugfixes.
7898
7899 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7900 error.
7901 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7902 disk declared as partition.
7903 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7904 leak on failure.
7905 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7906 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7907 (grub_debug_zalloc): Likewise.
7908 (grub_debug_realloc): Likewise.
7909 (grub_debug_memalign): Likewise.
7910 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7911 Check that target is IPv4.
7912 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7913 local-mac-address as fallback.
7914 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7915 memory leak.
7916 * grub-core/net/ip.c (ipchksum): Rename to ...
7917 (grub_net_ip_chksum): ... this. All users updated.
7918 (grub_net_recv_ip_packets): Special handling for DHCP.
7919 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7920
7921 Unify prefix handling
7922
7923 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7924 (grub_machine_get_bootlocation): ... this.
7925 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7926 (grub_machine_get_bootlocation): ... this.
7927 (grub_prefix): New variable.
7928 (prefix): Removed.
7929 (root_dev): New variable.
7930 (dir): Likewise.
7931 (main): Use new variables.
7932 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7933 Revamped into ...
7934 (grub_machine_get_bootlocation): ... this.
7935 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7936 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7937 (grub_machine_get_bootlocation): ... this.
7938 (grub_machine_set_prefix): Removed.
7939 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7940 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7941 Revamped into ...
7942 (grub_machine_get_bootlocation): ... this.
7943 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7944 (grub_set_prefix_and_root): ... this. All users updated.
7945 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7946 Revamped into ...
7947 (grub_machine_get_bootlocation): ... this.
7948 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7949 (grub_machine_get_bootlocation): New proto.
7950 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7951
7952 Less intrusive and more reliable seek on network implementation.
7953
7954 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7955 (grub_file_seek): Don't call grub_file_net_seek.
7956 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7957 (grub_net_fs_read_real): .. this.
7958 (grub_net_seek_real): Use net->offset.
7959 (grub_net_fs_read): Seek if necessary.
7960
7961 Unify IEEE1275 netwotk config with the other platforms.
7962
7963 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7964 New variable.
7965 (grub_machine_get_bootlocation): Support network.
7966 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7967 Support type and device parsing.
7968 (grub_ieee1275_get_device_type): New function.
7969 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7970 into ...
7971 (grub_ieee1275_net_config_real): ... this.
7972 (grub_ofnet_probecards): Removed.
7973 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7974 * include/grub/ieee1275/ofnet.h: Removed.
7975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7976 extern var.
7977 (grub_ieee1275_get_device_type): New function.
7978
7979 Unify network device closing across platforms and make more robust.
7980
7981 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7982 grub_grubnet_fini.
7983 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7984 already.
7985 * grub-core/net/net.c (grub_net_network_level_interface_register):
7986 Update num_ifaces.
7987 (grub_net_card_unregister): Close all interfaces.
7988 (receive_packets): Don't poll if no iterfaces are registered.
7989 Open if necessary.
7990 (grub_net_fini_hw): New function.
7991 (grub_net_restore_hw): Likewise.
7992 (fini_hnd): New variable.
7993 (GRUB_MOD_INIT): Register preboot hook.
7994 (GRUB_MOD_FINI): Run and unregister preboot hook.
7995
7996 Poll network cards when idle.
7997
7998 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7999 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8000 * grub-core/net/net.c (receive_packets): Save last poll time.
8001 (grub_net_poll_cards_idle_real): New function.
8002 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8003 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8004 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8005
8006 Rename ofnet interfaces.
8007
8008 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8009 (grub_ofnet_findcards): Use ofnet_%s names.
8010
8011 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8012
8013 Cleanup socket opening.
8014
8015 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8016 (grub_net_fs_close): Likewise.
8017 (grub_net_fs_read_real): Use eof member.
8018 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8019 (+grub_net_udp_close): New inline function.
8020
8021 * include/grub/net/tftp.h: Moved to the top of ...
8022 * grub-core/net/tftp.c: ... here.
8023 * include/grub/net/ip.h: Moved mostly to the top of ...
8024 * grub-core/net/ip.c: ... here.
8025 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8026 * grub-core/net/ethernet.c: ... here.
8027
8028 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8029
8030 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8031 FS name.
8032
8033 * include/grub/net/ip.h (ipv4_ini): Removed.
8034 (ipv4_fini): Likewise.
8035
8036 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8037 (grub_net_send_ip_packets): Likewise.
8038
cf1337aa
VS
80392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8042 grub_read_cmos prototype.
8043
93c06ff9
VS
80442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 VGA text support in qemu-mips
8047
8048 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8049 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8050 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8051 text.
8052 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8053 * grub-core/kern/vga_init.c: ... this.
8054 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8055 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8056 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8057 Adjust.
8058 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8059 GRUB_MACHINE_PCI_IO_BASE.
8060
748ccabe
VS
80612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 MIPS qemu flash support.
8064
8065 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8066 magic.
8067 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8068 (grub_machine_init): Probe memory if its size isn't known.
8069 * util/grub-mkimage.c (image_targets): Add flash targets.
8070 (generate_image): Handle flash targets.
8071
d7345994
VS
80722011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 MIPS qemu at_keyboard support.
8075
8076 * gentpl.py (videoinkernel): Add qemu-mips.
8077 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8078 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8079 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8080 modules.
8081 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8082 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8083 * grub-core/term/serial.c (grub_serial_register)
8084 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8085
a07a81b3
VS
80862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 CMOS support on sparc.
8089
8090 * gentpl.py (cmos): Add powerpc and sparc.
8091 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8092 powerpc and sparc.
8093 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8094 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8095 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8096 grub_set_datetime_cmos.
8097 * grub-core/lib/ieee1275/cmos.c: New file.
8098 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8099 (find_rtc): Set no_ieee1275_rtc on error.
8100 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8101 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8102 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8103 fail. Move value to argument. All users updated
8104 (grub_cmos_write): Likewise.
8105 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8106 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8107 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8108 grub_get_datetime_cmos and grub_set_datetime_cmos.
8109
77546584
GS
81102011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8111
8112 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8113 sourcing grub-mkconfig_lib.
8114 * util/update-grub_lib.in: Likewise.
8115 * util/grub.d/00_header.in: Likewise.
8116 * util/grub.d/10_hurd.in: Likewise.
8117 * util/grub.d/10_kfreebsd.in: Likewise.
8118 * util/grub.d/10_linux.in: Likewise.
8119 * util/grub.d/10_netbsd.in: Likewise.
8120 * util/grub.d/10_windows.in: Likewise.
8121 * util/grub.d/20_linux_xen.in: Likewise.
8122 * util/grub.d/30_os-prober.in: Likewise.
8123
54894791
CW
81242011-06-28 Colin Watson <cjwatson@ubuntu.com>
8125
8126 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8127 default_bg_color rather than black.
8128 (grub_gfxterm_fullscreen): Likewise.
8129 (grub_gfxterm_background_color_cmd): Save new background color in
8130 default_bg_color.
8131
8d5d8444
VS
81322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
8135
5afeb5bd
VS
81362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
8139 mismerge.
8140
ba7df45e
VS
81412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 Chainloading on coreboot support.
8144
8145 * grub-core/Makefile.core.def (chain): Add coreboot.
8146 * grub-core/loader/i386/coreboot/chainloader.c: New file.
8147
d0b526b2
VS
81482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
8151 if it happens.
8152
5ff1d945
VS
81532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 Implement time command.
8156
8157 * grub-core/Makefile.core.def (time): New module.
8158 * grub-core/commands/time.c: New file.
8159 * grub-core/script/parser.y: Remove "time" keyword.
8160 * grub-core/script/yylex.l: Likewise.
8161
5ebaad7e
VS
81622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
8165
bdea3798
VS
81662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
8169 when handling leftovers.
8170
b28c5655
VS
81712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
8174 so that help2man doesn't fail.
8175
b6f945dc
VS
81762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
8179 type in pointers on sparc64.
8180 (get_card_packet): Likewise.
8181
f9b75e8a
CW
81822011-06-27 Colin Watson <cjwatson@ubuntu.com>
8183
8184 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
8185 with `*'.
8186 (grub_cmd_videoinfo): Fetch current video mode.
8187
1e3d9b86
VS
81882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
8191 because of underlying system restrictions.
8192
efff4b1c
VS
81932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
8196 necessary.
8197
9fc9ce37
VS
81982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 Coreboot video support.
8201
8202 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
8203 (vbe): Likewise.
8204 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
8205 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
8206 here ...
8207 * grub-core/kern/i386/int.S: ... here.
8208 * grub-core/video/i386/pc/vbe.c: Updated includes.
8209 * grub-core/video/i386/pc/vga.c: Likewise.
8210 * include/grub/i386/coreboot/memory.h
8211 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
8212 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
8213 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
8214 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
8215 Disable interrupts.
8216 * include/grub/i386/pc/vga.h: Removed. All users updated.
8217
41bec7fe
VS
82182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
8221 definitions for dprintf.
8222 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
8223
ca80309d
VS
82242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
8227 prototype.
8228 (get_card_packet): Likewise.
8229
9e322ce8
YB
82302011-06-26 Yves Blusseau <blusseau@zetam.org>
8231
8232 Display the path of the file when file is not found
8233
8234 * grub-core/fs/fat.c: Display the filename when file is not found.
8235 * grub-core/fs/fshelp.c: Likewise.
8236 * grub-core/fs/hfs.c: Likewise.
8237 * grub-core/fs/jfs.c: Likewise.
8238 * grub-core/fs/minix.c: Likewise.
8239 * grub-core/fs/ufs.c: Likewise.
8240 * grub-core/fs/btrfs.c: Likewise.
8241 * grub-core/commands/i386/pc/play.c: Likewise.
8242
cbf597af
SJ
82432011-06-26 Szymon Janc <szymon@janc.net.pl>
8244
8245 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
8246 pointer checks before calling grub_free().
8247 * grub-core/commands/wildcard.c (match_devices): Likewise.
8248 * grub-core/commands/wildcard.c (match_files): Likewise.
8249 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
8250 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
8251 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
8252 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
8253 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
8254 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
8255 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
8256 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
8257 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
8258
6295b32f
P
82592011-06-25 Patrick <p55@mailinator.com>
8260
8261 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
8262
77c0840b
VS
82632011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
8266 (grub_pxe_send): Likewise.
8267 (GRUB_MOD_INIT): Fix types.
8268
40ea05de
SJ
82692011-06-24 Szymon Janc <szymon@janc.net.pl>
8270
8271 * grub-core/io/xzio.c: Fix code style issues
8272
90162423
MRA
82732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
82742011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
8275
8276 Network infrastructure.
8277 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
8278
8279 * include/grub/net/arp.h: New file.
90162423
MRA
8280 * include/grub/net/device.h: Likewise.
8281 * include/grub/net/ethernet.h: Likewise.
8282 * include/grub/net/ip.h: Likewise.
8283 * include/grub/net/netbuff.h: Likewise.
8284 * include/grub/net/tftp.h: Likewise.
8285 * include/grub/net/udp.h: Likewise.
8286 * include/grub/ieee1275/ofnet.h: Likewise.
8287 * include/grub/emu/export.h: Likewise.
8288 * include/grub/net.h: Likewise.
8289 * grub-core/net/arp.c: Likewise.
8290 * grub-core/net/ethernet.c: Likewise.
8291 * grub-core/net/ip.c: Likewise.
8292 * grub-core/net/udp.c: Likewise.
8293 * grub-core/net/tftp.c: Likewise.
8294 * grub-core/net/netbuff.c: Likewise.
8295 * grub-core/net/net.c: Likewise.
8296 * grub-core/net/drivers/emu/emunet.c: Likewise.
8297 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
8298 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
8299 export.h.
8300 * grub-core/Makefile.core.def (net): New module.
8301 (tftp): Likewise.
8302 (ofnet): Likewise.
8303 (emunet): Likewise.
8304 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
8305 network protocols.
8306 * grub-core/kern/device.c (grub_net_open) : New variable.
8307 (grub_device_open): Handle network device.
8308 (grub_device_close): Likewise.
8309 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
8310 (grub_grubnet_fini): Likewise.
8311 (grub_file_seek): Seek in network device.
8312 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
8313 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
8314 network root.
8315 (grub_machine_fini): Call grub_grubnet_fini.
8316 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
8317 network.
8318 (grub_ieee1275_get_aliasdevname): New function.
8319 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8320 Add unofficial Solaris network info.
8321 (grub_multiboot_make_mbi): Likewise.
8322 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
8323 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
8324 * include/grub/device.h (grub_fs): Removed.
8325 * include/grub/err.h (grub_err_t): Add network-related values.
8326 * include/grub/i386/pc/pxe.h: Removed bootp parts.
8327 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
8328 (grub_ieee1275_get_aliasdevname): New proto.
8329 * include/grub/net.h: Rewritten.
423a1849 8330
031f22a0
VS
83312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
8334 names.
8335
4388ca72
VS
83362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
8339 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
8340 it truncates the output.
8341 Reported by: Ximin Luo.
8342
98e2f506
VS
83432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
8346
2a5e94d8
VS
83472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8350 partmap before abstraction.
8351
535c1910
AK
83522011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
8353
8354 * util/grub-mkconfig_lib.in: Add missing quotes.
8355
bc09e1a2
VS
83562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
8359 old method if mountinfo would return /dev/root and /dev/root doesn't
8360 exist.
8361
290766fb
VS
83622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 ZFS zlib support
8365
8366 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
8367 (decomp_table): Add zlib entries.
8368 (zio_read): USe 8 bits for compression function rather than 3.
8369 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
8370
83712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/disk/ahci.c: Add missing license statements.
8374 * grub-core/fs/romfs.c: Likewise.
8375 * grub-core/lib/ia64/setjmp.S: Likewise.
8376 * grub-core/loader/i386/pc/freedos.c: Likewise.
8377 * grub-core/loader/ia64/efi/linux.c: Likewise.
8378 * grub-core/video/colors.c: Likewise.
8379 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
8380
5ab3f48a
VS
83812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 AHCI support.
8384
8385 * grub-core/Makefile.core.def (ata_pthru): Removed.
8386 (ahci): New module.
8387 (pata): Likewise.
8388 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
8389 on unload.
8390 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
8391 readwrite.
8392 (grub_hdparm_do_check_powermode_cmd): Likewise.
8393 (grub_hdparm_do_smart_cmd): Likewise.
8394 (grub_hdparm_set_val_cmd): Likewise.
8395 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
8396 * grub-core/disk/ahci.c: New file.
8397 * grub-core/disk/ata.c: Factor out the low-level part into ...
8398 * grub-core/disk/pata.c: ... here.
8399 * grub-core/disk/ata_pthru.c: Contents moved to ...
8400 * grub-core/disk/pata.c: ... here.
8401 * grub-core/disk/scsi.c (grub_scsi_names): New array.
8402 (grub_scsi_iterate): Use grub_scsi_names.
8403 (grub_scsi_open): Likewise.
8404 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
8405 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
8406 (grub_ata_regs_t): New struct.
8407 (grub_disk_ata_pass_through_parms): Likewise.
8408 (grub_ata_device): Renamed to ...
8409 (grub_ata): ... this.
8410 (grub_ata_dev): New struct.
8411 Removed all low-level inline functions.
8412 * include/grub/scsi.h: Add PATA and AHCI subsystems.
8413 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
8414 iterate hooks and open. All users updated.
8415 * util/grub-install.in: Handle AHCI disk module.
8416
c31dc5f5
SJ
84172011-06-23 Szymon Janc <szymon@janc.net.pl>
8418
8419 Add support for DRI and RSTn markers in JPEG files.
8420
8421 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
8422 (JPEG_MARKER_RST0): Likewise.
8423 (JPEG_MARKER_RST1): Likewise.
8424 (JPEG_MARKER_RST2): Likewise.
8425 (JPEG_MARKER_RST3): Likewise.
8426 (JPEG_MARKER_RST4): Likewise.
8427 (JPEG_MARKER_RST5): Likewise.
8428 (JPEG_MARKER_RST6): Likewise.
8429 (JPEG_MARKER_RST7): Likewise.
8430 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
8431 (grub_jpeg_decode_dri): New function.
8432 (grub_jpeg_decode_sos): Move image data related part into
8433 grub_jpeg_decode_data function.
8434 (grub_jpeg_decode_data): New function.
8435 (grub_jpeg_reset): New function.
8436 (grub_jpeg_decode_jpeg): Handle new markers.
8437
fe12fd5b
VS
84382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * util/ieee1275/ofpath.c (check_sas): Close fd.
8441 (main): Free of_path.
8442 Reported by: David Volgyes <dvolgyes>.
8443
03147f46
VS
84442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
8447 Reported by: David Volgyes <dvolgyes>.
8448
cad3237f
VS
84492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
8452 file after stat.
8453 Reported by: David Volgyes <dvolgyes>.
8454
13548d26
VS
84552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
8458
8459 Reported by: David Volgyes <dvolgyes>.
8460
e061a1b5
VS
84612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
8464 Prevent memory leak.
8465
1abe47dc
VS
84662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
8469 (main): Close file.
e061a1b5 8470 Reported by: David Volgyes <dvolgyes>.
1abe47dc 8471
fbc62666
VS
84722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
8475 to continue if allocation is failed.
8476
8477 Reported by: David Volgyes <dvolgyes>.
8478
e98c83e9
DV
84792011-06-23 David Volgyes <dvolgyes>
8480
8481 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
8482 dereference.
8483
a199a8cd
VS
84842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 Fix spurious warning.
8487
8488 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
8489 (acorn_partition_map_find): Use .bin member.
8490
e2d1dba0
VS
84912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
8494 /dev/root as a valid device.
8495
8a5d6919
JM
84962011-06-23 Jim Meyering <meyering@redhat.com>
8497
e2d1dba0
VS
8498 Avoid NULL deref in grub_device_open.
8499
8a5d6919
JM
8500 * grub-core/kern/device.c (grub_device_open): Don't dereference
8501 a NULL pointer upon failed grub_env_get.
8502
f7db6f4a
VS
85032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Support non-512B sectors and agglomerate reads.
8506
8507 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
8508 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
8509 (disk_io_guid): Removed.
8510 (make_devices): Locate solely by BlockIO.
8511 (grub_efidisk_open): Fill log_sector_size and total_sectors.
8512 (grub_efidisk_read): Use read_blocks.
8513 (grub_efidisk_write): Use write_blocks.
8514 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
8515 log_sector_size.
8516 (get_safe_sectors): Handle non-512B sectors.
8517 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
8518 sectors.
8519 (grub_biosdisk_write): Handle non-512B sectors.
8520 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
8521 (grub_scsi_read): Remove special non-512B block handling (now handled
8522 one level up).
8523 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
8524 and do sanity checks.
8525 (grub_disk_adjust_range): Handle non-512B sectors.
8526 (transform_sector): New function.
8527 (grub_disk_read_small): Likewise.
8528 (grub_disk_read): Rewritten.
8529 (grub_disk_write): Handle non-512B sectors.
8530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
8531 log_sector_size.
8532 (open_device): Use log_sector_size.
8533 (grub_util_biosdisk_read): Likewise.
8534 (grub_util_biosdisk_write): Likewise.
8535 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
8536 non-512B sectors.
8537 (pc_partition_map_embed): Likewise.
8538 * include/grub/disk.h (grub_disk): New field log_sector_size.
8539 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
8540 (GRUB_DISK_CACHE_BITS): Increased to 6.
8541 * util/grub-fstest.c (fstest): New command testload.
8542 (argp_parser): Likewise.
8543
881ac815
RM
85442011-06-16 Robert Millan <rmh@gnu.org>
8545
8546 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
8547 `ata' driver on kernel of FreeBSD 9.
8548
8549 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
8550 (get_ataraid_disk_name): New functions.
8551 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
8552 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
8553 get_ataraid_disk_name() and get_ada_disk_name().
8554
1e9aef7d
CW
85552011-06-13 Colin Watson <cjwatson@ubuntu.com>
8556
8557 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
8558 input format.
8559
351c7c8a
CW
85602011-05-29 Colin Watson <cjwatson@ubuntu.com>
8561
8562 * docs/grub.texi (Obtaining and Building GRUB): Substitute
8563 `ftp.gnu.org' for `alpha.gnu.org'.
8564
6b4e6430
CW
85652011-05-27 Colin Watson <cjwatson@ubuntu.com>
8566
8567 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
8568 partitions under /dev/disk/by-id/.
8569
c64db050
CW
85702011-05-27 Colin Watson <cjwatson@ubuntu.com>
8571
8572 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
8573 after ten consecutive open failures. Scanning all the way up to
8574 10000 is excessive and can cause serious performance problems in
8575 some configurations.
8576 Fixes Ubuntu bug #787461.
8577
245f4aba
VS
85782011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
8581 opening new one.
8582
f767c929
VS
85832011-05-21 Colin Watson <cjwatson@ubuntu.com>
85842011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 Don't stat devices unless we have to.
8587
8588 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
8589 dir == /dev/mapper.
8590 (grub_guess_root_device): Use already known os_dev if possible.
8591 * grub-core/kern/emu/hostdisk.c
8592 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
8593 if device is known to be a dm one.
8594
f35fa3a6
CW
85952011-05-20 Colin Watson <cjwatson@ubuntu.com>
8596
8597 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
8598 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
8599 Reported by: Pawel Tecza.
8600
9a79fcf2
VS
86012011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
8604 (lsefisystab): Likewise.
8605 (lssal): Likewise.
8606 (lsefimmap): Likewise.
8607 (hdparm): Enable on qemu-mips.
8608 (setjmp): Add ia64 nodist.
8609 (serial): Simplify tags.
8610
63e3eea9
CW
86112011-05-18 Colin Watson <cjwatson@ubuntu.com>
8612
8613 * Makefile.util.def (grub-ofpathname): Install manual page.
8614
09728256
CW
86152011-05-18 Colin Watson <cjwatson@ubuntu.com>
8616
8617 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
8618
8b63a142
CW
86192011-05-18 Colin Watson <cjwatson@ubuntu.com>
8620
8621 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
8622
e775d8ed
VS
86232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
8626 into dprintf.
8627
bf947d36
VS
86282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Use full 64-bit division.
8631
8632 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8633 (grub_divmod64): ... this.
8634 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8635 version.
8636
b84f26c5
CW
86372011-05-18 Colin Watson <cjwatson@ubuntu.com>
8638
8639 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8640 `source'.
8641
5626056f
CW
86422011-05-18 Colin Watson <cjwatson@ubuntu.com>
8643
8644 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8645 to avoid accidents when debugging with 'sh -x'.
8646 * grub-core/gensyminfo.sh.in: Likewise.
8647 * tests/example_scripted_test.in: Likewise.
8648 * tests/grub_cmd_regexp.in: Likewise.
8649 * tests/grub_script_blanklines.in: Likewise.
8650 * tests/grub_script_dollar.in: Likewise.
8651 * tests/grub_script_expansion.in: Likewise.
8652 * tests/grub_script_final_semicolon.in: Likewise.
8653 * tests/partmap_test.in: Likewise.
8654 * tests/util/grub-shell-tester.in: Likewise.
8655 * tests/util/grub-shell.in: Likewise.
8656
e2965f4a
CW
86572011-05-18 Colin Watson <cjwatson@ubuntu.com>
8658
8659 Move gfxmenu color handling to video, so that gfxterm can use it
8660 too.
8661
8662 * grub-core/gfxmenu/named_colors.c: Move to ...
8663 * grub-core/video/colors.c: ... here. Rename
8664 grub_gui_get_named_color to grub_video_get_named_color.
8665 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8666 * grub-core/video/colors.c (my_isxdigit): ... here.
8667 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8668 Move to ...
8669 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8670 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8671 to ...
8672 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8673
8674 * include/grub/gui.h (grub_gui_color_t): Move to ...
8675 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8676 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8677 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8678 * include/grub/gui.h (grub_gui_map_color): Move to ...
8679 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8680 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8681 to ...
8682 * include/grub/video.h (grub_video_get_named_color): ... here.
8683 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8684 * include/grub/video.h (grub_video_parse_color): ... here.
8685
8686 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8687 video/colors.c.
8688 (gfxmenu): Remove gfxmenu/named_colors.c.
8689 (video) [videomodules]: Add video/colors.c.
8690
8691 Add a background_color command.
8692
8693 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8694 function.
8695 (GRUB_MOD_INIT): Register background_color command.
8696 (GRUB_MOD_FINI): Unregister background_color command.
8697 (redraw_screen_rect): Allow blend/replace of text layer to be
8698 controlled independently from whether there is a background bitmap.
8699 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8700 changing bitmap.
8701
1e4b4390
VS
87022011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8703
26618ff0
VS
8704 Patch BPB in ntldr and chainloader --bpb.
8705
1e4b4390
VS
8706 * grub-core/fs/fat.c: Include grub/fat.h.
8707 (grub_fat_bpb): Moved to ...
8708 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8709 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8710 grub/ntfs.h.
8711 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8712 Moved from here...
8713 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8714 here.
8715 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8716 New function.
8717 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8718 (GRUB_MOD_INIT): Show --bpb.
8719 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8720 * grub-core/normal/main.c (features): New variable.
8721 (GRUB_MOD_INIT): Set feature_* variables.
8722 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8723 proto.
8724 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8725
cf02731e
VS
87262011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8729 for cleanness.
8730
e3a1073f
VS
87312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 FreeDOS direct loading support.
8734
8735 * docs/grub.texi (Supported OS): Add FreeDOS.
8736 * grub-core/Makefile.core.def (freedos): New module.
8737 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8738 variable.
8739 (grub_relocator16_boot): Handle %ebx.
8740 * grub-core/lib/i386/relocator16.S: Likewise.
8741 * grub-core/loader/i386/pc/freedos.c: New file.
8742
05caa461
VS
87432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 Long Linux command line support.
8746
8747 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8748 (maximal_cmdline_size): New variable.
8749 (allocate_pages): Use maximal_cmdline_size.
8750 (grub_cmd_linux): Set and use maximal_cmdline_size.
8751 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8752 (allocate_pages): Use maximal_cmdline_size.
8753 (grub_cmd_linux): Set and use maximal_cmdline_size.
8754 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8755 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8756 and cmdline_size.
8757
a2491e23
VS
87582011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
87592011-05-18 Colin Watson <cjwatson@ubuntu.com>
8760
8761 Improve devmapper support
8762
8763 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8764 (grub_util_is_lvm): New function.
8765 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8766 than lvm if not dmraid.
8767 Handle mapped md nodes.
8768 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8769 (grub_util_device_is_mapped): ... this. Make always available. All users
8770 updated.
8771 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8772 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8773 dmraid nodes.
8774 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8775
6ad6223e
VS
87762011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8779
8780 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8781 * grub-core/modinfo.sh.in: New file.
8782 * grub-core/Makefile.core.def (modinfo.sh): New script.
8783 * util/grub-mknetdir.in: Use modinfo.sh.
8784 * util/grub-mkrescue.in: Likewise.
8785
543a8f6e
VS
87862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8789 Fix potential usage of Elf32 instead of Elf64 when compiling on
8790 32-bit architecture. Add endianness macros while on it.
8791
4959e111
VS
87922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 Use mipsel- rather than mips- in directories involving mipsel ports to
8795 allow both endiannesses coexist.
8796
8797 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8798 mips. All conditions adjusted.
8799 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8800 variable.
8801 * util/grub-install.in: Adjust conditions to take renaming into account.
8802 * util/grub-mkimage.c (image_targets): Likewise. New target
8803 mips-qemu_mips-elf for bigendian mips.
8804
35341bbc
VS
88052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Avoid unnecessary copying on MIPS.
8808
8809 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8810 early if src == dest.
8811 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8812 compression is none.
8813
b772baed
VS
88142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 Reduce memory footprint on SGI by putting modules before the kernel
8817 as opposed to after.
8818
8819 * grub-core/Makefile.core.def (kernel): Increase linking address.
8820 (none_decompress): Likewise.
8821 (xz_decompress): Likewise.
8822 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8823 address.
8824 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8825 layout change.
8826 (grub_arch_modules_addr): New function.
8827 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8828 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8829 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8830 here.
8831 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8832 (grub_total_modules_size): ... this. Make global.
8833 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8834 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8835 New definition.
8836 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8837 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8838 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8839 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8840 * util/grub-mkimage.c (image_target_desc): New flag
8841 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8842 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8843 (generate_image): Handle images with modules before kernel.
8844
566a1917
VS
88452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 Prevent potential loss of memory map by overwrite on qemu-mips.
8848
8849 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8850 Save ram size in $s4.
8851 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8852 All users changed to grub_arch_memsize.
8853 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8854 Loongson.
8855 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8856 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8857 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8858 external variable.
8859
5d420cd9
CW
88602011-05-17 Colin Watson <cjwatson@ubuntu.com>
8861
8862 * .bzrignore: Remove grub-dumpbios.
8863
d064b830
CW
88642011-05-17 Colin Watson <cjwatson@ubuntu.com>
8865
8866 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8867 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8868 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8869 existing options which append).
8870 * docs/grub.texi (Simple configuration): Document new options.
8871 Reported by: Ian Jackson. Fixes Debian bug #617538.
8872
3ca2b466
CW
88732011-05-17 Colin Watson <cjwatson@ubuntu.com>
8874
8875 * util/grub-fstest.c (cmd_cat): New function.
8876 (fstest): Handle CMD_CAT.
8877 (options): Add cat.
8878 (argp_parser): Handle cat.
8879
24c9143a
CW
88802011-05-17 Colin Watson <cjwatson@ubuntu.com>
8881
8882 * Makefile.util.def (grub-bin2h): Don't install.
8883 * docs/man/grub-bin2h.h2m: Remove.
8884
90f7ac19
VS
88852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8888 place.
8889
8d4a5178
VS
88902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8891
8892 Reenable qemu-mips port.
8893
8894 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8895 Fix small arc bug while on it.
8896 * gentpl.py: Handle qemu_mips.
8897 * grub-core/Makefile.am: Likewise.
8898 * grub-core/Makefile.core.def: Likewise.
8899 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8900 inappropriate includes.
8901 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8902 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8903 * grub-core/kern/main.c (grub_modules_get_end)
8904 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8905 * grub-core/kern/mips/qemu-mips: Moved to ..
8906 * grub-core/kern/mips/qemu_mips: ... this.
8907 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8908 (grub_machine_init): Call terminfo_init and serial_init.
8909 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8910 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8911 New variable.
8912 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8913 parameter passing.
8914 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8915 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8916 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8917 * include/grub/mips/qemu_mips/cmos.h: New file.
8918 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8919 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8920 Removed.
8921 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8922 Use correct mips-style address.
8923 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8924 (GRUB_TICKS_PER_SECOND): Removed.
8925 (grub_get_rtc): Likewise.
8926 (grub_cpu_idle): Likewise.
8927 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8928 New definition.
8929 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8930 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8931 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8932 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8933 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8934 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8935 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8936 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8937
400b9371
VS
89382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 SGI ARCS port.
8941
8942 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8943 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8944 platforms.
8945 * configure.ac: New target mips-arc.
8946 * gentpl.py: Likewise.
8947 * grub-core/Makefile.am: Likewise.
8948 * grub-core/Makefile.core.def: Likewise.
8949 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8950 (none_decompress): Likewise.
8951 (lsdev): New module.
8952 (datetime): Use lib/arc/datetime.c on ARC.
8953 (part_dvh): New module.
8954 * grub-core/commands/arc/lsdev.c: New file.
8955 * grub-core/disk/arc/arcdisk.c: Likewise.
8956 * grub-core/kern/mips/arc/init.c: Likewise.
8957 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8958 aligned addresses.
8959 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8960 support.
8961 (grub_arch_dl_relocate_symbols): Likewise.
8962 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8963 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8964 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8965 platforms.
8966 * grub-core/lib/arc/datetime.c: New file.
8967 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8968 pci.h on non-loongson.
8969 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8970 (grub_linux_boot): Set unused registers to 0.
8971 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8972 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8973 * grub-core/mmap/mips/uppermem.c: ...here.
8974 * grub-core/partmap/dvh.c: New file.
8975 * grub-core/term/arc/console.c: Likewise.
8976 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8977 (grub_terminfo_set_current): Add terminal "arc".
8978 (grub_terminfo_readkey): Support ARC sequences.
8979 * include/grub/arc/arc.h: New file.
8980 * include/grub/arc/console.h: Likewise.
8981 * include/grub/disk.h (grub_disk_dev_id): Add
8982 GRUB_DISK_DEVICE_ARCDISK_ID.
8983 * include/grub/mips/arc/kernel.h: New file.
8984 * include/grub/mips/arc/memory.h: Likewise.
8985 * include/grub/mips/arc/time.h: Likewise.
8986 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8987 * include/grub/mips/kernel.h (grub_halt): ... here.
8988 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8989 here...
8990 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8991 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8992 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8993 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8994 proto.
8995 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8996 from here ...
8997 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8998 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8999 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9000 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9001 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9002 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9003 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9004 (grub_phys_addr_t): Moved from here ...
9005 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9006 (grub_vtop): Moved from here ...
9007 * include/grub/mips/memory.h (grub_vtop): ... here.
9008 (grub_map_memory): Moved from here ...
9009 * include/grub/mips/memory.h (grub_map_memory): ... here.
9010 (grub_unmap_memory): Moved from here ...
9011 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9012 (grub_machine_mmap_iterate): Moved from here ...
9013 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9014 (grub_mmap_get_lower): Moved from here ...
9015 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9016 (grub_mmap_get_upper): Moved from here ...
9017 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9018 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9019 here ...
9020 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9021 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9022 here ...
9023 * include/grub/mips/time.h (grub_get_rtc): ... here.
9024 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9025 here ...
9026 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9027 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9028 here ...
9029 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9030 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9031 definition.
9032 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9033 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9034 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9035 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9036 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9037 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9038 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9039 (GRUB_MACHINE_LINK_ADDR): Likewise.
9040 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9041 to 6.
9042 * util/grub-install.in: Run dvhtool on ARC.
9043 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9044 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9045
c8ecc840
VS
90462011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9049 blocks.
9050
153a4b55
VS
90512011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9054 after enabling port.
9055
ff44d107
VS
90562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 Skip incorrect USB devices.
9059
9060 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9061 configcnt == 0.
9062 * include/grub/usb.h (grub_usb_err_t): New enum value
9063 GRUB_USB_ERR_BADDEVICE.
9064
638dbe4f
VS
90652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 Fuloong video init support.
9068
9069 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9070 well.
9071 (grub_vga_read_arx): New function.
9072 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9073 definition.
9074 (framebuffer): New members io, mmioptr and mmiobase.
9075 (read_sis_cmd): New function.
9076 (write_sis_cmd): Likewise.
9077 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9078 rather than 640x400.
9079 * grub-core/video/sis315_init.c: New file.
9080
c3fc520c
VS
90812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9084 non-loongson.
9085 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9086 to grub_dl_register_symbol.
9087
67b1e5c9
VS
90882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 Fix compilation errors.
9091
9092 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9093 potentially unused.
9094 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9095 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9096 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9097 to loongson machines.
9098
b756f75f
VS
90992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 Several FS mtime support.
9102
9103 * grub-core/fs/affs.c (grub_affs_time): New struct.
9104 (grub_affs_file): New field mtime.
9105 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9106 type. Removed 'size'. New field 'di'. All users updated.
9107 (grub_affs_mount): Simplify checsum checking.
9108 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9109 (grub_affs_dir): Handle mtime.
9110 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9111 (grub_cpio_dir): Likewise.
9112 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9113 (grub_hfs_filerec): New field mtime.
9114 (grub_hfs_dir): Handle mtime.
9115 (grub_hfs_mtime): New function.
9116 (grub_hfs_fs): Register grub_hfs_mtime.
9117 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9118 (grub_iso9660_dir): New field mtime.
9119 (grub_fshelp_node): New field dirent.
9120 (iso9660_to_unixtime): New function.
9121 (iso9660_to_unixtime2): Likewise.
9122 (grub_iso9660_read_symlink): Use node->dirent.
9123 (grub_iso9660_iterate_dir): Likewise.
9124 (grub_iso9660_dir): Set mtime.
9125 (grub_iso9660_mtime): New function.
9126 (grub_iso9660_fs): Register grub_iso9660_mtime.
9127 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9128 (grub_jfs_inode): New fields atime, ctime and mtime.
9129 (grub_jfs_dir): Set mtime.
9130 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9131 * grub-core/fs/ntfs.c (list_file): Set mtime.
9132 (grub_ntfs_dir): Likewise.
9133 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
9134 (grub_reiserfs_iterate_dir): Set mtime.
9135 (grub_reiserfs_dir): Likewise.
9136 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
9137 (grub_fshelp_node): Likewise.
9138 (grub_sfs_iterate_dir): Set mtime.
9139 (grub_sfs_dir): Likewise.
9140 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
9141 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
9142 (grub_xfs_inode): New fields atime, mtime, ctime.
9143 (grub_xfs_dir): Set mtime.
9144 * include/grub/datetime.h (grub_datetime2unixtime): New function.
9145 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
9146 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
9147
9148 Support UDF symlinks.
9149
9150 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
9151 (grub_ufs_read_symlink): New function. All users updated.
9152
9153 Check amiga partmap checksum.
9154
9155 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
9156 (grub_amiga_partition): Likewise.
9157 (amiga_partition_map_checksum): New function.
9158 (amiga_partition_map_iterate): Check checksum.
9159
5470225d
VS
91602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 ROMFS support.
9163
9164 * Makefile.util.def (libgrubmods.a): Add romfs.
9165 * grub-core/Makefile.core.def (romfs): New module.
9166 * grub-core/fs/romfs.c: New file.
9167
d4680a35
VS
91682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 Squashfs v4 support.
9171
9172 * Makefile.util.def (libgrubmods.a): Add squash4.
9173 * grub-core/Makefile.core.def (squash4): New module.
9174 * grub-core/fs/squash4.c: New file.
9175 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
9176 disk_input_start, disk_input.
9177 (get_byte): Handle disk_input.
9178 (grub_zlib_disk_read): New function.
9179 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
9180
bcb18e74
FZ
91812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
91822011-05-15 Feiran Zheng <famcool@gmail.com>
9183
9184 * Makefile.util.def (libgrubmods.a): Add minix3.
9185 * grub-core/Makefile.core.def (minix3): New module.
9186 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
9187 (GRUB_MINIX_BSIZE): Removed.
9188 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
9189 (grub_minix_ino_t): New type.
9190 (grub_minix_le_to_cpu_ino): New macro.
9191 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
9192 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
9193 (grub_minix_data): New field block_size.
9194 (grub_minix_read_file): Handle 64-bit correctly.
9195 * grub-core/fs/minix3.c: New file.
9196
32297d5f
TG
91972011-05-15 Tristan Gingold <gingold@free.fr>
91982011-05-15 Robert Millan <rmh.grub@aybabtu.com>
91992011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 IA64 support.
9202
9203 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
9204 * configure.ac: Add ia64-efi target.
9205 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
9206 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
9207 * gentpl.py: Add ia64_efi platform.
9208 Rename x86_efi to efi and Add ia64-efi. All users updated.
9209 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
9210 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
9211 Remove kern/generic/rtc_get_time_ms.c on EFI.
9212 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
9213 kern/ia64/dl_helper.c on ia64-efi.
9214 Add kern/emu/cache.c on emu.
9215 (linux): Use on loader/ia64/efi/linux.c on ia64.
9216 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
9217 whether symbol is a function.
9218 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
9219 (grub_symbol): New field 'isfunc'.
9220 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
9221 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
9222 (grub_dl_load_segments): Place all sections into the same region.
9223 [__ia64__]: Create trampolines and got.
9224 [GRUB_MACHINE_EMU]: Call mprotect.
9225 (grub_dl_resolve_symbols): Resolve symbol type as well.
9226 [__ia64__]: Create function descriptors.
9227 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
9228 (grub_rtc_get_time_ms): ... this. Expressions simplified.
9229 (grub_get_rtc): New function.
9230 * grub-core/kern/emu/cache.c [__ia64__]: New file.
9231 * grub-core/kern/emu/cache.S: Renamed to ...
9232 * grub-core/kern/emu/cache_s.S: ... this.
9233 [__ia64__]: Add a nop.
9234 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
9235 [__ia64__]: New function.
9236 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
9237 * grub-core/kern/ia64/dl.c: New file.
9238 * grub-core/kern/ia64/dl_helper.c: Likewise.
9239 * grub-core/kern/ia64/efi/init.c: New file.
9240 * grub-core/kern/ia64/efi/startup.S: Likewise.
9241 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
9242 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
9243 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
9244 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
9245 * grub-core/loader/ia64/efi/linux.c: New file.
9246 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
9247 (GRUB_MOD_DEP): Likewise.
9248 (grub_dl) [__ia64__]: New fields got and tramp.
9249 (grub_dl): New field 'base'.
9250 (grub_dl_register_symbol): New argument isfunc. All users updated.
9251 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
9252 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
9253 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
9254 (grub_ia64_dl_get_tramp_got_size): New proto.
9255 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
9256 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
9257 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
9258 * include/grub/efi/api.h: Skip call wrappers on ia64.
9259 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
9260 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
9261 * include/grub/elf.h (ELF_ST_INFO): New definition.
9262 * include/grub/ia64/efi/kernel.h: New file.
9263 * include/grub/ia64/efi/memory.h: Likewise.
9264 * include/grub/ia64/efi/time.h: Likewise.
9265 * include/grub/ia64/kernel.h: Likewise.
9266 * include/grub/ia64/setjmp.h: Likewise (from glibc).
9267 * include/grub/ia64/time.h: New file.
9268 * include/grub/ia64/types.h: Likewise.
9269 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
9270 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
9271 New protos.
9272 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
9273 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9274 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
9275 * util/grub-mkimage.c (image_target_desc): New field pe_target.
9276 All users updated.
9277 (EFI64_HEADER_SIZE): New definition. All users updated.
9278 (image_targets): Add ia64-efi.
9279 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
9280 jumpers_addr. All users updated.
9281 Create function descriptors.
9282 (count_funcs): New function.
9283 (unaligned_uint32): New struct.
9284 (MASK20): New definition.
9285 (MASK19): Likewise.
9286 (MASKF21): Likewise.
9287 (add_value_to_slot_20b): New function.
9288 (add_value_to_slot_21_real): Likewise.
9289 (add_value_to_slot_21): Likewise.
9290 (ia64_kernel_trampoline): New struct.
9291 (nopm): New variable.
9292 (jump): Likewise.
9293 (make_trampoline): New function.
9294 (relocate_addresses): Handle ia64.
9295 (make_reloc_section): Likewise.
9296 (load_image): Likewise.
9297
983b414d
VS
92982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
9301 warning. Move variables before code while on it.
9302
5d063cdc
VS
93032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 Fuloong support.
9306
9307 * configure.ac: Rename yeeloong platform to loongson. All users updated.
9308 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
9309 * grub-core/boot/mips/loongson/fuloong.S: New file.
9310 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
9311 Explicitly init CS5536.
9312 [FULOONG]: Don't use serial until CS5536 is available.
9313 Set GPIO based on dumps.
9314 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
9315 [FULOONG]: Handle GPIO and memory controller differences.
9316 Parse machine type in $a2.
9317 * grub-core/boot/mips/startup_raw.S: Determine and save the
9318 architecture.
9319 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
9320 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
9321 init on architecture type.
9322 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9323 SIS315E. Don't init at_keyboard on fuloong.
9324 (grub_halt): Support Fuloong.
9325 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
9326 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
9327 (loongson_machtypes): New array.
9328 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
9329 type.
9330 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
9331 config. All users updated. Handle CS5536 serial.
9332 * grub-core/term/serial.c (grub_serial_register): Conditionalise
9333 default port on machine type. Register serial as inactive.
9334 * grub-core/video/sis315pro.c: New file.
9335 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
9336 definition.
9337 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
9338 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
9339 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
9340 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
9341 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
9342 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
9343 to ...
9344 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
9345 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
9346 definition.
9347 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
9348 (grub_arch_machine): New extern var.
9349 * include/grub/mips/loongson/serial.h
9350 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
9351 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
9352 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
9353 (GRUB_MACHINE_SERIAL_PORT0): ... this.
9354 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
9355 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
9356 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
9357 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
9358 * include/grub/term.h (grub_term_register_input_inactive): New inline
9359 function.
9360 (grub_term_register_output_inactive): Likewise.
9361 * include/grub/video.h (grub_video_driver_id): New value
9362 GRUB_VIDEO_DRIVER_SIS315PRO.
9363 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
9364 New field "names". All users updated.
9365 New field value IMAGE_FULOONG_FLASH.
9366 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
9367
6ada82d1
JU
93682011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
9369
9370 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
9371 and add some clarification.
9372
90c571a4
VS
93732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
9376 platforms if kernel is compressed.
9377
de04eecf
VS
93782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
9381 unused modules since currently referrence counter isn't reliable and
9382 there isn't much memory to recover there anyway.
9383
57688121
VS
93842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
9387 rather than resetting it to allow modules to reference themselves
9388 in init.
9389
3d2c7e35
VS
93902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
9393 counter on dependencies since grub_dl_unref already handles this.
9394
b25db218
VS
93952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
9398 on error if not already done.
9399
25a45338
VS
94002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 Fix few potential memory misusage.
9403
9404 * grub-core/font/font.c (load_font_index): Don't free char_index to
9405 avoid double free.
b25db218
VS
9406 (grub_font_load): Zero-fill font at alloc for safety.
9407 Close file on error.
9408 (free_font): Free bmp_idx.
25a45338 9409
0cac83df
VS
94102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * docs/grub.texi (Installation): Fix several outdated claims.
9413
2217a143
VS
94142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 Handle module_license on windows.
9417
9418 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
9419 sections shifted.
9420 (insert_string): Make argument const char * instead of char *.
9421 (write_section_data): Handle long section names.
9422 Handle module_license.
9423
d4de6b01
VS
94242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
9427 handle class-free menuentries.
9428 (grub_normal_add_menu_entry): Add a check to be sure.
9429
4c2a3b43
VS
94302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
9433 PgUp and PgDown.
9434
85c6210f
VS
94352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * configure.ac: Bump version to 1.99.
9438
36084912
VS
94392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Give ATA device a bit more time on first try in order to allow disks
9442 to spin up.
9443
9444 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
9445 if dev->present is 1. Reset dev->present on failure.
9446 (grub_ata_device_initialize): Set dev->present to 1.
9447 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
9448 (grub_ata_device): New member 'present'.
9449
bda0e219
VS
94502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * util/grub-mkimage.c (generate_image): Update hash.
9453
19e1c41b
VS
94542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Flush caches on DMA memory.
9457
9458 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
9459 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
9460 (grub_dma_free): Likewise.
9461 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
9462
91bbcc0c
VS
94632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
9466 to avoid asm treating ld and sd as macros.
9467
60ddfad3
VS
94682011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
9471 decompressor.
9472
a298aa04
VS
94732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
9476 grub_decompress_core since later would fail if grub_decompress_core
9477 is too far.
9478
9b44feca
VS
94792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
9482 R_MIPS_JALR since it's used by newer compiler.
9483
56dbe7b4
VS
94842011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
9487
52856af2
VS
94882011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
9491 file_path to 0 for surety.
9492 (grub_chainloader_boot): Set exit_data to NULL.
9493 Unset the loader once done.
9494 (grub_cmd_chainloader): Fix confusing error message if file is empty.
9495
9c9bfc6d
VS
94962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
9499 unknown key into a dprintf.
9500
dd94a3df
VS
95012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
9504 on first non-existant partition.
9505
fa68d99c
VS
95062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
9509 openning fails.
9510 Reported by: Mark Korenberg.
9511
157effb7
VS
95122011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
9515 overflow.
9516
ea75312f
VS
95172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/grub-mkimage.c (main): Explicitely flush and sync the output
9520 before closing to ensure that it will be readable by grub-setup.
9521
072b5d31
VS
95222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
9525 (devpath_1): Use MAKE_PIWG_PATH.
9526 (devpath_2): Likewise.
9527 (devpath_3): Likewise.
9528 (devpath_4): Likewise.
9529 (devpath_5): Likewise.
9530 (devpath_6): Likewise.
9531
9532 The appleldr.mod was checked that to be binary identical to previous
9533 version.
9534
7fae0051
Z
95352011-05-05 Zach <mikezackles>
9536
9537 Support 2010 Macbooks.
9538
9539 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
9540 (devs): Add devpath_6.
9541
7c515bee
VS
95422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
9545 /dev/random. /dev/urandom is good enough for our purposes (salting).
9546
ed660bd8
VS
95472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
9550
ee5614b7
VS
95512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
9554 hexadecimal.
9555
664889a6
VS
95562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9559 and not 0 on failure.
9560
bd405bbc
CW
95612011-05-03 Colin Watson <cjwatson@ubuntu.com>
9562
9563 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
9564 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
9565 disk; otherwise grub_fs_probe will not fall back to the next
9566 filesystem.
9567 (grub_pxefs_open): Likewise, for consistency.
9568 Reported and tested by: Ezekiel Grave.
9569
4ebff753
CW
95702011-05-03 Colin Watson <cjwatson@ubuntu.com>
9571
9572 * tests/partmap_test.in: Don't hardcode path to parted.
9573 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
9574
8f942553
CW
95752011-05-01 Colin Watson <cjwatson@ubuntu.com>
9576
9577 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
9578 of `ls' to find out which devices are available.
9579
3c62402d
VS
95802011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
9583 than source address for efi mmap buffer.
9584
723f63f2
VS
95852011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
9588 wrong action on non-detecting the magic.
9589
68797f92
VS
95902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
9593 already supplied by another part of the module (fixes compilation on
9594 FreeBSD).
9595
6be8715d
VS
95962011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
9599 match the one used by mdadm.
9600
e91dba5b
CW
96012011-04-21 Colin Watson <cjwatson@ubuntu.com>
9602
9603 * po/README: Add instructions for creating po/LINGUAS.
9604
c85140b3
CW
96052011-04-21 Colin Watson <cjwatson@ubuntu.com>
9606
9607 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
9608 #551428.
9609
9610 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
9611 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
9612 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
9613 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
9614 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
9615 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
9616 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
9617 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
9618 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
9619 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
9620 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
9621 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
9622 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
9623 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
9624 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
9625 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
9626 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
9627 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
9628 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
9629 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
9630 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
9631 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
9632
92051871
CW
96332011-04-21 Colin Watson <cjwatson@ubuntu.com>
9634
9635 * grub-core/kern/emu/getroot.c
9636 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9637 test that was incorrectly reintroduced in r3214.
9638 Reported by: Ian Dall. Fixes Savannah bug #33133.
9639
b13f79a4
CW
96402011-04-21 Colin Watson <cjwatson@ubuntu.com>
9641
9642 Fix stack pointer handling in 16-bit relocator.
9643
9644 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9645 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9646 Fixes Ubuntu bug #683904.
9647
9b710a88
VS
96482011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * configure.ac: Bump version to 1.99~rc2.
9651
d97e7b59
VS
96522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9655 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9656 * grub-core/lib/x86_64/setjmp.S: Likewise.
9657 * grub-core/lib/mips/setjmp.S: Likewise.
9658 * grub-core/lib/powerpc/setjmp.S: Likewise.
9659 * grub-core/lib/sparc64/setjmp.S: Likewise.
9660
0624551c
VS
96612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9664 * grub-core/lib/efi/datetime.c: Likewise.
9665
e8f28d4c
VS
96662011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9669 New function.
9670 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9671 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9672 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9673
bba79a15
VS
96742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9677 bitmap.
9678 (grub_gfxterm_term_init): Likewise.
9679
abc474ef
VS
96802011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Take into account the decorations the computing menu entry width.
9683
9684 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9685 (grub_gfxmenu_create_box): Register get_border_width.
9686 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9687 if available.
9688 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9689 get_border_width.
9690
e74b3947
EP
96912011-04-18 Endres Puschner <code@e7p.de>
9692
9693 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9694 Don't skip first class.
9695
34faa595
VS
96962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9699 chunks.
9700 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9701
93a777e3
VS
97022011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 Complete 64-bit division support.
9705
9706 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9707 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9708 * include/grub/misc.h (grub_divmod64): Rename to ...
9709 (grub_divmod64_full): ... this.
9710 (grub_divmod64): New inline function.
9711
a5102d94
VS
97122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9715
f3fb7b36
VS
97162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9719 performing the necessary test.
9720
9ac718b0
VS
97212011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9724 (kfreebsd.elf): Likewise.
9725 (pc-chainloader.elf): Likewise.
9726 (ntldr.elf): Likewise.
9727
50d2cc5a
VS
97282011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 Identify RAID by its UUID rather than (guessed) name.
9731
9732 * grub-core/disk/raid.c (ascii2hex): New function.
9733 (grub_raid_open): Accept mduuid/%s specification.
9734 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9735 (get_mdadm_uuid): ... this.
9736 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9737
e03f7bea
VS
97382011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9741 to negative size.
9742
e74c3112
CW
97432011-04-13 Colin Watson <cjwatson@ubuntu.com>
9744
9745 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9746 btrfs subvolume.
9747 * util/grub.d/20_linux_xen.in: Likewise.
9748
78fa584f
CW
97492011-04-13 Colin Watson <cjwatson@ubuntu.com>
9750
9751 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9752 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9753
9754 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9755 Build a list of relevant visible mounts using the mnt_id and
9756 parent_mnt_id fields, and then scan that list at the end.
9757
9d5f8162
CW
97582011-04-12 Colin Watson <cjwatson@ubuntu.com>
9759
9760 * docs/grub.texi (normal): New section.
9761 (normal_exit): New section.
9762 (Embedded configuration): Add reference to normal.
9763 (GRUB only offers a rescue shell): Likewise.
9764 * docs/grub-dev.texi (Error Handling): Fix typo.
9765
09a9d66f
CW
97662011-04-12 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * NEWS: Drop obsolete entry about probe-only btrfs support.
9769
0c676933
CW
97702011-04-12 Colin Watson <cjwatson@ubuntu.com>
9771
9772 * util/import_gcry.py: Fix typo.
9773
ec9f5e0d
VS
97742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * NEWS: Add btrfs support.
9777
fe6b2cba
VS
97782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
97792011-04-11 Colin Watson <cjwatson@ubuntu.com>
9780
9781 BtrFS support. Written by me (Vladimir) with important bugfixes and
9782 even more important testing by Colin.
9783
9784 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9785 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9786 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9787 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9788 mem_input_off and mem_input. All users updated to accept in-RAM input.
9789 (gzio_seek): New function.
9790 (test_zlib_header): Likewise.
9791 (grub_gzio_read): Likewise.
9792 (grub_zlib_decompress): Likewise.
9793 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9794 Accept partial and non-virtual mounts.
9795 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9796 avoid receiving /dev/dm-X as device.
9797 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9798 Handle bind and partial mounts.
9799 * grub-core/lib/crc.c: New file.
9800 * include/grub/deflate.h: Likewise.
9801 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9802 proto.
9803 * include/grub/lib/crc.h: New file.
9804
e745cf0c
VS
98052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 Implement automatic module license checking according to new GNU
9808 guidelines.
9809
9810 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9811 (grub_dl_load_core): Use grub_dl_check_license.
9812 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9813 (GRUB_MOD_LICENSE): Likewise.
9814 (GRUB_MOD_DUAL_LICENSE): Likewise.
9815 All modules updated.
9816
2a9bc016
CW
98172011-04-11 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9820 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9821 loaders.
9822 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9823
8a3bc88e
VS
98242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9827
af869a4a
VS
98282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9831 failed.
9832
9ee8d94f
VS
98332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9834
9835 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9836 parenthesis in the middle of the filename.
9837
b01abe3e
VS
98382011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9841 rather than trying to put initrd way too high.
9842 Reported by: Ryan Lortie <desrt@desrt.ca>
9843
335bda1e
VS
98442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9847 improperly removed string.
9848
5ca1a64d
VS
98492011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9852 is_disk.
9853 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9854 (open_device) Likewise.
9855 (grub_util_biosdisk_close): Likewise.
d8ce9995 9856 Reported by: Mark Korenberg.
5ca1a64d 9857
cbac5b1e
AK
98582011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9859
9860 * util/grub-mkconfig_lib.in: Add missing quotes.
9861
088cdb65
CW
98622011-04-10 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9865 is NULL.
9866
8b8a81fa
VS
98672011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Dynamically count the number of lines for the lower banner.
9870
9871 * grub-core/normal/menu_entry.c (per_term_screen): New member
9872 num_entries.
9873 (print_down): Use num_entries.
9874 (update_screen): Likewise.
9875 (grub_menu_entry_run): Set num_entries.
9876 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9877 num_entries.
9878 (grub_print_message_indented): Move real part to ...
9879 (grub_print_message_indented_real): ... here. Additional argument
9880 dry_run.
9881 (draw_border): Additional argument num_entries.
9882 (print_message): Additional argument dry_run.
9883 (print_entries): Receive menu viewer data.
9884 (grub_menu_init_page): New argment num_entries.
9885 (menu_text_set_chosen_entry): Use num_entries.
9886 (grub_menu_try_text): Likewise.
9887 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9888 All users updated.
9889 (grub_ucs4_count_lines): New function.
9890 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9891 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9892 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9893 (grub_term_border_height): Likewise.
9894 (grub_term_num_entries): Likewise.
9895
277f955b
VS
98962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9899 Remove now unused string.
9900
536ce85a
CW
99012011-04-09 Colin Watson <cjwatson@ubuntu.com>
9902
9903 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9904 build system.
9905 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9906
9907 (Comment): Fix typo.
9908 (Getting started): General copy-editing.
9909 (Typical Development Experience): Likewise.
9910 (Error Handling): Likewise.
9911 (Video API): Likewise.
9912
2cf09e32
CW
99132011-04-09 Colin Watson <cjwatson@ubuntu.com>
9914
9915 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9916 throughout.
9917
1ec652f4
VS
99182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9921 directory.
9922
2c583728
CW
99232011-04-08 Colin Watson <cjwatson@ubuntu.com>
9924
9925 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9926 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9927 "development".
9928
d7a565e9
VS
99292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9932 grub_strcpy since the lines aren't necessarily 0-terminated.
9933
7c2e4909
VS
99342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9937 root on legacy.
9938
34c09785
VS
99392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9942 (GRUB_MOD_INIT): DEVICE isn't optional.
9943
6a6f8058
VS
99442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9947 word on new line if it's too long anyway. Fixes a hang.
9948
2e335e90
VS
99492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9952 const.
9953 * util/grub-setup.c (main): Reuse md device name if available.
9954 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9955 not GRUB name as argument.
9956 Based on patch by: Florian Wagner <fwagner>.
9957
10a7a867
VS
99582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9961 Place mbi on low memory for better compatibility.
9962
7a3d6cd9
VS
99632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9966
18dd6b47
VS
99672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
99682011-04-08 Colin Watson <cjwatson@ubuntu.com>
9969
9970 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9971 * conf/Makefile.common: Likewise.
18dd6b47 9972
3c0e3f14
VS
99732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9974
f7148863
VS
9975 * grub-core/normal/menu.c: Add missing include.
9976
99772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9980
6d1fa41f
MZ
99812011-04-08 Martin Zuther <mzuther@mzuther.de>
9982
9983 * util/grub-mkconfig.in: Ignore emacsen backup.
9984
478182a8
VS
99852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9988 on open.
9989 (grub_util_biosdisk_close): Likewise.
9990
72a89a54
VS
99912011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9994 const attribute and use grub_isdigit.
9995
b5ebecfa
A
99962011-04-06 Andrey <dev_null@ukr.net>
9997
9998 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9999 gcc warning.
10000
7755f66e
VS
100012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10004 useful grub_dprintf's.
10005
461121ff
VS
100062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10009
2a961775
VS
100102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10013
adf594cc
VS
100142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 Output errors if theme loading failed.
10017
10018 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10019 grub_gfxterm_fullscreen on error paths to ...
10020 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10021 theme loading error.
10022
665900a3
VS
100232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10026 space for older compilers.
10027 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10028
a562b479
VS
100292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10032 and report them as not RAID members since they are useless for GRUB.
10033 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10034
850e9373
VS
100352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Increase LVM implementation robustness in order not to crash on
10038 configurations like pvmove. Previously code assumed that in some places
10039 only lvs or only pvs are used whereas it seems that they are used
10040 interchangeably.
10041
10042 * grub-core/disk/lvm.c (read_node): New function.
10043 (read_lv): Use read_node.
10044 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10045 Match volumes only at the end when all lvs are found. Take both
10046 pvs (first) and lvs (second) into account.
10047 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10048 mirror_* into node_*. All users updated.
10049 (grub_lvm_stripe): Merge this ...
10050 (grub_lvm_mirror): ... and this ...
10051 (grub_lvm_node): ... into this. All users updated.
10052
6f332153
VS
100532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10056 of function to allow further scanning for LVMs.
10057
829ea451
VS
100582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10061 on failed seek as it breaks open fd reusage.
10062
09ceb9a5
VS
100632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * util/grub-install.in: Add a recommendation to use --recheck before
10066 reporting bugs.
10067
67e11623
VS
100682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10071 are obtained.
10072
caee5efd
VS
100732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 GRUB developper manual based on existing Internals section and
10076 contributions by the various authors with active copyright assignment.
10077
10078 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10079 * docs/font_char_metrics.png: New file.
10080 * docs/font_char_metrics.txt: Likewise.
10081 * docs/grub-dev.texi: Likewise.
10082 * docs/grub.texi (Internals): Move from here ...
10083 * docs/grub-dev.texi: ... here.
10084
2cccc747
CW
100852011-04-01 Colin Watson <cjwatson@ubuntu.com>
10086
10087 Store the loopback device as data on loopback grub_disk structures,
10088 rather than the file it points to. This fixes use of freed memory
10089 if an existing loopback device is replaced.
10090
10091 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10092 disk->data, not dev->file.
10093 (grub_loopback_read): Adjust file assignment to match.
10094 Fixes Ubuntu bug #742967.
10095
186ae367
CW
100962011-04-01 Colin Watson <cjwatson@ubuntu.com>
10097
10098 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10099 when replacing an existing device.
10100
cfed2ad0
VS
101012011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10102
10103 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10104 memory corruptions.
10105
10106 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10107 unsigned.
10108 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10109 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10110 (grub_jfs_read_inode): Likewise.
10111 (grub_jfs_opendir): Likewise. Remove now useless casts.
10112 (grub_jfs_getent): Likewise.
10113 Make ino a grub_uint32_t rather than int.
10114 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10115 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10116 division and module with bit operations.
10117 (grub_jfs_find_file): Make ino a grub_uint32_t.
10118 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10119
05d2ed32
CW
101202011-04-01 Colin Watson <cjwatson@ubuntu.com>
10121
10122 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10123 warning. (This was in fact always initialised before use, but GCC
10124 wasn't smart enough to prove that.)
10125 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10126
91dc6073
VS
101272011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
10130 stack alignment.
10131 (efi_wrap_1): Likewise.
10132 (efi_wrap_2): Likewise.
10133 (efi_wrap_3): Likewise.
10134 (efi_wrap_4): Likewise.
10135 (efi_wrap_5): Likewise.
10136 (efi_wrap_6): Likewise.
10137 (efi_wrap_10): Likewise.
10138 Based on information by: Red Hat/Peter Jones.
10139
a8afc1d1
CW
101402011-03-31 Colin Watson <cjwatson@ubuntu.com>
10141
10142 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
10143 set-but-not-used variable.
10144
a826cc7d
CW
101452011-03-31 Colin Watson <cjwatson@ubuntu.com>
10146
10147 * docs/grub.texi (Simple configuration): Be more explicit about
10148 GRUB_DEFAULT, and add an example.
10149 Reported by: Leslie Rhorer.
10150
875b67ba
CW
101512011-03-30 Colin Watson <cjwatson@ubuntu.com>
10152
10153 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
10154 shell".
10155
fd7cd914
AS
101562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10157
10158 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
10159 * util/grub.d/20_linux_xen.in: Likewise.
10160
090b1b6a
VS
101612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * util/grub.d/10_linux.in: Try alternative config filenames where
10164 we parse config file.
10165 * util/grub.d/20_linux_xen.in: Likewise.
10166
baad885c
AS
101672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
10168
10169 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
10170 * util/grub.d/20_linux_xen.in: Likewise.
10171
241e41f5
VS
101722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * grub-core/disk/raid.c (insert_array): Add few potentially
10175 useful grub_util_info.
10176 (grub_raid_register): Likewise.
10177
56445fb2
VS
101782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
10181 Preserve partition number in mdadm code path.
10182
c871b1c6
VS
101832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
10186 few potentially useful grub_util_info.
10187
5e631b4f
CW
101882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10189
10190 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
10191
2d5d0333
CW
101922011-03-30 Colin Watson <cjwatson@ubuntu.com>
10193
10194 * docs/grub.texi (default): Use @example rather than nested
10195 itemized lists to avoid breaking gendocs.
10196
3d7ed04e
CW
101972011-03-30 Colin Watson <cjwatson@ubuntu.com>
10198
10199 * docs/grub.texi (Future): Update.
10200
abf04200 102012011-03-30 Colin Watson <cjwatson@ubuntu.com>
10202
10203 * docs/grub.texi (Environment): New chapter.
10204 (Changes from GRUB Legacy): Link to "Environment block" section for
10205 details of limitations.
10206 (Simple configuration): Likewise. Link to documentation of gfxmode
10207 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
10208 respectively.
10209 (Shell-like scripting): Note that normal variables are stored in the
10210 environment.
10211 (gettext): Link to documentation of lang and locale_dir.
10212 (list_env): New section.
10213 (load_env): New section.
10214 (save_env): New section.
10215
10216 (Reporting bugs): Fix typo.
10217
e1ad0edd
VS
102182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
10221 the example.
10222
5d803174
VS
102232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/term/at_keyboard.c (set_scancodes)
10226 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
10227
2a2da1d0
CW
102282011-03-30 Colin Watson <cjwatson@ubuntu.com>
10229
10230 * docs/grub.texi (Menu-specific commands): Remove some semantics
10231 that were true in GRUB Legacy but not in GRUB 2.
10232 (submenu): New section.
10233 (false): New section.
10234 (read): New section.
10235 (true): New section.
10236
a7527639
CW
102372011-03-30 Colin Watson <cjwatson@ubuntu.com>
10238
10239 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
10240
102412011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
10242
10243 * docs/grub.texi (Simple configuration): Explain some of the
10244 current limitations of grub-mkconfig.
8a748df2 10245 Reported by: Leslie Rhorer.
e30af029 10246
fc858482
VS
102472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10248
10249 Old macs search for boot.efi rather than for bootia32.efi.
10250
10251 * util/grub-install.in: Copy bootia32.efi to boot.efi.
10252 * util/grub-mkrescue.in: Likewise.
10253 Suggested by: Peter Jones.
10254
e1eb511d
VS
102552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
10258
70e75364
VS
102592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
10262 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
10263 (grub_lvm_mirror): New struct.
10264 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
10265 (grub_lvm_iterate): Iterate only visible volumes.
10266 (grub_lvm_read): Factor out to ..
10267 (read_lv): ... this. Support mirrors.
10268 (grub_lvm_read): New wrapper function.
10269 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
10270 stripped or mirrored.
10271
fc18f6a3
VS
102722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
10275
5c650f4c
CW
102762011-03-29 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * docs/grub.texi (loopback): New section.
10279
61d7156b
CW
102802011-03-29 Colin Watson <cjwatson@ubuntu.com>
10281
10282 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
10283 removed -p option.
10284
994b8264
CW
102852011-03-29 Colin Watson <cjwatson@ubuntu.com>
10286
10287 * docs/grub.texi (BIOS installation): New section, partly based on
10288 previous text in other sections.
10289 (Installing GRUB using grub-install): Replace BIOS discussion with a
10290 cross-reference.
10291 (Images): Likewise.
10292
9e4d19e0
VS
102932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10294
10295 * grub-core/kern/emu/hostdisk.c (find_partition_start)
10296 [HAVE_DIOCGDINFO]: Add safety checks.
10297
a307c0b2
VS
102982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
10301 per default compiled in kernel and prior to 8.0 isn't shipped at all.
10302
b4db4f39
CW
103032011-03-29 Colin Watson <cjwatson@ubuntu.com>
10304
10305 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
10306 real_sb->size is zero (e.g. RAID-0), get the disk size from
10307 real_sb->data_size instead.
10308 Fixes Ubuntu bug #743136.
10309
35e5f84c
VS
103102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
10313 printf clauses for printing size and start.
10314
d2e29d81
VS
103152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
10318 Reported and tested by: Timothy Nikkel.
10319
ed5587af
VS
103202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
10323 (dirty_region_add_real): ... this.
10324 (dirty_region_add): Don't discard margin refresh when performing
10325 scheduled repaint.
10326
a1dc717c
VS
103272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * grub-core/lib/relocator.c (allocate_regstart)
10330 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
10331 terminals are capabple of malloc-free operation.
10332 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10333 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
10334
9f3677d3
VS
103352011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
10336
10337 * util/grub-setup.c: Copy the partition table zone if floppy support
10338 is disabled, even if no partition table is found.
10339
10340 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
10341 during POST if an invalid partition table is contained in the PBR
10342 of the active partition when GRUB is installed to a partition.
10343
24148725
CW
103442011-03-28 Colin Watson <cjwatson@debian.org>
10345
10346 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
10347 comment.
10348
f329eda7
CW
103492011-03-28 Colin Watson <cjwatson@debian.org>
10350
10351 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
10352 to be specific about what kind of RAID device we're scanning for.
10353
c482ad98
SG
103542011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
10355
10356 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
10357 return freed string.
10358
5ee04984
VS
103592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
10362
f4727da9
VS
103632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 Use libgeom on FreeBSD to detect partitions.
10366
10367 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
10368 (grub-mkrelpath): Likewise.
10369 (grub-script-check): Likewise.
10370 (grub-editenv): Likewise.
10371 (grub-mkpasswd-pbkdf2): Likewise.
10372 (grub-fstest): Likewise.
10373 (grub-mkfont): Likewise.
10374 (grub-mkdevicemap): Likewise.
10375 (grub-probe): Likewise.
10376 (grub-setup): Likewise.
10377 (grub-ofpathname): Likewise.
10378 (grub-mklayout): Likewise.
10379 (example_unit_test): Likewise.
10380 (grub-menulst2cfg): Likewise.
10381 * grub-core/Makefile.core.def (grub-emu): Likewise.
10382 (grub-emu-lite): Likewise.
10383 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
10384 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
10385 define HAVE_DIOCGDINFO.
10386 (follow_geom_up) [FreeBSD]: New function.
10387 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
10388 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
10389 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
10390 unconditionally of HAVE_DIOCGDINFO.
10391
82fe6c75
VS
103922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Fix FreeBSD compilation problem.
10395
10396 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
10397 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
10398
4c6c9431
CW
103992011-03-24 Colin Watson <cjwatson@ubuntu.com>
10400
10401 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
10402 Switch back to page zero before loading a kernel, since some kernel
10403 drivers expect that.
10404 Thanks to: Felix Kuehling.
10405
c7064d94
VS
104062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
10409 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
10410 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
10411
3f71cded
VS
104122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
10415 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
10416
ef6de21a
VS
104172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
10420 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
10421 malloc is disabled.
10422
8bc66a2c
VS
104232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
10426 for modules headers when counting the needed allocation size.
10427
5657722c
VS
104282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
10431 if no ASCII character is found to prevent crash.
10432
41a85f55
AK
104332011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
10434
10435 * grub-core/video/bitmap.c (match_extension): Ignore case.
10436
59e1e5f1
VS
104372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
10440
bd4d051a
VS
104412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/script/parser.y: Declare "time" as valid argument.
10444
bae7fcc1
PJ
104452011-03-23 Peter Jones <pjones@redhat.com>
10446
10447 Fix incorrect assert failure reporting.
10448
10449 * grub-core/tests/example_functional_test.c (example_test): Add
10450 a failure comment.
10451 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
10452 (failure_start): ...this. Check that malloc succeeded.
10453 Don't call xvasprintf. Return failure struct.
10454 (failure_append_vtext): New function.
10455 (failure_append_text): Likewise.
10456 (add_failure): Likewise.
10457 (grub_test_assert_helper): Likewise.
10458 * include/grub/test.h (grub_test_assert_helper): New declaration.
10459 (grub_test_assert): Macro rewritten.
10460
537dc9be
VS
104612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10462
10463 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
10464
fa3e01bf
VS
104652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
10468
b1d28404
VS
104692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10470
10471 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
10472 into GRUB-style one.
10473
2e3e2e09
VS
104742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
10477 error and not grub_errno.
10478 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
10479
ed57e557
VS
104802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
10483 GRUB_USB_SPEED_NONE in case of failure and not the error code.
10484
d1611f01
VS
104852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 * grub-core/efiemu/i386/pc/cfgtables.c
10488 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10489 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
10490 (grub_xnu_unlock): Likewise.
10491 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
10492
7d4e39d6
VS
104932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
10496 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
10497 * grub-core/commands/hashsum.c (aliases): Likewise.
10498 * grub-core/commands/setpci.c (pci_registers): Likewise.
10499 * grub-core/disk/usbms.c (attach_hook): Likewise.
10500 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
10501 (zio_checksum_table): Likewise.
10502 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
10503 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
10504 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
10505 * grub-core/lib/relocator.c (leftovers): Likewise.
10506 (extra_blocks): Likewise.
10507 * grub-core/loader/i386/bsd.c (relocator): Likewise.
10508 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
10509 (modules_last): Likewise.
10510 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
10511 (devices): Likewise.
10512 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
10513 (modules_last): Likewise.
10514 * grub-core/normal/auth.c (users): Likewise.
10515 * grub-core/normal/context.c (initial_menu): Likewise.
10516 (current_menu): Likewise.
10517 * grub-core/normal/crypto.c (crypto_specs): Likewise.
10518 * grub-core/term/serial.c (grub_serial_ports): Likewise.
10519 (grub_serial_terminfo_input_template): Likewise.
10520 (grub_serial_terminfo_output_template): Likewise.
10521 (grub_serial_terminfo_input): Likewise.
10522 (grub_serial_terminfo_output): Likewise.
10523 (registered): Likewise.
10524 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
10525
40fc4659
VS
105262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
10529 grub_video_mode_type_t.
10530 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
10531 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
10532 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
10533
2da48d28
VS
105342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 * util/grub-install.in: Correct the x86-64 name as x86_64.
10537
9b43bf39
CW
105382011-03-11 Colin Watson <cjwatson@ubuntu.com>
10539
10540 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
10541 initial chunk read from the kernel always includes GRUB's multiboot
10542 header, which is now outside the first sector.
10543
be1a7ce0
CW
105442011-03-09 Colin Watson <cjwatson@ubuntu.com>
10545
10546 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
10547 cached mmap_size, so that this works correctly when called multiple
10548 times.
10549 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
10550
83a3c48d
CW
105512011-03-09 Colin Watson <cjwatson@ubuntu.com>
10552
10553 * docs/grub.texi (Simple configuration): Tidy up formatting.
10554
57d75699
SJ
105552011-03-07 Szymon Janc <szymon@janc.net.pl>
10556
10557 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
10558 Set-but-not-used variable removed.
10559
028501a0
VS
105602011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Workaround yet another IEEE1275 bug.
10563
10564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10565 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
10566 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
10567 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
10568 is set.
10569 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10570 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
10571
d998657d
VS
105722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
10575 error.
10576
fee7cdd4
CW
105772011-02-11 Colin Watson <cjwatson@ubuntu.com>
10578
10579 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
10580 empty, since in that case we can only generate either nothing or a
10581 syntactically invalid configuration file.
10582 Reported by: Michal Suchanek. Fixes Debian bug #612898.
10583
97286eb5
CW
105842011-02-09 Colin Watson <cjwatson@ubuntu.com>
10585
10586 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
10587 (Making a GRUB bootable CD-ROM): Likewise.
10588 (Invoking grub-mkrescue): New section.
10589 Reported by: Yann Dirson. Fixes Debian bug #612585.
10590
22b28eb3
CW
105912011-02-09 Colin Watson <cjwatson@ubuntu.com>
10592
10593 * util/grub-install.in: Remove unnecessary brackets from tr
10594 arguments.
10595 * util/grub.d/10_hurd.in: Likewise.
10596 * util/grub.d/10_kfreebsd.in: Likewise.
10597 * util/grub.d/10_linux.in: Likewise.
10598 * util/grub.d/20_linux_xen.in: Likewise.
10599 Reported by: Jamie Heilman. Fixes Debian bug #612564.
10600
7e735e43
CW
106012011-02-08 Colin Watson <cjwatson@ubuntu.com>
10602
10603 * include/grub/file.h (not_easly_seekable): Rename to ...
10604 (not_easily_seekable): ... this. Update all users.
10605
800f1881
CW
106062011-01-28 Colin Watson <cjwatson@ubuntu.com>
10607
10608 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
10609 grub-mkrescue.
10610
3281d3d6
VS
106112011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 * util/grub-mkimage.c (generate_image): Refuse to create the images
10614 bigger than the actual flash (512K) in Loongson machines. 512K is also
10615 the biggest chip supported by them.
10616
3533413c
VS
106172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
10620
73ae4f4f
VS
106212011-01-22 Anthony DeRobertis <anthony@derobert.net>
10622
10623 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
10624 super_offset field.
10625
37f4f608
VS
106262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * util/grub-install.in: Ignore install device on platforms
10629 where it doesn't make sense. Always use UUIDs except on pc, efi and
10630 sparc64.
10631 Reported by: Daniel Kahn Gillmor.
10632
03a4ccb5
VS
106332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10636
ffc8f4d8
VS
106372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10640 (iterate_real): Don't rely on partition being non-NULL.
10641
80f23be7
VS
106422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10645 supported platforms. Put a compile time assert for this rather than
10646 generate a warning with 32-bit shift.
10647
5d4f4dd5
VS
106482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10651 logical expression more readable.
10652
e489601a
VS
106532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10656 even if some elements have a name.
10657 Reported by: Alexander GQ Gerasiov.
10658
96e0a6ea
CW
106592011-01-22 Colin Watson <cjwatson@ubuntu.com>
10660
10661 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10662 path unreadable if `grub-probe -t abstraction' fails, for example if
10663 memberlist fails on an LVM volume group.
10664 Reported by: Darius Jahandarie.
10665
81431e2b
CW
106662011-01-22 Colin Watson <cjwatson@ubuntu.com>
10667
10668 * docs/grub.texi (Simple configuration): Document
10669 GRUB_PRELOAD_MODULES.
10670
5e79d66a
CW
106712011-01-17 Colin Watson <cjwatson@ubuntu.com>
10672
10673 * .bzrignore: Remove nonexistent grub-pbkdf2.
10674
646ada34
VS
106752011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * configure.ac: Bump version to 1.99~rc1.
10678
04360337
VS
106792011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10682 for safety.
10683
46c9db88
VS
106842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10687 module.
10688
106892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10690
10691 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10692
4fbf1852
VS
106932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10696 diskdevid.
10697
f1632d4d
VS
106982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 Fix compilation on cygwin.
10701
10702 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10703 -R .drectve on cygwin.
10704 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10705 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10706 (COND_CYGWIN): New condition.
10707 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10708 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10709 not @TARGET_OBJ2ELF@.
10710 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10711 type to determine whether aux is to be used.
10712
0b5e127b
VS
107132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10716 realpath'ed device string.
10717 Handle floppy (somewhat).
10718 Issue error in unknown case rather than garbage.
10719 Reported by: Axel Beckert.
10720
173b71e9
VS
107212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * util/grub.d/00_header.in (load_video): Handle the case when no video
10724 drivers available.
10725 Thanks to: Axel Beckert.
10726
f8f479db
VS
107272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10730 variable. Fixes problem on big endian platforms.
10731
8fc0a245
VS
107322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10735 It doesn't work well there.
10736
b8494fbe
VS
107372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10740 warning.
10741 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10742 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10743 counter.
10744
b44a558c
VS
107452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 Use alias->path rather than buggy "canon".
10748
10749 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10750 (ofdisk_hash_add): New argument curcan. All users updated.
10751
51fa856c
CW
107522011-01-11 Colin Watson <cjwatson@ubuntu.com>
10753
10754 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10755
9da068a5
VS
107562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10759 loadmask before doing any calculations. Use correct type for offset.
10760 (grub_linux_load64): Likewise.
10761
86205c94
CW
107622011-01-11 Colin Watson <cjwatson@ubuntu.com>
10763
10764 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10765 with NULL.
10766 (console_grub_equivalences_unshift): Likewise.
10767 Reported by: Daniel Dehennin.
10768
4531a206
VS
107692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10772 (set_env_limn_ro): Likewise.
10773 (GRUB_MOD_INIT): Likewise.
10774 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10775 ARRAY_SIZE while on it.
10776 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10777 * grub-core/normal/context.c (grub_env_export): Move from here ...
10778 * grub-core/kern/env.c (grub_env_export): ... here.
10779 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10780 prefix.
10781 * grub-core/kern/main.c (grub_main): Export root and prefix.
10782 * include/grub/env.h (grub_env_export): Export.
10783 Reported by: Seth Goldberg.
10784
45146057
VS
107852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10788 Take into account space used by ELF sections and multiboot palette.
10789 Reported by: Grégoire Sutre.
10790
f093110b
VS
107912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * BUGS: New file.
10794
3395fe52
VS
107952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 Pass more appropriate video id to Linux.
10798
10799 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10800 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10801 fill have_vga.
10802 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10803 shift params->lfb_size.
10804 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10805
c2fa6cbb
VS
108062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10809
b3ff6ff0
VS
108102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10813 separator and pass bootpath/devid even if only one of them is available.
10814 Reported by: Seth Goldberg.
10815
ae67942e
VS
108162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10819 implementations bug on them.
10820
10821 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10822 memory.
10823 (filter_memory_map): Likewise.
10824
d570097a
VS
108252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10828 Reported by: nebuchadnezzar.
10829
a508e776
VS
108302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10833 Reported by: nebuchadnezzar.
10834
dcb883b1
VS
108352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 Submenu default support.
10838
10839 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10840 auto_boot. All users updated.
10841 Declared static.
10842 Handle chosen and default with submenus.
10843 (grub_menu_execute_with_fallback): Declared static.
10844 Don't notify failure if autobooted. Upper level does it.
10845 (menuentry_eq): New function.
10846 (get_entry_number): Use menuentry_eq.
10847 (show_menu): New parameter "autobooted". All users updated.
10848 (grub_show_menu): Likewise.
10849 * include/grub/normal.h (grub_show_menu): Likewise.
10850 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10851 (grub_menu_execute_with_fallback): Likewise.
10852
6fef99b4
VS
108532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * util/grub-mklayout.c (usage): Update help text.
10856
47a77af5
VS
108572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10860
ce6bb3ee
VS
108612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * util/grub-menulst2cfg.c (main): Trim the line.
10864
db87be2a
VS
108652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10868 (grub_machine_init): Don't check amount of low memory as reportedly
10869 INT 12h can be broken and if low memory is too low we wouldn't have
10870 gotten into grub_machine_init anyway.
10871
c49849cc
VS
108722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10875 (grub_machine_mmap_iterate): Take low memory into account
10876
b1969b30
VS
108772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10880 badfs.
10881 Reported by: TiCPU.
10882
cf0eaf13
VS
108832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10886 members errors.
10887
1f060f39
GS
108882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10889
10890 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10891 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10892
a21e5672
GS
108932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10894
10895 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10896 openbsd and netbsd types being in part_bsd module.
10897
c88172fa
VS
108982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10901 (_FILE_OFFSET_BITS): Likewise.
10902 Reported by: Seth Goldberg.
10903
53798c4b
GS
109042011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10905
10906 * configure.ac: Check for libdevmapper header.
10907
e7121b69
VS
109082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10909
10910 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10911 avoid aliasing.
10912 (fzap_lookup): Likewise.
10913 (dnode_get): Likewise.
10914 (make_mdn): Likewise.
10915 (zfs_mount): Likewise.
10916 (fzap_iterate): Use temporary pointer to avoid aliasing.
10917 (grub_zfs_read): Likewise.
10918 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10919 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10920 pointers to avoid aliasing.
10921 (grub_cmd_xnu_kernel64): Likewise.
10922 (grub_xnu_load_driver): Likewise.
10923
fc836af9
VS
109242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10927 aliasing warning.
10928 (grub_cmd_terminal_output): Likewise.
10929 Reported and tested by: Grégoire Sutre.
10930
f9f37648
VS
109312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10934 warning.
10935 Reported and tested by: Grégoire Sutre.
10936
ec1dfd63
VS
109372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * configure.ac: Do CPU substitution even if it's specified explicitly.
10940 Reported and tested by: Alain Greppin.
10941
9462775a
VS
109422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10945 Reported and tested by: Alain Greppin.
10946
0fd48e35
VS
109472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 Satisfy some bison versions need for inttypes.h.
10950
10951 * grub-core/lib/posix_wrap/inttypes.h: New file.
10952 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10953 (int16_t): Likewise.
10954 (int32_t): Likewise.
10955 (int64_t): Likewise.
10956 Reported and tested by: Alain Greppin.
10957
43f1bc83
VS
109582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10961 Silence spurious warning.
10962 Reported and tested by: Alain Greppin.
10963
64d1f041
SJ
109642011-01-07 Szymon Janc <szymon@janc.net.pl>
10965
10966 * docs/grub.texi (Support automatic decompression): Update with xz
10967 decompression support.
10968
25953e10
SJ
109692011-01-07 Szymon Janc <szymon@janc.net.pl>
10970
10971 Improve loaders' kernel command line handling.
10972
10973 * grub-core/lib/cmdline.c: New file.
10974 * include/grub/lib/cmdline.h: Likewise.
10975 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10976 grub_create_loader_cmdline to create kernel command line.
10977 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10978 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10979 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10980 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10981 (linux): Add lib/cmdline.c on common.
10982
e72d259f
VS
109832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10986 inopos might be unaligned.
10987
c0cf26da
VS
109882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10991 endian transformations.
10992 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10993 Based on report by: Doug Nazar.
10994
0ca09e6c
DN
109952011-01-07 Doug Nazar <nazard.michi@gmail.com>
10996
10997 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10998 array->members[i].start_sector.
10999 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11000
014b6806
VS
110012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11004 Reported and tested by: Grégoire Sutre.
11005
415502c2
CW
110062011-01-06 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11009 avoid causing test failures by clearing the screen.
11010
71b6a2b7
CW
110112011-01-06 Colin Watson <cjwatson@ubuntu.com>
11012
11013 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11014 Fix prefix check to handle the case where dir ends with a slash
11015 (most significantly, "/" itself).
11016 Reported by: Michael Vogt.
11017
b3f8d28a
VS
110182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Run terminfo_cls on initing terminfo output to clear the screen and
11021 move the cursor to (0,0).
11022
11023 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11024 Call grub_terminfo_output_init.
11025 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11026 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11027 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11028
4c3e4f37
VS
110292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11032 only when needed.
11033
488f71f1
VS
110342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11037 CTRL.
11038
18a38098
VS
110392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 The E820 type 5 is BADRAM, not EXEC_CODE.
11042
11043 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11044 (GRUB_E820_BADRAM): New define.
11045 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11046 into reserved. Propagate BADRAM.
11047 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11048 (GRUB_E820_BADRAM): New define.
11049
9eae2084
VS
110502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11053 Ignore the memory post-4G.
11054 (grub_relocator_firmware_alloc_region): Additional debug statement.
11055
ebc71d28
VS
110562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11059 names.
11060 Reported by: David Pravec.
11061
446fa400
VS
110622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11065 BIOSes.
11066
a0159f37
VS
110672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11070 Prevent overflow.
11071 (grub_reed_solomon_recover): Likewise.
11072
e5146ca1
VS
110732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11076
110772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11078
11079 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11080 variable.
11081
5b1bdf12
CW
110822011-01-04 Colin Watson <cjwatson@ubuntu.com>
11083
11084 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11085 descriptions of extract_legacy_entries_source and
11086 extract_legacy_entries_configfile.
11087 Reported by: Seung Soo, Ha.
11088
99d925aa
CW
110892011-01-03 Colin Watson <cjwatson@ubuntu.com>
11090
11091 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11092 on devices that do not implement function 0.
11093
4af0504b
DV
110942011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11095
11096 * grub-core/fs/hfsplus.c: Make parent unsigned.
11097 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11098 overflows.
11099 (grub_hfsplus_cmp_extkey): Likewise
11100
469ee10a
VS
111012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 * util/grub-install.in: Correctly use bootloader_id and not
11104 GRUB_DISTRIBUTOR on efibootmgr line.
11105
323a8e9c
VS
111062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11109
1b394975
IC
111102010-12-31 Ian Campbell <ijc@hellion.org.uk>
11111
11112 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11113 Xen and reorder menu item wording to make it clearer that this entry
11114 will launch Xen. Print separate messages when loading Xen and
11115 Linux.
11116
275bff5f
VS
111172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11120 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11121 loop in case of incorrect amiga partmap.
11122
307806cb
VS
111232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11126 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11127 Reported by:EHeM.
11128
b12b923e
VS
111292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
11132 spurious warning.
11133 Reported by: crocket
11134
14b48a19
VS
111352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
11138 Preload EFIemu.
11139 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
11140
693db2df
VS
111412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
11144 is loaded
11145 (grub_cmd_xnu_kextdir): Likewise.
11146 (grub_cmd_xnu_splash): Likewise.
11147
c7638645
VS
111482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 Avoid using Reed-Solomon with 0 redundancy.
11151
11152 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
11153 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
11154 or 0 redundancy.
11155 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
11156 (grub_reed_solomon_recover): Likewise.
11157
25dd4780
VS
111582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 Don't use disk subsystem in freebsd_boot.
11161
11162 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
11163 (freebsd_biosdev): Likewise.
11164 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
11165 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
11166
0b2db943
VS
111672010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Handling of files of unknown size is currently limited. They can't be
11170 used e.g. for initrd or modules. Moreover gzip handling of not
11171 easily seekable files is buggy. Disable unknown file size for now. May
11172 be inefficient but works.
11173
11174 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
11175 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
11176
5c408d0f
MP
111772010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
11178
11179 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
11180 floppy probe.
11181
190a011a
JD
111822010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
11183
11184 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
11185
022d01b8
SL
111862010-12-25 Shea Levy <shlevy>
11187
11188 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
11189
c4855fdc
VS
111902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
11193 Windows Server 2008.
11194 Reported by: Devin Giddings.
11195
0354b867
VS
111962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
11199 writing an error message because of async power management.
11200 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
11201 (grub_reboot): Likewise.
11202
ab66c69f
JU
112032010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
11204
11205 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
11206 keep unit tests from failing when they shouldn't.
11207
1426ef35
CW
112082010-12-21 Colin Watson <cjwatson@ubuntu.com>
11209
11210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
11211 previous patch increased the size of the RS code by 20 bytes (at
11212 least with gcc-4.4), so increase this by 20 bytes to match.
11213 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11214
20641b6b
CW
112152010-12-21 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
11218 scratch area. Make sure to initialise chosen in standalone mode as
11219 well as non-standalone.
11220 Reported by: Robert Hooker and Andy Whitcroft.
11221 Tested by: Andy Whitcroft.
11222
d060ad60
CW
112232010-12-21 Colin Watson <cjwatson@ubuntu.com>
11224
11225 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
11226 constructing a new unescaped string and passing it to grub_xputs in
11227 one go, rather than passing characters to grub_printf one at a time.
11228
b889cfad
CW
112292010-12-21 Colin Watson <cjwatson@ubuntu.com>
11230
11231 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
11232 initialising utf16.
11233
4e01b6c8
CW
112342010-12-21 Colin Watson <cjwatson@ubuntu.com>
11235
11236 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
11237 comment. Add an extra layer of quotation, requiring the output of
11238 this function to be used in a printf format string.
11239 (gettext_printf): New function.
11240 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
11241 Extract translatable strings from here-documents and use a temporary
11242 variable instead, so that xgettext can find them.
11243 * util/grub.d/10_kfreebsd.in: Likewise.
11244 * util/grub.d/10_linux.in: Likewise.
11245 * util/grub.d/20_linux_xen.in: Likewise.
11246
11247 * po/grub.d.sed: New file.
11248 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
11249 arguments. Set c-format flags on all strings extracted from
11250 util/grub.d/ (xgettext refuses to include these itself for strings
11251 it extracted from a shell file, but these really are c-format).
11252
5318fe98
VS
112532010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
11256 Avoid next pointing to nowhere.
11257
6c85b743
VS
112582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
11261 rather than assuming than rootblock is exactly in the middle.
11262 (grub_affs_label): Likewise.
11263
a2a08a35
VS
112642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
11267 reserved_first_sector to 0.
11268 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
11269 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
11270 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
11271
7059d1ec
VS
112722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Fix handling of UTF-16 UDF labels.
11275
11276 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
11277 (read_string): .. here.
11278 (grub_udf_label): Use read_string.
11279
30aff4cb
BC
112802010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
11281
11282 * grub-core/normal/menu_entry.c (run): Execute commands from menu
11283 editor under argument scope.
11284 Reported by: Jordan Uggla
11285
5cf86f4b
VS
112862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
11289
32570200
CW
112902010-12-18 Colin Watson <cjwatson@ubuntu.com>
11291
11292 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
11293 line, and other keys scroll an entire page (previous handling was
11294 for \r and \n to scroll a page and other keys to scroll two lines).
11295
e1dffcf2
VS
112962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11299 Set ptrdest to correct get_physical_target_address rather than
11300 incorrect get_virtual_current_address.
11301
b04298cf 113022010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
11303
11304 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
11305 correct cat to grub_uint8_t * rather than grub_uint32_t *.
11306
5367ecd3
CW
113072010-12-10 Colin Watson <cjwatson@ubuntu.com>
11308
11309 * .bzrignore: Ignore grub-core/rs_decoder.S.
11310
1fb430f8
CW
113112010-12-10 Colin Watson <cjwatson@ubuntu.com>
11312
11313 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
11314 .mo/.mo.gz opening sequence to ...
11315 (grub_mofile_open_lang): ... here.
11316 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
11317 * util/grub.d/00_header.in (grub_lang): Include country part of
11318 locale.
11319 Reported by: Mario Limonciello.
11320
a94a6671
RM
113212010-12-09 Robert Millan <rmh@gnu.org>
11322
11323 * NEWS: Document addition of ZFS support.
11324
24b7938b
CW
113252010-12-04 Colin Watson <cjwatson@ubuntu.com>
11326
11327 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
11328 rather than `/ 2', as the latter requires -Wa,--divide which would
11329 require bumping our minimum binutils version.
11330
bddc3ef6
BC
113312010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
11332
11333 * util/grub-script-check.c (main): Print script line number on
11334 error.
11335
bf78d5b2
RM
113362010-12-01 Robert Millan <rmh@gnu.org>
11337
11338 * grub-core/fs/zfs/zfs.c: New file.
11339 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
11340 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
11341 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
11342 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11343
11344 * include/grub/zfs/dmu.h: Likewise.
11345 * include/grub/zfs/dmu_objset.h: Likewise.
11346 * include/grub/zfs/dnode.h: Likewise.
11347 * include/grub/zfs/dsl_dataset.h: Likewise.
11348 * include/grub/zfs/dsl_dir.h: Likewise.
11349 * include/grub/zfs/sa_impl.h: Likewise.
11350 * include/grub/zfs/spa.h: Likewise.
11351 * include/grub/zfs/uberblock_impl.h: Likewise.
11352 * include/grub/zfs/vdev_impl.h: Likewise.
11353 * include/grub/zfs/zap_impl.h: Likewise.
11354 * include/grub/zfs/zap_leaf.h: Likewise.
11355 * include/grub/zfs/zfs.h: Likewise.
11356 * include/grub/zfs/zfs_acl.h: Likewise.
11357 * include/grub/zfs/zfs_znode.h: Likewise.
11358 * include/grub/zfs/zil.h: Likewise.
11359 * include/grub/zfs/zio.h: Likewise.
11360 * include/grub/zfs/zio_checksum.h: Likewise.
11361
11362 * Makefile.util.def: Build ZFS into libgrubmods.
11363 * grub-core/Makefile.core.def: Build zfs.mod.
11364
3f0f3831
SJ
113652010-11-30 Szymon Janc <szymon@janc.net.pl>
11366
11367 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
11368 variable.
11369 * grub-core/commands/wildcard.c (match_files): Likewise.
11370
3a4253b2
RM
113712010-11-30 Robert Millan <rmh@gnu.org>
11372
11373 * grub-core/loader/i386/bsd.c
11374 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
11375 whether kernel is loaded using grub_loader_is_loaded(), rather
11376 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
11377 certain error conditions.
11378
8c317b27
RM
113792010-11-30 Robert Millan <rmh@gnu.org>
11380
c5c9cd3e
RM
11381 * grub-core/commands/echo.c: Include `<grub/term.h>'.
11382 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 11383
49d3ab46
VS
113842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 Avoid using tricks for initialising endian variables.
11387
11388 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
11389 Make const.
11390 (GRUB_MOD_INIT): Don't byte-swap.
11391 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11392 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
11393 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
11394 (grub_swap_bytes32_compile_time): Likewise.
11395 (grub_cpu_to_le32_compile_time): Likewise.
11396 (grub_cpu_to_le16_compile_time): Likewise.
11397
f420a804
VS
113982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
11399
11400 * util/grub-setup.c (setup): Stop recommending --force. People who
11401 understand the dangers of blocklists are able to find this option
11402 anyway and the ones who don't shouldn't use it anyway.
11403
4e7db17b
RM
114042010-11-26 Robert Millan <rmh@gnu.org>
11405
11406 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
11407 Update all users.
11408
9be57a0d
CW
114092010-11-26 Colin Watson <cjwatson@ubuntu.com>
11410
11411 Fix LVM-on-RAID probing.
11412
11413 * util/grub-probe.c (probe): Remember which disk was detected as
11414 RAID (perhaps an LVM physical volume). Use that disk's raidname
11415 rather than that of the top-level disk.
11416
2c7859b3 114172010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 11418
d7647bb6
BC
11419 Fix cmdline argument quotes for setparams command of menuentry
11420 definitions.
7e623b0d
BC
11421
11422 * grub-core/commands/menuentry.c (setparams_prefix): Use single
11423 quotes for arguments.
f866fe80 11424 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 11425 grub_strchrsub function instead.
f866fe80 11426
7955bea0 11427 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 11428
74f72a64
CW
114292010-11-24 Colin Watson <cjwatson@ubuntu.com>
11430
11431 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
11432 effort by skipping "." and ".." entries up-front.
11433 Suggested by: Michael Lazarev.
11434
5a407278
CW
114352010-11-24 Colin Watson <cjwatson@ubuntu.com>
11436
11437 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
11438 ldflags to ldadd, to fix link line ordering.
11439 (none_decompress): Likewise.
11440
3030d8ec
CW
114412010-11-24 Colin Watson <cjwatson@ubuntu.com>
11442
11443 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
11444 platforms.
11445 (grub-emu-lite): Remove kern/emu/cache.S.
11446
b7fbac12
CW
114472010-11-23 Colin Watson <cjwatson@ubuntu.com>
11448
11449 * util/deviceiter.c (compare_devices): If the by-id link for a
11450 device couldn't be resolved, fall back to sorting by the by-id link
11451 rather than segfaulting.
11452 Reported and tested by: Daniel Mierswa.
11453
5225f328
CW
114542010-11-23 Colin Watson <cjwatson@ubuntu.com>
11455
11456 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
11457 ldflags, to fix link line ordering.
11458
038b3ce8
CW
114592010-11-23 Colin Watson <cjwatson@ubuntu.com>
11460
11461 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
11462 linkers are picky about this.
11463
bf16e98e
CW
114642010-11-23 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * grub-core/Makefile.am (command.lst): Adjust sed expression
11467 ordering so that extended and priority commands aren't treated as
11468 ordinary commands.
11469
7242bab6
CW
114702010-11-23 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
11473 Remove byte-swapping function calls, which are not valid in
11474 structure initialisers.
11475 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
11476 non-const.
11477 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
11478 grub_gpt_partition_type_bios_boot.
11479
14e8b279
CW
114802010-11-22 Colin Watson <cjwatson@ubuntu.com>
11481
11482 Fix test program build on GNU/kFreeBSD.
11483
11484 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
11485 $(LIBNVPAIR)' library dependencies.
11486
e6f63338 114872010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
11488
11489 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
11490
cf8ffc38
CW
114912010-11-22 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * util/grub-install.in: Remove excessive quoting that broke
11494 installations to RAID devices.
11495
7f8b0fd7
VS
114962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
11499 bootloader version instead of 0.
11500
dfd240b1
VS
115012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11502
11503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
11504 warning.
11505
7b61e609
VS
115062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
11509 retrieve the metadat sector if size isn't known.
11510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11511
9dfe92d0
RM
115122010-11-18 Robert Millan <rmh@gnu.org>
11513
11514 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
11515 with grub_memcmp().
11516
41cc919e
VS
115172010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
11520 arrow.
11521 Reported by: Jordan Uggla.
11522
1afcc914
VS
115232010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 Make better UTF compliant.
11526
11527 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
11528 sequences as incorrect.
11529 (grub_is_valid_utf8): Likewise.
11530 (grub_utf8_to_ucs4): Likewise.
11531 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
11532 (grub_ucs4_to_utf8_alloc): Likewise.
11533 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
11534
f1808884
VS
115352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11536
11537 Make legacy_source behave like source.
11538
11539 * grub-core/commands/legacycfg.c (legacy_file): Don't call
11540 grub_show_menu.
11541 (grub_cmd_legacy_source): Call grub_show_menu if needed.
11542
24ec575b
CW
115432010-11-16 Colin Watson <cjwatson@debian.org>
11544
11545 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
11546 (-Wunused implies -Wunused-parameter, but not vice versa).
11547
72b7c7aa
CW
115482010-11-16 Colin Watson <cjwatson@ubuntu.com>
11549
11550 * configure.ac: Make error messages less confusing by testing for
11551 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
11552 accepted, but produces a diagnostic if something else is wrong).
11553
e98937aa
VS
115542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
11557 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
11558 (now unused).
11559 (grub_keyboard_controller_init)
11560 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
11561 read the initial state since controller isn't inited yet.
11562
f6bbabc3
VS
115632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
11566 allocate_regbeg may need to create new chunk header.
11567
22e7dbb2
VS
115682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 Fix quoting in legacy parser.
11571
11572 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
11573 single quotes.
11574 (grub_legacy_parse): Likewise.
11575 Reported by: Jordan Uggla.
11576 Tested by: Jordan Uggla.
11577
03f80960
VS
115782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 Don't add -lgcc on i386 and x86_64.
11581
11582 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
11583 * conf/Makefile.common (LDADD_KERNEL): Likewise.
11584 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
11585
779dc15b
VS
115862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * configure.ac: Add -Wno-trampolines when supported.
11589
d20a3b37
MV
115902010-11-14 Modestas Vainius <modax@debian.org>
11591
11592 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
11593 fakeraid.
11594
e5360933
GC
115952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11596
11597 Add generic logical block size support for UDF.
11598
11599 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
11600 (GRUB_UDF_BLKSZ): Removed.
11601 (struct grub_udf_data): New field "lbshift" to hold the logical block
11602 size of the file system in log2 format. All users updated.
11603 (sblocklist): Change type to unsigned.
11604 (grub_udf_mount): Change type of "sblklist" to unsigned.
11605 Move AVDP search before VRS recognition, because the latter requires
11606 knowledge of the logical block size, which is detected during the
11607 former.
11608 Detect and validate logical block size during AVDP search, adding
11609 support for block sizes 512, 1024 and 4096.
11610 Make VRS recognition independent of block size.
11611
cb0229c5
GC
116122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11613
11614 Properly handle deleted files on UDF.
11615
11616 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
11617 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
11618 set.
11619
406858a8
GC
116202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
11621
11622 Support reading files larger than 2 GiB.
11623
11624 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
11625 "offset" to grub_off_t.
11626 (grub_udf_read_file): Likewise for parameter "pos".
11627
130da6a7
VS
116282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
11631 unavailable.
11632 (Simple configuration): Refer to Changes from GRUB Legacy about
11633 save_env availability.
11634
65e93f6b
VS
116352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11636
11637 * util/grub-install.in: Ignore empty partition table detection
11638 instead of trying to include part_ module.
11639
1fd08bf1
VS
116402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11643 LVM on RAID support.
11644
de1a024f
VS
116452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 Properly define WORDS_BIGENDIAN in wrapped environments.
11648
11649 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11650 definition.
11651 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11652
11653 Reported by: Manoel Rebelo Abranches.
11654 Tested by: Manoel Rebelo Abranches.
11655
bc5dd0b9
VS
116562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * util/grub-mkconfig.in: Fix quoting.
11659
58c184be
VS
116602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 Support big ext2 files.
11663
11664 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11665 (grub_ext2_read_block): Support triple indirect blocks.
11666 (grub_ext2_read_file): Use 64-bit types and read size_high.
11667 (grub_ext2_open): Read size_high.
11668 Reported by: Ximin Luo.
11669 Tested by: Manoel Rebelo Abranches.
11670
5f0c02b3
VS
116712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * util/grub-install.in: Handle filenames containing spaces.
11674 Reported by: Jordan Uggla.
11675 Tested by: Jordan Uggla.
11676
4417aae6
VS
116772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * util/grub-mkconfig.in (grub_script_check): New variable.
11680 Use grub_script_check instead of grub-script-check.
11681 Reported by: Barry Jackson.
11682
7625a68e
VS
116832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * docs/grub.texi (menu): Correct the order.
11686 Reported by: D. Hugh Redelmeier.
11687
10001ac5
VS
116882010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11691 jump.
11692
9c4cf53b
MRA
116932010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11694
10001ac5
VS
11695 * include/grub/elfload.h (grub_elf32_size): New parameter.
11696 All users updated.
9c4cf53b
MRA
11697 Return maximum segments alignment.
11698 (grub_elf64_size): Likewise.
11699 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11700 Return maximum segments alignment.
11701 (grub_elf64_size): Likewise.
11702 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11703 (grub_linux_claimmap_iterate): New function. Uses the
11704 "available" property in the "memory" node for memory allocation
11705 for kernel in the PowerPC loader.
9c4cf53b
MRA
11706 (grub_linux_load32): Correctly find linux entry point offset.
11707 (grub_linux_load64): Likewise.
11708
d2bf06bf
RM
117092010-11-07 Robert Millan <rmh@gnu.org>
11710
11711 On mips-yeeloong, build with -march=loongson2f when this flag is
11712 available (GCC >= 4.4).
11713 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11714 `-march=mips3'.
11715 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11716 or otherwise add -march=mips3.
11717
898c99a2
BC
117182010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11719
87220a68
BC
11720 Suppress shell expansion on echo '*' and echo "*" like cases.
11721 Reported by: Jordan Uggla.
898c99a2
BC
11722
11723 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11724 string arguments before shell expansion.
11725 * tests/grub_cmd_echo.in: New testcases.
11726
4f9b406a
RM
117272010-11-07 Robert Millan <rmh@gnu.org>
11728
11729 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11730 transition.
11731
80c6d25e
VS
117322010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/kern/emu/hostdisk.c
11735 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11736
4a1a0153
VS
117372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11740 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11741 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11742
34706ddc
VS
117432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11744
11745 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11746
6972dea9
VS
117472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * util/grub-install.in: Replace useless recomendation to pass
11750 --modules with a recomendation to report a bug.
11751
9c693bd6
VS
117522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 Properly register serial terminfo.
11755 Reported by: Jordan Uggla
11756
11757 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11758 const.
11759 (grub_serial_terminfo_output_template): Likewise.
11760 (grub_cmd_serial): Register "serial" with terminfo.
11761 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11762 grub_serial_terminfo_output.
11763
6c9e4c0c
RM
117642010-11-05 Robert Millan <rmh@gnu.org>
11765
11766 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11767 needed).
11768
b9b3839f
RM
117692010-11-05 Robert Millan <rmh@gnu.org>
11770
11771 On Yeeloong, pass machine type information to Linux.
11772
11773 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11774 (LOONGSON_MACHTYPE): New macro, set to
11775 "machtype=lemote-yeeloong-2f-8.9inches".
11776 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11777 additional argument to Linux.
11778
1a3aaff4
RM
117792010-11-04 Robert Millan <rmh@gnu.org>
11780
11781 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11782 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11783 (its SATA disks are detected as slaveless IDE master drives on
11784 kFreeBSD).
11785 Reported by Carsten Aulbert.
11786
a75f4f62
CW
117872010-11-02 Colin Watson <cjwatson@ubuntu.com>
11788
11789 * util/bin2h.c (main): Fix spelling error in generated output.
11790
33b4b0c6
GS
117912010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11792
11793 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11794
2b36fbf4
VS
117952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11798 vga= option is supplied.
11799
74aaf558
VS
118002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11803 * util/grub.d/10_kfreebsd.in: Likewise.
11804 * util/grub.d/10_linux.in: Likewise.
11805 * util/grub.d/20_linux_xen.in: Likewise.
11806
6428dec3
VS
118072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11810 argument as an argument to no-argument option.
11811
f8729d98
VS
118122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * util/grub.d/10_linux.in: Add missing load_video with explicit
11815 GRUB_GFXPAYLOAD_LINUX.
11816
89d68fa6
VS
118172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11820
3a1197cd
VS
118212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11824 elements with invlid index.
11825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11826 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11827 members.
11828 * include/grub/raid.h (grub_raid_member): New struct.
11829 (grub_raid_array): Transform devices and start_sector into usage of
11830 grub_raid_member. All users updated
11831 (allocated_devs): New member.
11832
71574288
VS
118332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11836 is modified
11837
8d40ec65
BC
118382010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11839
11840 NetBSD build fix for getline function conflict from gnulib.
11841
11842 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11843 components that depend on gnulib headers.
11844 (libgrubmods.a): Renamed from earlier libgrub.a.
11845 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11846
95b9257e
VS
118472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11850 install rather than creating a broken install.
11851
26c53dc6
VS
118522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * util/grub-setup.c (argp): Remove misleading example of installing to
11855 a partition.
11856
4171b3c5
VS
118572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * util/grub-setup.c (setup): Clarify the error message.
11860
18568d18
VS
118612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11864
4f6a2e21
VS
118652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/kern/emu/misc.c
11868 (grub_make_system_path_relative_to_its_root)
11869 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11870
118712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11872
11873 * grub-core/kern/emu/misc.c
11874 (grub_make_system_path_relative_to_its_root): Revert r2882.
11875
e138c458
VS
118762010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11879 useless field head. All users updated.
11880 (free_subchunk): Correct handling of IN_REGION subchunk.
11881
0cbcdf0e
CW
118822010-10-22 Colin Watson <cjwatson@ubuntu.com>
11883
11884 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11885 (Supported kernels): Likewise.
11886
b65ea155
GS
118872010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11888
11889 Make mktemp invocations portable.
11890
11891 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11892 exit if mktemp fails.
11893 * tests/grub_script_blockarg.in: Likewise.
11894 * tests/partmap_test.in: Likewise.
11895 * tests/util/grub-shell-tester.in: Likewise.
11896 * tests/util/grub-shell.in: Likewise.
11897 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11898 * Makefile.am: Likewise, and chain shell commands with `&&'
11899 instead of ';'.
11900 * util/grub-mkrescue.in: Use the same explicit template as above, and
11901 exit if mktemp fails.
11902
05f43cdd
BC
119032010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11904
11905 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11906 Linux kernel, reported by Dennis Schridde.
11907
800e6a9b
SJ
119082010-10-17 Szymon Janc <szymon@janc.net.pl>
11909
11910 * grub-core/normal/auth.c (grub_auth_check_authentication):
11911 Set-but-not-used variable removed.
11912
d82df574
VS
119132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11916 32-bit linux protocol.
11917
7bced458
VS
119182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11921 cursor shape for sanity.
11922
5b027690
VS
119232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * docs/grub.texi (Installation): Document buggy BIOS install.
11926
ba5f65cf
VS
119272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11928
11929 * docs/grub.texi (Installation): Indent.
11930
fdf2ec9c
VS
119312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * util/grub-setup.c (setup): New parameter allow_floppy.
11934 (arguments): New member allow_floppy.
11935 (argp_parser): Handle --allow-floppy.
11936 (main): Pass allow_floppy.
11937 * util/grub-install.in: New option --allow-floppy passed though to
11938 grub-setup.
11939
861dfd4c
VS
119402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * util/grub-install.in: Handle partitionless disks.
11943
f77a8c24
VS
119442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * util/grub-setup.c (setup): Don't clean blocklists before readability
11947 verfification.
11948
27d9ee32
VS
119492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * docs/grub.texi (Installation): Document embedding zone. Remove
11952 obsolete grub-install example.
11953
6bdda8f8
SJ
119542010-10-16 Szymon Janc <szymon@janc.net.pl>
11955
11956 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11957 Set-but-not-used variable ifdef'ed.
11958 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11959 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11960 variable removed.
11961 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11962 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11963 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11964 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11965 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11966 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11967 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11968 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11969 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11970 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11971 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11972 Likewise.
11973
e19b016b
VS
119742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11977 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11978 enum value.
11979
6c8d3002
VS
119802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11983 synonym to _S5_. Needed for some DSDTs.
11984
c32b51c9
VS
119852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11986
11987 Userspace ACPI parser debugging.
11988
11989 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11990 headers and add relevant defines. Don't include standard headers.
11991 (main) [GRUB_DSDT_TEST]: New function.
11992 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11993 Don't declare functions.
11994
fbfbeb39
VS
119952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 Remove dead grub_efi_mm_fini.
11998
11999 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12000 (ALLOCATED_PAGES_SIZE): Likewise.
12001 (MAX_ALLOCATED_PAGES): Likewise.
12002 (allocated_pages): Likewise.
12003 (grub_efi_allocate_pages): Don't record allocated pages.
12004 (grub_efi_free_pages): Likewise.
12005 (grub_efi_mm_init): Likewise.
12006 (grub_efi_mm_fini): Removed.
12007
65f7ed7c
VS
120082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12011 (grub_efi_mm_init): Take into account the memory map size increase.
12012
24977b44
VS
120132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12016 (serial_hw_put): Wait based on real time rather than port reads. Don't
12017 roken ports.
12018 * include/grub/serial.h (grub_serial_port): New field broken.
12019
1eb01cd2
RM
120202010-10-16 Robert Millan <rmh@gnu.org>
12021
12022 * grub-core/kern/emu/misc.c
12023 (grub_make_system_path_relative_to_its_root): Fix premature return
12024 when processing non-root ZFS filesystems.
5f8b440b 12025 Reported by Sergio Talens-Oliag.
1eb01cd2 12026
2d5fed60
RM
120272010-10-15 Robert Millan <rmh@gnu.org>
12028
12029 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12030 guarantee compressed ones are processed first.
12031
d0f4c1ea
VS
120322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12035 grub_efiemu_autocore.
12036
d87c681f
VS
120372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12040 rather than 0x1b.
12041 (grub_console_getkey): Use correct jae opcode rather than ja.
12042
219b3564
RM
120432010-10-12 Robert Millan <rmh@gnu.org>
12044
12045 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12046 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12047 variable. All references updated.
12048
12049 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12050
20c6bb7e
VS
120512010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 Correctly distinguish mdraid flavours.
12054
12055 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12056 (insert_array): New argument raid.
12057 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12058 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12059 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12060
74baff84
VS
120612010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12064 handling of special keys.
12065
3ef068df 120662010-10-02 Aleš Nesrsta <starous@volny.cz>
12067
c7980ad9
VS
12068 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12069 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12070
a9455194 120712010-10-02 Aleš Nesrsta <starous@volny.cz>
12072
c7980ad9
VS
12073 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12074 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12075 users updated.
a9455194 12076 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12077 Use right endpoint when querying descriptor.
a9455194 12078
441cfe65
VS
120792010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 Clear out 0x80 color bit on EFI.
12082 Tested by: decoder
12083 Reported by: decoder and meta tech.
12084
12085 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12086 (grub_console_setcolorstate): Clear out 0x80 bit.
12087 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12088 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12089 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12090
bf26bcc4
VS
120912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12094 Set to "auto".
12095
6e3c515d
VS
120962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12099 mo_file after freeing.
12100
e6d983ba
VS
121012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12104
74ccb5b5
VS
121052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12108 flags.
12109
17821956
VS
121102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12113 usage.
12114
ee74fa48
VS
121152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12118
12119 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12121 and terminfo.h when needed.
12122 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12123 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12124 (terminfo): Enable only on terminfokernel.
12125 (extcmd): Likewise.
12126 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12127 * include/grub/lib/arg.h: Likewise.
12128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12129 incorrect usage of ->.
12130
aa438e68
VS
121312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12132
12133 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
12134 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
12135
57994012
VS
121362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12137
12138 Fix coreboot compilation.
12139
12140 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12141 Take VBE info into account even if only text is supported.
12142 (fill_vbe_info): Take into account the case when only VGA text
12143 is supported.
12144 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
12145 on coreboot, multiboot and qemu.
12146
2a406611
VS
121472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
12150 debug messages.
12151 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
12152
d33613fc
VS
121532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12154
12155 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
12156 parameters.
12157
44a1b432
VS
121582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
12161 if they were BSD-style.
12162
edde54e6
VS
121632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/boot/i386/pc/lnxboot.S: Replace
12166 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
12167 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
12168
b65830fa
VS
121692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 Write embedding zone using Reed-Solomon.
12172
12173 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
12174 * grub-core/Makefile.am (rs_decoder.S): New target.
12175 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
12176 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
12177 (multiboot): Move to RS part.
12178 (post_reed_solomon): New label.
12179 (grub_boot_drive): Move to non-RS part since it's modified in memory
12180 on boot.
12181 Include rs_decoder.S.
12182 * grub-core/lib/reed_solomon.c: New file.
12183 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
12184 New definition.
12185 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
12186 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
12187 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
12188 * include/grub/partition.h (grub_partition_map): Change prototype of
12189 embed to allow returning additional sectors.
12190 * include/grub/reed_solomon.h: New file.
12191 * util/grub-setup.c (setup): Handle Reed-Solomon.
12192
0b4b227f
CW
121932010-09-28 Colin Watson <cjwatson@ubuntu.com>
12194
12195 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12196 i386 and x86-64 definedness tests.
12197
f772623b
YB
121982010-09-27 Yves Blusseau <blusseau@zetam.org>
12199
12200 Fix generation of kernel_syms.lst
12201
12202 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
12203 ASM_PREFIX
12204
8e57a6ca
RM
122052010-09-26 Robert Millan <rmh@gnu.org>
12206
12207 Support degraded ZFS arrays in "grub-probe -t device" resolution.
12208
12209 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
12210 the pool is an array of devices, iterate through it and return the
12211 first device that passes a stat() test (instead of blindly returning
12212 the first one).
12213
f9130836
RM
122142010-09-26 Robert Millan <rmh@gnu.org>
12215
12216 Build fixes for GNU/kFreeBSD.
12217
12218 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
12219 to programs that require ZFS conversion.
12220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
12221 kernels that don't have FLOPPY_MAJOR.
12222
96510faf
BC
122232010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12224
12225 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
12226
449333eb
BC
122272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
12228
12229 Fix grub-emu build.
12230
12231 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
12232 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
12233 mdraid09 and mdraid1x.
12234
e1fd1939
CW
122352010-09-24 Colin Watson <cjwatson@ubuntu.com>
12236
12237 Re-enable grub-extras.
12238
12239 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
12240 avoid confusing Automake. Run autogen only twice, once for the top
12241 level and once for grub-core. Add Makefile.util.def and
12242 Makefile.core.def from extra modules to the appropriate autogen
12243 invocations. If Makefile.common exists in an extra module, include
12244 it in both Makefile.util.am and grub-core/Makefile.core.am;
12245 similarly, include any Makefile.util.common file in Makefile.util.am
12246 and any Makefile.core.common file in grub-core/Makefile.core.am.
12247 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
12248 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
12249 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
12250 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
12251
12252 * gentpl.py (gvar_add): Turn GVARS into a set.
12253 (global_variable_initializers): Sort global variables on output.
12254 (vars_init): New function.
12255 (first_time): Likewise.
12256 (library): Ensure that non-global variable initialisations are
12257 emitted before the first time we emit code for a library block.
12258 Append to variables rather than setting them. Only emit
12259 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
12260 each conditional path.
12261 (program): installdir() emits an Autogen macro, so must be passed to
12262 var_add rather than gvar_add.
12263 (data): Likewise.
12264 (script): Likewise.
12265 (rules): New function, centralising handling for different target
12266 types. Set up Guile association lists for first_time and vars_init,
12267 and send most output to a diversion so that variable initialisations
12268 can be emitted first.
12269 (module_rules): Use new rules function.
12270 (kernel_rules): Likewise.
12271 (image_rules): Likewise.
12272 (library_rules): Likewise.
12273 (program_rules): Likewise.
12274 (script_rules): Likewise.
12275 (data_rules): Likewise.
12276
12277 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
12278
12279 * .bzrignore: Add contrib and grub-core/contrib. Remove
12280 grub-core/Makefile.gcry.am.
12281
1d12cf29
YB
122822010-09-24 Yves Blusseau <blusseau@zetam.org>
12283
12284 * grub-core/lib/LzFind.c: Add missing include.
12285 * grub-core/lib/LzmaEnc.c: Likewise.
12286 * grub-core/script/lexer.c: Likewise.
12287 * grub-core/script/yylex.l: Likewise.
12288 * util/grub-macho2img.c: Likewise.
12289 * util/grub-menulst2cfg.c: Likewise.
12290 * util/grub-mklayout.c: Likewise.
12291 * util/grub-mkpasswd-pbkdf2.c
12292 * util/grub-mkrelpath.c: Likewise.
12293 * util/resolve.c: Likewise.
12294
dd363028
BC
122952010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
12296
12297 * Makefile.util.def (example_unit_test): Add
12298 grub-core/gnulib/libgnu.a.
12299
f5a109e2
GS
123002010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
12301
12302 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
12303
6d0fa83c
VS
123042010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Support xz compression on yeeloong.
12307
12308 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
12309 * configure.ac: Check for LZMA.
12310 * grub-core/Makefile.core.def (xz_decompress): New target.
12311 (none_decompress): Likewise.
12312 * grub-core/boot/decompressor/minilib.c: New file.
12313 * grub-core/boot/decompressor/none.c: Likewise.
12314 * grub-core/boot/decompressor/xz.c: Likewise.
12315 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
12316 * grub-core/kern/mips/cache_flush.S: Likewise.
12317 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
12318 * grub-core/kern/mips/startup.S: Move first stage to ...
12319 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
12320 nomacro.
12321 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
12322 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
12323 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
12324 Allocate statically.
12325 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
12326 Allocate statically or use scratch. Don't check CRC32.
12327 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
12328 Allocate statically. Don't check CRC32.
12329 * include/grub/decompressor.h: New file.
12330 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
12331 Removed.
12332 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
12333 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
12334 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
12335 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
12336 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
12337 * util/grub-mkimage.c (grub_compression_t): New type.
12338 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
12339 (image_target_desc): New field default_compression.
12340 (image_targets): Adjust yeeloong targets.
12341 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
12342 (compress_kernel): New parameter comp.
12343 (generate_image): Likewise. Handle new compression case.
12344 (options): New option --compression
12345 (help): Likewise.
12346 (main): Handle new option.
12347
1b655af6
GS
123482010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
12349
12350 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
12351
8f03f0b5
CW
123522010-09-22 Colin Watson <cjwatson@ubuntu.com>
12353
12354 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
12355 typo in __i386__ conditional.
12356
7835dfd3
VS
123572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
12360 include.
12361
e255597e
VS
123622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
12363
6d0fa83c 12364 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
12365
12366 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
12367 new tags as supported.
12368 (acpiv2_size): New function.
12369 (grub_multiboot_get_mbi_size): Take new tags into account.
12370 (grub_multiboot_make_mbi): Add new tags.
12371 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 12372
6cc14051 123732010-09-21 Aleš Nesrsta <starous@volny.cz>
12374
12375 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
12376 Added missing configuration of USB device.
12377
df7769d8
CW
123782010-09-21 Colin Watson <cjwatson@ubuntu.com>
12379
12380 * grub-core/normal/menu_entry.c (run): Make sure we always return
12381 a value.
12382
b031012d
CW
123832010-09-21 Colin Watson <cjwatson@ubuntu.com>
12384
12385 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
12386 NumberOfPages is UINT64 according to the UEFI specification, not
12387 UINTN. Fix printf format.
12388
174de8f3
CW
123892010-09-21 Colin Watson <cjwatson@ubuntu.com>
12390
12391 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
12392 `err' to grub_usb_err_t.
12393 Reported and tested by: KESHAV P.R.
12394
d7dbe923
CW
123952010-09-21 Colin Watson <cjwatson@ubuntu.com>
12396
12397 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
12398 tpart non-const, so that we can assign to it. (Since this is a
12399 typedef, the constness refers to the pointer rather than what it
12400 points to.)
12401
8d5e2af3
CW
124022010-09-21 Colin Watson <cjwatson@ubuntu.com>
12403
12404 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
12405 $(top_srcdir)/grub-core/gnulib as well as
12406 $(top_builddir)/grub-core/gnulib.
12407 Reported by: KESHAV P.R.
12408
5c527783
CW
124092010-09-21 Colin Watson <cjwatson@ubuntu.com>
12410
12411 * util/grub-install.in: Fix the bootloader ID option to be
12412 consistently --bootloader-id, not --bootloader_id.
12413 Reported by: KESHAV P.R.
12414
d309a16e
CW
124152010-09-21 Colin Watson <cjwatson@ubuntu.com>
12416
12417 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
12418 check hash checksum." consistently translatable.
12419
b830cd16
YB
124202010-09-21 Yves Blusseau <blusseau@zetam.org>
12421
12422 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
12423 $(top_builddir).
12424
c4fe27a8
CW
124252010-09-21 Colin Watson <cjwatson@ubuntu.com>
12426
12427 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
12428 (GRUB_MOD_INIT): Register sha1sum command.
12429 (GRUB_MOD_FINI): Unregister sha1sum command.
12430
a4c1d277
YB
124312010-09-21 Yves Blusseau <blusseau@zetam.org>
12432
12433 Keep boot and grub directory names in sync with utils scripts
12434
12435 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
12436 * config.h.in: Add previous macros.
12437 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
12438 * util/grub-install.in: Use $bootdir and $grubdir variables.
12439
4eff79d2
CW
124402010-09-21 Colin Watson <cjwatson@ubuntu.com>
12441
12442 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
12443 convert partition names to disk names if the new `convert' parameter
12444 is set.
12445 (grub_util_biosdisk_get_grub_dev): If opening the disk device
12446 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
12447 disk in its own right. This can happen with Xen disk images.
12448
934d7e44
YB
124492010-09-21 Yves Blusseau <blusseau@zetam.org>
12450
12451 * util/grub-editenv.c: Update strings to avoid warnings when generating
12452 grub.pot file.
12453 * util/grub-setup.c: Likewise.
934d7e44 12454
df3367cc
VS
124552010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 * configure.ac: Change version to 1.99~beta0.
12458
77a94e98
VS
124592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12462 Add BADRAM.
12463 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
12464 Likewise.
12465 * include/multiboot.h: Resynced with specification.
12466 * include/multiboot2.h: Likewise.
12467
269004c1
CW
124682010-09-21 Colin Watson <cjwatson@ubuntu.com>
12469
12470 Fix po directory handling.
12471
12472 * configure.ac: Create po/Makefile.in rather than po/Makefile.
12473 * grub-core/gnulib/Makefile.am: Import gettext module.
12474 * m4/gnulib-cache.m4: Likewise.
12475 * m4/gnulib-comp.m4: Likewise.
12476 * m4/gettext.m4: New file, from gnulib.
12477 * m4/glibc2.m4: Likewise.
12478 * m4/iconv.m4: Likewise.
12479 * m4/intdiv0.m4: Likewise.
12480 * m4/intl.m4: Likewise.
12481 * m4/intldir.m4: Likewise.
12482 * m4/intlmacosx.m4: Likewise.
12483 * m4/intmax.m4: Likewise.
12484 * m4/inttypes-pri.m4: Likewise.
12485 * m4/lcmessage.m4: Likewise.
12486 * m4/lib-ld.m4: Likewise.
12487 * m4/lib-link.m4: Likewise.
12488 * m4/lib-prefix.m4: Likewise.
12489 * m4/lock.m4: Likewise.
12490 * m4/nls.m4: Likewise.
12491 * m4/po.m4: Likewise.
12492 * m4/printf-posix.m4: Likewise.
12493 * m4/progtest.m4: Likewise.
12494 * m4/threadlib.m4: Likewise.
12495 * m4/uintmax_t.m4: Likewise.
12496 * m4/visibility.m4: Likewise.
12497 * po/Makefile.am: Remove.
12498 * po/Makefile.in.in: New file, from gettext.
12499 ($(DOMAIN).pot-update): Support POTFILES-shell.
12500 * po/Makevars: New file.
12501 * po/POTFILES-shell: Rename to ...
12502 * po/POTFILES-shell.in: ... this. Update.
12503 * po/POTFILES: Rename to ...
12504 * po/POTFILES.in: ... this. Update.
12505 * po/Rules-quot: New file, from gettext.
12506 * po/boldquot.sed: Likewise.
12507 * po/en@boldquot.header: Likewise.
12508 * po/en@quot.header: Likewise.
12509 * po/insert-header.sin: Likewise.
12510 * po/quot.sed: Likewise.
12511 * po/remove-potcdate.sin: Likewise.
12512
3e0fa5d0
VS
125132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
12516
ade9bd66
VS
125172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * util/grub.d/20_linux_xen.in: Use submenus.
12520
fc55cc4c
VS
125212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12522
12523 Support submenus.
12524
12525 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
12526 parameter submenu. All users updated.
12527 * grub-core/normal/main.c (free_menu): Rename to ...
12528 (grub_normal_free_menu): ... this. Made global.
12529 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
12530 if requested.
12531 * grub-core/normal/menu_entry.c (screen): New field submenu.
12532 (make_screen): Set submenu.
12533 (run): Open new context if requested.
12534 * include/grub/menu.h (grub_menu_entry): New field submenu.
12535 * include/grub/normal.h (grub_normal_free_menu): New proto.
12536
600cedf7
VS
125372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 Menu entries extractor.
12540
12541 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
12542 variants.
12543 (GRUB_MOD_INIT): Register new variants.
12544 (GRUB_MOD_FINI): Unregister new variants.
12545 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
12546 into grub_cmd_legacy_source.
12547 (grub_cmd_legacy_source): Implement extractor variants.
12548 (GRUB_MOD_INIT): Register new variants.
12549 (GRUB_MOD_FINI): Unregister new variants.
12550 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
12551 as an extractor.
12552 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
12553 search as an extractor.
12554 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
12555 test as an extractor.
12556 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
12557 as an extractor.
12558 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
12559 (grub_env_new_context): New function.
12560 (grub_env_context_open): Likewise.
12561 (grub_env_extractor_open): Likewise.
12562 (grub_env_extractor_close): Likewise.
12563 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12564 grub_extractor_level.
12565 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
12566 * include/grub/env.h (grub_env_extractor_open): New proto.
12567 (grub_env_extractor_close): Likewise.
12568 * include/grub/normal.h (grub_extractor_level): New external variable.
12569
7bda3a87
VS
125702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 Make cutmem accept a region specification.
12573 Suggested by: Samuel Thibault
12574
12575 * grub-core/mmap/mmap.c (parsemem): New function.
12576 (grub_cmd_cutmem): Handle new arguments.
12577
2ea57f88
VS
125782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 New command cutmem.
12581
12582 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
12583 (GRUB_MOD_INIT): Register new command.
12584 (GRUB_MOD_FINI): Unregister new command.
12585
74342e31
VS
125862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 Support some annoying BSD and Minix subpartitions.
12589
12590 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
12591 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
12592 Properly handle concatenation.
12593 * grub-core/kern/device.c (grub_device_iterate): Likewise.
12594 * grub-core/normal/completion.c (iterate_partition): Likewise.
12595 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
12596 contain partition. All users updated.
12597 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
12598 struct.
12599 (grub_openbsdlabel_partition_map): Likewise.
12600 (bsdlabel_partition_map_iterate): Rename to ..
12601 (iterate_real): ... this. New arguments sector, freebsd and pmap.
12602 (bsdlabel_partition_map_iterate): New function.
12603 (netopenbsdlabel_partition_map_iterate): Likewise.
12604 (netbsdlabel_partition_map_iterate): Likewise.
12605 (openbsdlabel_partition_map_iterate): Likewise.
12606 (GRUB_MOD_INIT): Register new partmaps.
12607 (GRUB_MOD_FINI): Unregister new partmaps.
12608 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
12609 (grub_partition_msdos_iterate): ... this. All users updated.
12610 Don't support embedding other than in a minix partition.
12611 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
12612 proto.
12613 * include/grub/partition.h (grub_partition): New field msdostype.
12614 * util/grub-install.in: Handle openbsd and netbsd types being in
12615 part_bsd module.
12616
1e8d555b
VS
126172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
12620
12621 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
12622 * grub-core/Makefile.core.def (mdraid): Renamed to ...
12623 (mdraid09): ... this.
12624 (mdraid1x): New module.
12625 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
12626 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
12627
899d8af4
VS
126282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
12631 vsprintf.
12632
40901acd
CW
126332010-09-20 Colin Watson <cjwatson@ubuntu.com>
12634
12635 * grub-core/commands/efi/lsefimmap.c: Correct header.
12636 * NEWS: Update.
12637
dfe3b247
CW
126382010-09-20 Colin Watson <cjwatson@ubuntu.com>
12639
12640 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12641 as printf format strings; the translations might contain '%' which
12642 could cause a crash.
12643 (main): Likewise.
12644 * util/grub-fstest.c (argp_parser): Likewise.
12645 * util/grub-setup.c (argp_parser): Likewise.
12646 (main): Likewise.
12647
3286a4b4
VS
126482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 Use argp in grub-fstest.
12651
12652 * util/grub-fstest.c: Don't include getopt.h.
12653 Include argp.h.
12654 (root): New variable.
12655 (args_count): Likewise.
12656 (nparm): Likewise.
12657 (num_disks): Likewise.
12658 (images): Likewise.
12659 (cmd): Likewise.
12660 (debug_str): Likewise.
12661 (args): Likewise.
12662 (options): Transformed to argp.
12663 (usage): Removed.
12664 (main): Split argument parsing into ...
12665 (argp_parser): ... this. Changed to argp format.
12666 (argp): New variable.
12667 (main): Use argp_parse.
12668
3dccbe4b
TG
126692010-09-20 Tristan Gingold <gingold@free.fr>
126702010-09-20 Robert Millan <rmh.grub@aybabtu.com>
126712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * grub-core/commands/efi/lsefimmap.c: New file.
12674 * grub-core/Makefile.core.def (lsefimmap): New module.
12675 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12676
38c259a7
VS
126772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Pause the execution (10s max) if any errors are displayed so the user
12680 has a chance to see them.
12681
12682 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12683 (grub_print_error): Increment grub_err_printed_errors.
12684 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12685 execution if any errors were displayed.
12686 (show_menu): Remove old code for pause.
12687 * grub-core/normal/menu_entry.c (run): Likewise.
12688 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12689 users updated.
12690 (grub_normal_get_char_counter): Likewise.
12691 * include/grub/err.h (grub_err_printed_errors): New external variable.
12692 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12693
f218b09c
VS
126942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 Support multiboot VBE info.
12697
12698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12699 Take VBE info into account.
12700 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12701 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12702 Call fill_vbe_info when appropriate.
12703 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12704 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12705 as supported.
12706 (grub_multiboot_get_mbi_size): Take new tags into account.
12707 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12708 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12709 Call fill_vbe_tag when appropriate.
12710 (grub_multiboot_make_mbi): Properly align tags.
12711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12712 function.
12713 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12714 proto.
12715 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12716
a9cc5438
VS
127172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 Suport manual terminal geometry specification.
12720
12721 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12722 Save state in grub_ofconsole_terminfo_output.
12723 (grub_ofconsole_term): Use grub_terminfo_getwh.
12724 (grub_ofconsole_getwh): Removed.
12725 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12726 (grub_serial_term): Use grub_terminfo_getwh.
12727 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12728 (options): New struct.
12729 (OPTION_*): New enum.
12730 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12731 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12732 width and height.
12733 (grub_terminfo_getwh): New proto.
12734 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12735
1a8fed20
VS
127362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Handle legacy "terminal" command.
12739
12740 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12741 and FLAG_TERMINAL.
12742 (legacy_commands): Add terminal and title.
12743 (grub_legacy_parse): Handle terminal. Simplify title handling.
12744
41e9c57d
VS
127452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12748 parameters overflow.
12749
61c874c5
CW
127502010-09-20 Colin Watson <cjwatson@ubuntu.com>
12751
12752 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12753 widthspec.h.
12754
12755 * docs/grub.texi (Shell-like scripting): Document `!'.
12756 (Network): Simplify using new i386-pc-pxe format. Mention
12757 grub-mknetdir.
12758
12759 * NEWS: Update.
12760
943682b4
CW
127612010-09-20 Colin Watson <cjwatson@ubuntu.com>
12762
12763 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12764 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12765 when needed.
12766
6d3d698d
CW
127672010-09-20 Colin Watson <cjwatson@ubuntu.com>
12768
12769 * grub-core/commands/efi/lsefisystab.c: Correct header.
12770 * grub-core/commands/efi/lssal.c: Likewise.
12771 * grub-core/commands/testload.c: Likewise.
12772
c982589f
CW
127732010-09-20 Colin Watson <cjwatson@ubuntu.com>
12774
12775 * util/grub-mkrescue.in: Add explicit root argument to --set to
12776 prevent the UUID being interpreted as an argument to --set (matches
12777 previous change to prepare_grub_to_access_device).
12778
a63c31b6
CW
127792010-09-20 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12782 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12783 the verbosity of later #ifs.
12784 (find_partition_start): Define this function on FreeBSD too.
12785 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12786 function.
12787 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12788 on FreeBSD.
12789
6439b8ee
YB
127902010-09-20 Yves Blusseau <blusseau@zetam.org>
12791
12792 * util/grub-editenv.c: Use argp instead of getopt.
12793
c5930ec8
YB
127942010-09-20 Yves Blusseau <blusseau@zetam.org>
12795
12796 * util/grub-setup.c: Use argp instead of getopt.
12797
15c69261
YB
127982010-09-20 Yves Blusseau <blusseau@zetam.org>
12799
12800 Use gnulib-tool to create gnulib source files.
12801
12802 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12803 grub-core/gnulib directories
12804 * .bzignore: Add **/.deps and autogenerated gnulib files
12805 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12806 of gnulib macros, add grub-core/gnulib/Makefile
12807 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12808 include m4 directory to aclocal.
12809 * Makefile.util.def: Remove direct compilation of gnulib source files
12810 and use the new grub-core/gnulib/libgnu.a.
12811 * build-aux/config.rpath: move config.rpath from top directory to
12812 build-aux
12813 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12814 in gnulib headers
12815 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12816 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12817 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12818 header.
12819 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12820 string.
12821
e511c9f5
YB
128222010-09-20 Yves Blusseau <blusseau@zetam.org>
12823
12824 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12825 grub-core/genmod.sh and grub-core/gensyminfo.sh
12826
c2dede05
BC
128272010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12828
12829 Add a test for echo command options.
12830
12831 * tests/grub_cmd_echo.in: New test.
12832 * Makefile.util.def: Rules for new test.
12833
c55f5018
SJ
128342010-09-20 Szymon Janc <szymon@janc.net.pl>
12835
12836 Remove crc.mod and move crc command to hashsum.mod.
12837 Remove lib/crc.c - users updated to use gcrypt implementation.
12838
12839 * grub-core/commands/crc.c: Removed.
12840 * grub-core/Makefile.core.def (crc): Module removed.
12841 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12842 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12843 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12844 * grub-core/lib/crc.c: Removed.
12845 * include/grub/lib/crc.h: Removed.
12846 * Makefile.util.def (crc): Remove lib/crc.c
12847 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12848 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12849 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12850 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12851 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12852 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12853
e0337366
VS
128542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12857
742f9232
VS
128582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 Split config.h for util and core.
12861
12862 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12863 (ADDR32): Likewise.
12864 (DATA32): Likewise.
12865 (BSS_START_SYMBOL): Likewise.
12866 (END_SYMBOL): Likewise.
12867 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12868 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12869 * config.h.in: New file.
12870 * configure.ac: Use config-util.h as config define file.
12871 Rename MACHINE into GRUB_MACHINE. All users updated.
12872 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12873 updated.
12874 (NESTED_FUNC_ATTR): Likewise.
12875 Substitue new variables.
12876 (COND_HAVE_ASM_USCORE): New conditional.
12877 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12878 (kernel_syms.lst): Use ASM_PREFIX.
12879 * grub-core/kern/emu/console.c: Include config-util.h.
12880 * grub-core/kern/emu/misc.c: Likewise.
12881 * grub-core/kern/emu/mm.c: Likewise.
12882 * include/grub/emu/misc.h: Likewise.
12883 * include/grub/libgcc.h: Likewise.
12884
39feb0e8
VS
128852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12888 constants usage.
12889 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12890 Fix GRUB_TERM_KEY_* constants usage.
12891 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12892
9af6dac3
VS
128932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12896 print pointer.
12897 * grub-core/bus/usb/uhci.c: Remove empty define.
12898 (grub_uhci_check_transfer): Add missing cast.
12899 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12900 print pointer.
12901 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12902 PRIuGRUB_SIZE.
12903 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12904
d6d94820
VS
129052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/Makefile.core.def (legacycfg): Add
12908 lib/i386/pc/vesa_modes_table.c on emu.
12909
3572f2b6
BC
129102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12911
12912 Reduce number of temporary files generated by build system.
12913
12914 * grub-core/gencmdlist.sh: Removed.
12915 * grub-core/genfslist.sh: Removed.
12916 * grub-core/genhandlerlist.sh: Removed.
12917 * grub-core/genmodsrc.sh: Removed.
12918 * grub-core/genpartmaplist.sh: Removed.
12919 * grub-core/genparttoollist.sh: Removed.
12920 * grub-core/gentermiinallist.sh: Removed.
12921 * grub-core/genvideolist.sh: Removed.
12922
12923 * grub-core/genmod.sh.in: New file.
12924 * grub-core/gensyminfo.sh.in: New file.
12925
12926 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12927 * conf/Makefile.extra-dist: Update with new files.
12928 * gentpl.py: Remove rules related to unnecessary temporary files.
12929 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12930 and und-* files.
12931 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12932 genmod.sh scripts.
12933 * grub-core/bus/usb/uhci.c: Remove empty #define.
12934 * grub-core/genmoddep.awk: Updated with new syminfo format.
12935 * util/bash-completion.d/Makefile.am: Add config.log to
12936 CLEANFILES.
12937
c836b030
YB
129382010-09-19 Yves Blusseau <blusseau@zetam.org>
12939
12940 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12941
2f4e8053
BC
129422010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12943
12944 * util/grub-mkconfig.in: Check the config script for syntax errors
12945 before saving.
12946
75831c34
CW
129472010-09-19 Colin Watson <cjwatson@ubuntu.com>
129482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12951 platforms.
12952 * util/grub-install.in: Add EFI and IEEE1275 support.
12953 * util/i386/efi/grub-install.in: Removed.
12954 * util/ieee1275/grub-install.in: Likewise.
12955
eaf41b25
VS
129562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12957
12958 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12959 (grub_cmd_cmosclean): Likewise.
12960 (GRUB_MOD_INIT): Register command cmosclean.
12961 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12962 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12963
1a9130dd
CPE
129642010-09-18 Carles Pina i Estany <carles@pina.cat>
129652010-09-18 Aleš Nesrsta <starous@volny.cz>
129662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 Add keyboard layouts support.
12969
12970 * Makefile.util.def (grub-mklayout): New file.
12971 (grub-kbdcomp): New script.
12972 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12973 Add keyboard_layouts.h.
12974 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12975 commands/boot.c on yeeloong.
12976 (keylayouts): New module.
12977 * grub-core/bus/usb/ohci.c
12978 * grub-core/bus/usb/uhci.c
12979 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12980 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12981 (attach_root_port): Likewise.
12982 (poll_nonroot_hub): Likewise.
12983 (grub_usb_poll_devices): Likewise.
12984 (detach_device): Close transfer.
12985 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12986 function.
12987 (grub_usb_bulk_setup_readwrite): Likewise.
12988 (grub_usb_bulk_finish_readwrite): Likewise.
12989 * grub-core/commands/keylayouts.c: New file.
12990 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12991 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12992 aliases.
12993 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12994 support scancode 2.
12995 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12996 * include/grub/keyboard_layouts.h: New file.
12997 * util/grub-mklayout.c: New file.
12998 * util/grub-kbdcomp.in: Likewise.
12999
a1d84a5e
VS
130002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 Unify memory types.
13003
13004 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13005 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13006 types.
13007 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13008 (grub_upper_mem): Likewise.
13009 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13010 * include/grub/memory.h (grub_memory_type_t): New enum.
13011 All users updated.
13012
9696382e
VS
130132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/Makefile.core.def (lsapm): New module.
13016 * grub-core/commands/i386/pc/lsapm.c: New file.
13017 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13018 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13019 Likewise.
13020 * include/grub/i386/pc/apm.h: New file.
13021 * include/multiboot.h (multiboot_apm_info): New struct.
13022
130232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 GRUB-legacy configuration file support.
13026
13027 * Makefile.util.def (grub-menulst2cfg): New util.
13028 * docs/man/grub-menulst2cfg.h2m: New file.
13029 * grub-core/Makefile.core.def (legacycfg): New module.
13030 * grub-core/commands/legacycfg.c: New file.
13031 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13032 (grub_normal_add_menu_entry): ... this.
13033 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13034 (grub_normal_set_password): ...this.
13035 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13036 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13037 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13038 * grub-core/lib/legacy_parse.c: New file.
13039 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13040 * include/grub/i386/pc/vesa_modes_table.h: New file.
13041 * include/grub/legacy_parse.h: Likewise.
13042 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13043 * util/grub-menulst2cfg.c: New file.
13044
bf8d1338
CW
130452010-09-17 Colin Watson <cjwatson@ubuntu.com>
13046
13047 * grub-core/kern/emu/hostdisk.c
13048 (convert_system_partition_to_system_disk): Initialise node.
13049
9c0bad2e
CW
130502010-09-17 Colin Watson <cjwatson@ubuntu.com>
13051
13052 * grub-core/kern/emu/hostdisk.c
13053 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13054 leak.
13055 Reported and based on patch by: Modestas Vainius.
13056
a939d135
CW
130572010-09-17 Colin Watson <cjwatson@ubuntu.com>
13058
13059 Fix DM-RAID probing with recent versions of device-mapper udev
13060 rules.
13061
13062 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13063 canonicalise device paths under /dev/mapper/.
13064 (convert_system_partition_to_system_disk): Compare the
13065 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13066 path, since device nodes under /dev/mapper/ are often symlinks.
13067
0f7ee3c9
YB
130682010-09-17 Yves Blusseau <blusseau@zetam.org>
13069
13070 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13071
10854d0d
YB
130722010-09-16 Yves Blusseau <blusseau@zetam.org>
13073
13074 * configure.ac: Avoid some annoying error messages if freetype-config
13075 program is not found.
13076
108538d8
CW
130772010-09-16 Colin Watson <cjwatson@ubuntu.com>
13078
13079 Support RAID on virtio devices, and others.
13080
13081 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13082 Rename to ...
13083 [__MINGW32__] (grub_find_device): ... this.
13084 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13085 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13086 reasonable default if dir is NULL.
13087 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13088 ...
13089 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13090 (grub_guess_root_device): Update callers.
13091 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13092
13093 * util/raid.c (grub_util_getdiskname): Remove.
13094 (grub_util_raid_getmembers): Use grub_find_device rather than
13095 grub_util_getdiskname.
13096
e5bfc130
CW
130972010-09-16 Colin Watson <cjwatson@ubuntu.com>
13098
13099 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13100 needing to be compiled with serial support.
13101 (ls): Indicate that multiple files are accepted.
13102 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13103 indicate that multiple files are accepted.
13104
be458ae2
CW
131052010-09-16 Colin Watson <cjwatson@ubuntu.com>
13106
13107 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13108 libgrub_a_init.c, and util/bash-completion.d/grub.
13109
cb731b5e
VS
131102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * util/grub-setup.c (setup): Fix incorrect container semantics.
13113
35139e8a
VS
131142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13117 misusage.
13118 Reported by: J. Nick Terry
13119
e50fca4a
VS
131202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 Move embedding routines to partmap sources files.
13123
13124 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13125 [GRUB_UTIL]: New variable.
13126 (gpt_partition_map_iterate): Set part.parent.
13127 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13128 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13129 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
13130 New function.
13131 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
13132 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
13133 (grub_partition_map) [GRUB_UTIL]: New field embed.
13134 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
13135 (setup): Use ->embed.
13136
f00478b7
VS
131372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
13140 function.
13141 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
13142 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
13143
2b94e3ff
YB
131442010-09-15 Yves Blusseau <blusseau@zetam.org>
13145
13146 Add function to get completions from usage.
13147
13148 * util/bash-completion.d/grub-completion.bash.in: Add function to get
13149 completions from usage. Use LC_ALL=C to get options properly.
13150
2e04a006
VS
131512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/gnulib/basename-lgpl.c: Imported.
13154 * grub-core/gnulib/basename.c: Likewise.
13155 * grub-core/gnulib/dirname-lgpl.c: Likewise.
13156 * grub-core/gnulib/dirname.c: Likewise.
13157 * grub-core/gnulib/dirname.h: Likewise.
13158 * grub-core/gnulib/stripslash.c: Likewise.
13159
5dcdf93a
VS
131602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * grub-core/gnulib/error.c: Resynced.
13163 * grub-core/gnulib/getopt.c: Likewise.
13164 * grub-core/gnulib/getopt_int.h: Likewise.
13165 * grub-core/gnulib/regex.h: Likewise.
13166 * grub-core/gnulib/regex_internal.c: Likewise.
13167 * grub-core/gnulib/regex_internal.h: Likewise.
13168
014f47b7
SJ
131692010-09-15 Szymon Janc <szymon@janc.net.pl>
13170
13171 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
13172 CRC calculations and validity checks.
13173 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
13174 calculations.
13175
dd521a4a
SJ
131762010-09-15 Szymon Janc <szymon@janc.net.pl>
13177
13178 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
13179
79c4eeb9
VS
131802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 Fix incorrect echo options handling.
13183 Reported by: Yves Blusseau.
13184
13185 * include/grub/command.h (grub_command_flags_t): New flags
13186 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
13187 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
13188 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
13189
ed80f7d5
VS
131902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
13193 users updated.
13194 (GRUB_COMMAND_FLAG_MENU): Likewise.
13195 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13196 (GRUB_COMMAND_FLAG_TITLE): Removed.
13197 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13198 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
13199 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
13200 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
13201 (grub_command_flags_t): New enum. All users updated.
13202
5fe7620a
SG
132032010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
13204
13205 Fix solaris compilation.
13206
13207 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
13208 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
13209 (grub-emu-list): Likewise.
13210
545b752f
VS
132112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 Remove deprecated root command.
13214
13215 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
13216 updated.
13217
6c1a338c
VS
132182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/i386/pc/grub-setup.c: Merge this ...
13221 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
13222 * util/grub-setup.c: ... into this.
13223 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
13224 New struct.
13225
132262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
13229 possible.
13230
d2ea4551
VS
132312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
13234 allocate p.
13235
3c3b5040
VS
132362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13239 explicit root argument to set to prevent UUID to be interpreted as
13240 argument to set.
13241
b71c3fae
VS
132422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
13245
275433e6
VS
132462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 Don't export grub_gate_a20.
13249
13250 * grub-core/kern/i386/pc/init.c: Remove leftovers.
13251 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
13252 to ...
13253 (grub_gate_a20): ... this. All users updated.
13254 * include/grub/i386/pc/init.h: Removed. All users updated.
13255
a5dbb1f1
VS
132562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 Create euro.pf2 which supports most European languages.
13259
13260 * Makefile.am (grubdata_DATA): Add euro.pf2.
13261 (euro.pf2): New target.
13262 (CLEANFILES): Add euro.pf2.
13263
62a747cb
VS
132642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * configure.ac: Disable emu-usb by default to prevent inadvertent
13267 device takeover.
13268
608e43b1
VS
132692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 Disable usbserial on grub-emu since our libusb code isn't good enough
13272 yet.
13273
13274 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
13275 (usbserial_pl2303): Likewise.
13276 (usbserial_ftdi): Likewise.
13277
94564f81
VS
132782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * include/grub/disk.h (grub_disk): Remove has_partitions.
13281 All users updated.
13282 * disk/loopback.c (grub_loopback): Remove has_partitions.
13283 All users updated.
13284 (options): Remove partitions. All users updated.
13285 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
13286 * util/i386/pc/grub-setup.c (setup): copy partition table only when
13287 actual partition table is found.
13288
3352800b
VS
132892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 Remove readability checks (too many false negatives).
13292
13293 * util/grub-install.in: Remove readability checks.
13294 * util/grub-mkconfig.in: Likewise.
13295 * util/grub.d/10_hurd.in: Likewise.
13296 * util/grub.d/10_kfreebsd.in: Likewise.
13297 * util/grub.d/10_linux.in: Likewise.
13298 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
13299 way.
13300
2419f17a
VS
133012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 Enable acpi shutdown on all ACPI platforms.
13304
13305 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
13306 on coreboo, multiboot and EFI.
13307 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
13308 (grub_acpi_halt): Likewise.
13309 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
13310 (grub_cmd_halt): Don't call grub_acpi_halt directly.
13311 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
13312 * grub-core/lib/i386/halt.c (grub_halt)
13313 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
13314
0575c7c3
VS
133152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
13318 context.
13319
54ac3cd1
VS
133202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/video/efi_gop.c: Fix over-80-chars line.
13323 * grub-core/video/efi_uga.c: Likewise.
13324
b2a30ac5
VS
133252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 Filter devaliases and never open same device twice.
13328
13329 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
13330 (last_ihandle): Likewise.
13331 (ofdisk_hash_ent): New member shortest.
13332 (ofdisk_hash_add): Add canonical path too.
13333 (scan): New function.
13334 (grub_ofdisk_iterate): Iterate over hashed entries.
13335 (compute_dev_path): Don't add :0.
13336 (grub_ofdisk_open): Don't really open the disk.
13337 (grub_ofdisk_close): Avoid closing unrelated disk.
13338 (grub_ofdisk_read): Implement reopen logic.
13339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
13340 New function.
13341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
13342 New proto.
13343
fb53b340
VS
133442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 Fix sparc64.
13347
13348 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
13349 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
13350 right address. Add sparc64_ieee1275_ldflags.
13351 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
13352 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
13353 to grub_host_to_target_addr
13354 (load_image): Likewise.
13355
f452b040
VS
133562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/normal/completion.c (complete_file): Handle device
13359 containing slash.
13360 Fix based on patch by Doug Nazar.
13361
9b5b2541
VS
133622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 grub-mknetdir script.
13365
13366 * Makefile.util.def (grub-mknetdir): New module.
13367 * tests/util/grub-shell.in: Support boot=net
13368 * util/grub-mknetdir.in: New file.
13369
9d2be652
VS
133702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 videoinfo on non-vbe.
13373
13374 * grub-core/Makefile.core.def (vbeinfo): Removed.
13375 (vbetest): Removed.
13376 (videoinfo): New module.
13377 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
13378 * grub-core/commands/i386/pc/vbetest.c: Removed.
13379 * grub-core/commands/videoinfo.c: New file.
13380 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
13381 specification.
13382 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
13383 as vbetest.
13384 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
13385 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
13386 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
13387 mode_number. New parameter mode. All users updated.
13388 (grub_video_gop_iterate): New function.
13389 (grub_video_efi_gop): New member iterate.
13390 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
13391 (grub_vbe_set_video_mode): Remove setting useless fields.
13392 (vbe2videoinfo): New function.
13393 (grub_video_vbe_iterate): Likewise.
13394 (grub_video_vbe_setup): Use vbe2videoinfo.
13395 (grub_video_vbe_print_adapter_specific_info): New function.
13396 (grub_video_vbe_adapter): New fields iterate and
13397 print_adapter_specific_info.
13398 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
13399 All users updated.
13400 (grub_video_mode_info): New field mode_number.
13401 (grub_video_adapter): New fields iterate and
13402 print_adapter_specific_info.
13403
179503f5
TG
134042010-09-13 Tristan Gingold <gingold@free.fr>
134052010-09-13 Robert Millan <rmh.grub@aybabtu.com>
134062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13407
13408 * grub-core/commands/efi/lsefisystab.c: New file.
13409 * grub-core/commands/efi/lssal.c: Likewise.
13410 * grub-core/Makefile.core.def (lsacpi): New module.
13411 (lsefisystab): Likewise.
13412 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
13413 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
13414 (grub_efi_sal_system_table): New struct.
13415 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13416 (grub_efi_sal_system_table_memory_descriptor): Likewise.
13417 (grub_efi_sal_system_table_platform_features): Likewise.
13418 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
13419 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
13420 (grub_efi_sal_system_table_ap_wakeup): Likewise.
13421 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
13422
cf9827de
VS
134232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 Support explicit user claim that a device is BIOS-visible.
13426
13427 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
13428 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
13429 * grub-core/kern/emu/hostdisk.c
13430 (convert_system_partition_to_system_disk): Support mdX.
13431 (find_system_device): New parameter add. All users updated.
13432 (grub_util_biosdisk_is_present): New function.
13433 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
13434 proto.
13435
53f0eb1f
VS
134362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Search hints support.
13439
13440 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
13441 All users updated.
13442
b23ffd70
YB
134432010-09-13 Yves Blusseau <blusseau@zetam.org>
13444
13445 Bash completion script for util commands
13446
13447 * Makefile.am: Add util/bash-completion.d directory
13448 * configure.ac: Likewise.
13449 * util/bash-completion.d/Makefile.am: New file.
13450 * util/bash-completion.d/grub-completion.bash.in: Likewise.
13451
d547dc28
VS
134522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
13455 (print_backlog): set backlog_ucs4 and backlog_glyphs.
13456 Reported by: Yves Blusseau.
13457
2fc8ccb9
VS
134582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
13461 partition size and offset.
13462
d8a84076
VS
134632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
13466
84fb3b3d
VS
134672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
13470
768ec2e2
VS
134712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13472
13473 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
13474 (grub_xvasprintf): Likewise.
13475
4870900f
VS
134762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
13479
faca6bec
VS
134802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
13483 args ending with NULL.
13484
134852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
13486
13487 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
13488 pointer.
13489
3c70f225
SJ
134902010-09-11 Szymon Janc <szymon@janc.net.pl>
13491
13492 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
13493
4df7996d
VS
134942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Shutdown using ACPI.
13497
13498 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
13499 * grub-core/commands/acpihalt.c: New file.
13500 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
13501 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
13502 (grub_acpi_halt): New proto.
13503 (GRUB_ACPI_SLP_EN): New const.
13504 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
13505 (GRUB_ACPI_OPCODE_*): New enum.
13506 (GRUB_ACPI_EXTOPCODE_*): Likewise.
13507
126b4c32
TG
135082010-09-11 Tristan Gingold <gingold@free.fr>
135092010-09-11 Robert Millan <rmh.grub@aybabtu.com>
135102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * commands/lsacpi.c: New file.
13513 * grub-core/Makefile.core.def (lsacpi): New module.
13514 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
13515 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
13516 (grub_acpi_madt_entry_header): New struct.
13517 (grub_acpi_madt): Likewise.
13518 (grub_acpi_madt_entry_interrupt_override): Likewise.
13519 (grub_acpi_madt_entry_sapic): Likewise.
13520 (grub_acpi_madt_entry_lsapic): Likewise.
13521 (grub_acpi_madt_entry_platform_int_source): Likewise.
13522 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
13523 (PRIuGRUB_UINT32_T): Likewise.
13524 (PRIxGRUB_UINT64_T): Likewise.
13525
1aa4fe88
VS
135262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 Implement loading palette on ieee1275_fb.
13529
13530 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
13531 (have_setcolors): Likewise.
13532 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
13533 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
13534 (grub_video_ieee1275_set_palette): Implement.
13535
25761e13
VS
135362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
135372010-09-11 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * util/grub-install.in (grub_partition): New variable.
13540 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
13541 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
13542 Fixes a bug reported by Yves Blusseau.
13543
050abaea
VS
135442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 Fix emu on mipsel.
13547
13548 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
13549 =grub_cpu_flush_cache on all mips and not only yeeloong.
13550 * configure.ac (COND_mips): New conditional.
13551 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
13552 platforms.
13553 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
13554 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
13555 [GRUB_LINKER_HAVE_INIT]: New function.
13556 (grub_emu_post_init): Likewise.
13557 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
13558 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
13559 * include/grub/cache.h (_mips): Include mips/cache.h.
13560 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
13561 LVM and RAID prototypes.
13562 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
13563 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
13564 function.
13565
5ed7d816
CW
135662010-09-10 Colin Watson <cjwatson@ubuntu.com>
13567
13568 * util/grub-install.in: Don't try to verify core.img until after
13569 running grub-mkimage to create it.
13570
90367e04
RM
135712010-09-10 Robert Millan <rmh@gnu.org>
13572
13573 * util/grub.d/10_hurd.in: Add misc readability checks.
13574 * util/grub.d/10_kfreebsd.in: Likewise.
13575 * util/grub.d/10_linux.in: Likewise.
13576
c452fa66
CW
135772010-09-10 Colin Watson <cjwatson@ubuntu.com>
13578
13579 * util/grub-install.in: ${imgext} won't be defined here until the
13580 install branch is merged. For the meantime, only verify core.img on
13581 i386-pc and sparc64-ieee1275 platforms.
13582
c38fe9f4
RM
135832010-09-10 Robert Millan <rmh@gnu.org>
13584
13585 Solaris support in grub_find_zpool_from_dir(). Thanks
13586 Seth Goldberg for referring to getextmntent() facility.
13587
13588 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
13589 `sys/mkdev.h'.
13590 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
13591 `<sys/mnttab.h>'.
13592 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
13593 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
13594 method for finding zpool name.
13595
905f7773
CW
135962010-09-10 Colin Watson <cjwatson@ubuntu.com>
13597
13598 grub-fstest needs the host and hostfs modules while other utilities
13599 actively require those modules to be absent, so grub-fstest needs
13600 its own initialisation and finalisation code.
13601
13602 * Makefile.am (grub_fstest.pp): New target.
13603 (grub_fstest_init.lst): Likewise.
13604 (grub_fstest_init.c): Likewise.
13605 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
13606
fb90b546
RM
136072010-09-10 Robert Millan <rmh@gnu.org>
13608
13609 * configure.ac: Check for `struct statfs.f_fstypename' and
13610 `struct statfs.f_mntfromname'.
13611
13612 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
13613 kFreeBSD-specific code.
13614
66d4bea5
RM
136152010-09-10 Robert Millan <rmh@gnu.org>
13616
13617 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
13618 on ZFS. Now non-main filesystems are supported as / too.
13619
b6a690ee
CW
136202010-09-09 Colin Watson <cjwatson@ubuntu.com>
13621
13622 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
13623 and grub-core/disk/host.c to ...
13624 (grub-fstest): ... here. Having the host disk implementation
13625 present confuses grub-probe and other utility programs.
13626
13627 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
13628 when writing to a file, not when writing to stdout.
13629
8901b00c 136302010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
13631
13632 * tests/partmap_test.in: New test for partitions.
13633 * Makefile.util.def: Rules for new test.
13634
7bf45fdd
RM
136352010-09-09 Robert Millan <rmh@gnu.org>
13636
13637 * util/grub-probe.c (probe): Fix a pair of unhandled error
13638 conditions.
13639
4dfbc574
RM
136402010-09-09 Robert Millan <rmh@gnu.org>
13641
13642 Basic Btrfs support (detection and UUID).
13643
13644 * grub-core/fs/btrfs.c: New file.
13645 * Makefile.util.def (library): Register btrfs.c.
13646 * grub-core/Makefile.core.def: Likewise.
13647
6b8e78ae
RM
136482010-09-08 Robert Millan <rmh@gnu.org>
13649
13650 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13651 with (optional) parameters to specify device and relative path.
13652 * util/grub-install.in: Use is_path_readable_by_grub() to
13653 verify readability of a few critical files.
13654 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13655 verify readability of grub.cfg.new.
13656
27f21a8b
VS
136572010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Split minix.mod into minix.mod and minix2.mod.
13660
13661 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13662 * grub-core/Makefile.core.def (minix2): New module.
13663 * grub-core/fs/minix.c: Use definitions instead of runtime version
13664 checking.
13665 * grub-core/fs/minix2.c: New file.
13666
c0e53ea5
YB
136672010-09-08 Yves Blusseau <blusseau@zetam.org>
13668
13669 Add new --boot-directory option to replace --root-directory
13670
13671 * util/grub-install.in: Add new --boot-directory option
13672 * util/grub-reboot.in: Likewise.
13673 * util/grub-set-default.in: Likewise.
13674
b9fe6ea2
YB
136752010-09-08 Yves Blusseau <blusseau@zetam.org>
13676
13677 * util/grub-mkconfig.in: Use new variable.
13678
d87aedff
YB
136792010-09-08 Yves Blusseau <blusseau@zetam.org>
13680
13681 * configure.ac: Define some useful variables.
13682
e55e8495
VS
136832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13686 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13687 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13688 Use terminfo and don't use cursor-on/cursor-off unless it's known
13689 to work.
13690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13691 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13692
6fa6d675
CW
136932010-09-08 Colin Watson <cjwatson@ubuntu.com>
13694
13695 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13696 starts with "(,", fill the drive containing the loaded image in
13697 between those two characters, but expect that a full partition
13698 specification including partition map names will follow.
13699
92f2aef0
RM
137002010-09-08 Robert Millan <rmh@gnu.org>
13701
13702 * configure.ac: Remove `--enable-grub-fstest' option.
13703 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13704
13705 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13706 `grub-fstest' instead of `grub-probe' for readability verification.
13707 * util/grub-probe.c (probe): Remove readability verification kludge.
13708
99fd620d
RM
137092010-09-08 Robert Millan <rmh@gnu.org>
13710
13711 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13712 initializing `GRUB_FS'.
13713
058e30ac 137142010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13715
13716 Not command (!) support to GRUB script.
13717
13718 * tests/grub_script_not.in: New test.
13719 * Makefile.util.def: Rules for new test.
13720
13721 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13722 ! command as a special case.
13723 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13724
b61d05ed 137252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13726
058e30ac 13727 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13728 grub_free.
b61d05ed 13729
4d69c786 137302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13731
13732 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13733
aa3119c4 137342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13735
13736 * docs/grub.texi (Shell-like scripting): Documentation for break,
13737 continue, shift and return commands.
13738
db0f7e3d
VS
137392010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13740
13741 Rename CD-ROM to cd on BIOS.
13742
13743 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13744 "cd".
13745 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13746
88b87c93
VS
137472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13750 * util/grub-probe.c (main): Likewise.
13751 * util/i386/pc/grub-setup.c (main): Likewise.
13752 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13753 Reported and debugged by: alexxy
13754
294f324d
VS
137552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13758 diagnostic info.
13759
d7ee3441
JS
137602010-09-05 Jo Shields <directhex@apebox.org>
13761
13762 * util/grub.d/30_os-prober.in: Add missing classes.
13763
d7e06c1f
VS
137642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * docs/grub.texi (Theme file format): Document new position format.
13767
fc157e53
VS
137682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13771 a table. Use @code instead of @verbatim.
13772
506e9a1c
CB
137732010-09-05 Colin D Bennett <colin@gibibit.com>
13774
13775 Gfxmenu documentation.
13776
13777 * docs/grub.texi (Theme file format): New chapter.
13778
f0aff67c
SJ
137792010-09-05 Szymon Janc <szymon@janc.net.pl>
13780
13781 * grub-core/Makefile.core.def (xzio): New module.
13782 * grub-core/io/xzio.c: New file.
13783 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13784 * grub-core/lib/xzembed/xz_config.h: Likewise.
13785 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13786 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13787 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13788 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13789 * grub-core/lib/xzembed/xz_private.h: Likewise.
13790 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13791 * include/grub/file.h (grub_file_filter_id): New compression filter
13792 GRUB_FILE_FILTER_XZIO.
13793
82a85062
VS
137942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13797 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13798 size.
13799
3579415d
VS
138002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13803 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13804
5124ae6d
VS
138052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 Uncompressed checksum support.
13808
13809 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13810 (check_list): New parameter uncompress.
13811 (grub_cmd_hashsum): Handle --uncompress.
13812
9aadb3d1
VS
138132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 Reintroduce testload.
13816
13817 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13818 from here ...
13819 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13820 (GRUB_MOD_INIT): New function.
13821 (GRUB_MOD_FINI): Likewise.
13822 * grub-core/Makefile.core.def (testload): New module.
13823
a17792c3
SJ
138242010-09-05 Szymon Janc <szymon@janc.net.pl>
13825
13826 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13827 (uint8_t): New type.
13828 (uint16_t): Likewise.
13829 (uint32_t): Likewise.
13830 (uint64_t): Likewise.
13831
b81e40a3
SJ
138322010-09-05 Szymon Janc <szymon@janc.net.pl>
13833
13834 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13835
fc2ef117
VS
138362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13839 Made static.
13840 (grub_gzfile_open): Removed. All users updated.
13841 (GRUB_MOD_INIT): New function.
13842 (GRUB_MOD_FINI): Likewise.
13843 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13844 (grub_file_filters_enabled): Likewise.
13845 (grub_file_open): Handle filters.
13846 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13847 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13848 * include/grub/file.h (grub_file_filter_id_t): New type.
13849 (grub_file_filter_t): Likewise.
13850 (grub_file_filters_all): New extern variable.
13851 (grub_file_filters_enabled): Likewise.
13852 (grub_file_filter_register): New inline function.
13853 (grub_file_filter_unregister): Likewise.
13854 (grub_file_filter_disable): Likewise.
13855 (grub_file_filter_disable_compression): Likewise.
13856 * include/grub/gzio.h: Removed.
13857
35ee15e0
BC
138582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13859
13860 Filename expansion support for wildcards in GRUB script.
13861
13862 * tests/grub_script_expansion.in: New test.
13863 * Makefile.util.def: Rule for new test.
13864
13865 * grub-core/commands/wildcard.c: New file, implements filename
13866 expansion support for GRUB script.
13867 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13868 * grub-core/script/argv.c: Cosmetic changes.
13869 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13870 Refactored to perform wildcard expansion on arguments.
13871 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13872 struct.
13873
13874 * tests/util/grub-shell.in: Fix quoting for read input.
13875
5f0c4aca
BC
138762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13877
13878 Support for updating environment variables with matched substrings
13879 of regexp.
13880
13881 * tests/grub_cmd_regexp.in: New test.
13882 * Makefile.util.def: Rule for new test.
13883
13884 * grub-core/commands/regexp.c: New option -s to update environment
13885 variables with regexp matches.
13886
3759a35f
SJ
138872010-09-04 Szymon Janc <szymon@janc.net.pl>
13888
13889 * include/grub/file.h (grub_file): New member not_easly_seekable.
13890 (grub_file_seekable): New inline function.
13891 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13892 easily seekable.
13893 (grub_gzio_open): Set not_easly_seekable.
13894 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13895 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13896
ed8c6dec
BC
138972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13898
13899 Support for options to appear multiple times on cmdline.
13900
13901 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13902 * grub-core/commands/extcmd.c: Support for repeatable option.
13903 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13904 repeatable option support.
13905
13906 Refactor menuentry into a regular command.
13907
13908 * grub-core/commands/menuentry.c: New file, menuentry command
13909 implementation.
13910 * grub-core/Makefile.core.def: Rule update for normal.mod.
13911 * grub-core/normal/main.c: Moved menuentry creation to
13912 grub-core/commands/menuentry.c.
13913 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13914 (grub_menu_execute_entry_real): Removed.
13915 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13916 function.
13917 (grub_script_execute_menuentry): Removed.
13918 * grub-core/script/parser.y (menuentry): Removed.
13919 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13920 * grub-core/script/yylex.l (menuentry): Removed.
13921 * include/grub/menu.h (grub_menu_init): New prototype.
13922 (grub_menu_fini): New prototype.
13923 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13924 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13925 (grub_script_execute_sourcecode): New prototype.
13926
dacd0cf0
BC
139272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13928
13929 "return" command for GRUB script functions.
13930
13931 * tests/grub_script_return.in: New test.
13932 * Makefile.util.def: Rules for new test.
13933
13934 * grub-core/script/execute.c (grub_script_return): New function.
13935 * grub-core/script/main.c: Register/unregister return commaond.
13936 * include/grub/script_sh.h (grub_script_return): New prototype.
13937
52e72f9d
BC
139382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13939
13940 "setparams" command to update positional parameters.
13941
13942 * tests/grub_script_setparams.in: New test.
13943 * Makefile.util.def: Rules for new test.
13944
13945 * grub-core/script/argv.c (grub_script_argv_make): New function.
13946 * grub-core/script/execute.c (replace_scope): New function.
13947 (grub_script_setparams): New function.
13948 * grub-core/script/lexer.c: Remove unused variables.
13949 * grub-core/script/main.c: Register/unregister setparams command.
13950 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13951 (grub_script_setparams): New prototype.
13952
25b60c91
BC
139532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13954
13955 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13956 grub_free order.
13957
37e7bf68
BC
139582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13959
13960 Support for passing block of commands as an argument to extcmds.
13961
13962 * Makefile.util.def: Rules for new test.
13963 * tests/grub_script_blockarg.in: New test.
13964 * grub-core/tests/test_blockarg.c: New file, block argument
13965 command used in the test.
13966
13967 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13968 (grub_register_extcmd_prio): New function prototype.
13969 (grub_extcmd_dispatcher): New function prototype.
13970 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13971 type.
13972 * include/grub/script_sh.h (struct grub_script): New members
13973 `children', `next_siblings' and `refcnt' for block arguments and
13974 reference counting.
13975 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13976 (grub_script_arg): New member `script' for block argument.
13977 (grub_script_argv): New member `script' for block argument.
13978 (grub_parser_param): New member `scripts' for block argument.
13979 (grub_script_mem_free): New extern function prototype.
13980 (grub_script_ref): New function prototype.
13981 (grub_script_unref): New function prototype.
13982
13983 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13984 extcmd form to support block arguments.
13985 * grub-core/script/argv.c: Block arguments support.
13986 * grub-core/script/execute.c: Likewise.
13987 * grub-core/script/lexer.c: Likewise.
13988 * grub-core/script/main.c: Likewise.
13989 * grub-core/script/script.c: Likewise.
13990 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13991 non-terminals.
13992
13993 * grub-core/commands/acpi.c: Update extcmd implementations with
13994 grub_extcmd_context_t.
13995 * grub-core/commands/cat.c: Likewise.
13996 * grub-core/commands/echo.c: Likewise.
13997 * grub-core/commands/extcmd.c: Likewise.
13998 * grub-core/commands/hashsum.c: Likewise.
13999 * grub-core/commands/hdparm.c: Likewise.
14000 * grub-core/commands/help.c: Likewise.
14001 * grub-core/commands/hexdump.c: Likewise.
14002 * grub-core/commands/i386/cpuid.c: Likewise.
14003 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14004 * grub-core/commands/i386/pc/halt.c: Likewise.
14005 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14006 * grub-core/commands/iorw.c: Likewise.
14007 * grub-core/commands/keystatus.c: Likewise.
14008 * grub-core/commands/loadenv.c: Likewise.
14009 * grub-core/commands/ls.c: Likewise.
14010 * grub-core/commands/lspci.c: Likewise.
14011 * grub-core/commands/memrw.c: Likewise.
14012 * grub-core/commands/probe.c: Likewise.
14013 * grub-core/commands/search_wrap.c: Likewise.
14014 * grub-core/commands/setpci.c: Likewise.
14015 * grub-core/commands/sleep.c: Likewise.
14016 * grub-core/disk/loopback.c: Likewise.
14017 * grub-core/hello/hello.c: Likewise.
14018 * grub-core/loader/i386/bsd.c: Likewise.
14019 * grub-core/loader/xnu.c: Likewise.
14020 * grub-core/term/gfxterm.c: Likewise.
14021 * grub-core/term/serial.c: Likewise.
14022 * grub-core/tests/lib/functional_test.c: Likewise.
14023
888d1500
BC
140242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14025
14026 Multi-line quoted strings support.
14027
14028 * grub-core/script/lexer.c (append_newline): Removed.
14029 (grub_script_lexer_yywrap): Refactored.
14030 (grub_script_lexer_init): Refactored.
14031 * grub-core/script/yylex.l (yywrap): New function.
14032 (grub_lexer_resplit): New function.
14033 (grub_lexer_unput): New function.
14034 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14035 and resplit.
14036 * tests/grub_script_echo1.in: Added few more testcases.
14037
dda060dd
VS
140382010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/kern/misc.c: Don't add abort alias in utils.
14041 Reported by: echoline.
14042
6556eba9
BC
140432010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14044
14045 Add missing files into "make dist" tarball for other platforms.
14046
14047 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14048 * conf/Makefile.common (dist_noinst_DATA): New variable.
14049 * conf/Makefile.extra-dist: Added missing make dist files.
14050 * grub-core/Makefile.core.def: Likewise.
14051
c8e7bf5f
VS
140522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 Compress grub_prefix.
14055
14056 * grub-core/boot/i386/pc/lnxboot.S: Use
14057 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14058 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14059 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14060 GRUB_MACHINE_PREFIX_END. All users updated.
14061 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14062 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14063 + 0x40.
14064 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14065 * util/grub-mkimage.c (image_target_desc): Change data_end to
14066 prefix_end. All users updated.
14067
a7c00cdb
VS
140682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14071 value.
14072 (grub_openbsd_boot): Likewise.
14073 (grub_netbsd_boot): Likewise.
14074 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14075 (grub_xnu_boot): Likewise.
14076
9f915872
VS
140772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * configure.ac: Clean LIBS variable after tests.
14080
efa1bee7
CW
140812010-09-02 Colin Watson <cjwatson@ubuntu.com>
14082
14083 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14084
61d720e5
VS
140852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14088 echo if libdevmapper will be used.
14089
ef8e0ec8
IT
140902010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14091
14092 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14093 constant for the same file.
14094
03e261d8
VS
140952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14098
c2a4eba6
CW
140992010-09-02 Colin Watson <cjwatson@ubuntu.com>
14100
14101 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14102 grub-core/*.pp.
14103
9056cbf3
CW
141042010-09-02 Colin Watson <cjwatson@ubuntu.com>
14105
14106 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14107 required by the boot protocol.
14108
14109 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14110 ebp and edi members.
14111 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14112 state.ebp and state.edi.
14113 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14114 %ebp and %edi according to grub_relocator32_ebp and
14115 grub_relocator32_edi respectively.
14116 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14117 and state.edi.
14118
529cc99a
VS
141192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 Add i386-pc-pxe image target.
14122
14123 * util/grub-mkimage.c (image_target_desc): New enum value
14124 IMAGE_I386_PC_PXE.
14125 (image_targets): New target i386-pc-pxe.
14126 (generate_image): Handle i386-pc-pxe image.
14127
9a093920
VS
141282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 Fix grub_pxe_scan.
14131
14132 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
14133 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
14134 All users updated.
14135 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
14136 (grub_pxe_pxenv): Correct type.
14137
f9cefc4e
CW
141382010-09-01 Colin Watson <cjwatson@ubuntu.com>
14139
14140 * NEWS: Document most of the important changes since 1.98.
14141
4066f57f
CW
141422010-09-01 Colin Watson <cjwatson@ubuntu.com>
14143
14144 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
14145 generated manual page) a little.
14146
da2891f9
CW
141472010-09-01 Colin Watson <cjwatson@ubuntu.com>
14148
14149 * docs/grub.texi: Add myself as an author.
14150
ad717fae
VS
141512010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14152
14153 * Makefile.util.def (libgrub.a): Add missing sunpc.
14154 Reported by: Seth Goldberg.
14155
eefe8abd
VS
141562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 Interrupt wrapping and code simplifications.
14159
9494ef9a
VS
14160 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
14161 x86_noieee1275 which are functionaly equivalent in this case.
14162 (grub-install): Make source on each platform explicit. Enable on
14163 all noemu.
14164 * gentpl.py (x86_efi_pc): Removed group.
14165 (x86_noefi): Likewise.
14166 (i386_noefi): Likewise.
14167 (x86_noieee1275): Likewise.
14168 (i386_noieee1275): Likewise.
14169 (i386_noefi_noieee1275): Likewise.
14170 (i386_pc_qemu_coreboot): Likewise.
14171 (i386_coreboot_multiboot): Likewise.
14172 (i386_pc_coreboot_multiboot_qemu): Likewise.
14173 (x86_noefi_mips): Likewise.
14174 (noieee1275): Likewise.
14175 (ieee1275_mips): Likewise.
14176 (noemu_noieee1275): Likewise.
14177 (cmos): New group.
14178 (usb): Likewise.
14179 (videoinkernel): Likewise.
14180 (videomodules): Likewise.
eefe8abd 14181 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
14182 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
14183 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
14184 include/grub/loader.h, include/grub/msdos_partition.h,
14185 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
14186 include/grub/machine/console.h, include/grub/machine/vga.h,
14187 include/grub/machine/vbe.h, include/grub/machine/init.h,
14188 include/grub/machine/kernel.h, include/grub/cpu/time.h,
14189 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 14190 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
14191 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
14192 * grub-core/Makefile.core.def (kernel): Explicit the source for
14193 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
14194 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
14195 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
14196 Use videoinkernel tag.
14197 (usb): Enable on all usb.
14198 (usbserial_common): Likewise.
14199 (usbserial_pl2303): Likewise.
14200 (usbserial_ftdi): Likewise.
14201 (uhci): Enable on all x86.
14202 (ohci): Enable on all pci.
14203 (cmostest): Enable on all CMOS.
14204 (acpi): Include commands/acpi.c on all platforms.
14205 (halt): Add relevant lib/*/halt.c.
14206 (hdparm): Enable on all pci.
14207 (lspci): Likewise.
14208 (usbtest): Enable on all usb.
14209 (ata): Enable on all pci.
14210 (ata_pthru): Likewise.
14211 (usbms): Enable on all usb.
14212 (usb_keyboard): Likewise.
14213 (font): Use tag videomodules.
14214 (bufio): Likewise.
14215 (datetime): Use tag cmos. Enable on all noemu.
14216 (mmap): Use tags common and x86.
14217 (gfxterm): Use tag videomodules.
14218 (bitmap): Likewise.
14219 (bitmap_scale): Likewise.
14220 (video_fb): Likewise.
14221 (video): Likewise.
14222 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
14223 adjust padding accordingly. All users updated.
14224 (grub_ohci_transaction): Fix bad format specification.
14225 (GRUB_MOD_INIT): Add asserts for struct size.
14226 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
14227 (grub_alloc_td): Likewise.
14228 (grub_free_queue): Likewise.
14229 (grub_uhci_transfer): Likewise.
14230 (grub_uhci_transaction): Fix bad format specification.
14231 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
14232 (grub_usb_bulk_readwrite): Likewise.
14233 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
14234 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
14235 Made static.
14236 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
14237 Made static.
14238 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
14239 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
14240 Transformed into C.
14241 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
14242 Moved from here ...
14243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
14244 ... here. Transformed into C. Made static.
14245 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
14246 Moved from here ...
14247 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
14248 ... here. Transformed into C. Made static.
14249 * grub-core/kern/i386/pc/startup.S
14250 (grub_biosdisk_check_int13_extensions): Moved from here ...
14251 * grub-core/disk/i386/pc/biosdisk.c
14252 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
14253 Made static.
14254 * grub-core/kern/i386/pc/startup.S
14255 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
14256 * grub-core/disk/i386/pc/biosdisk.c
14257 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
14258 Transformed into C. Made static.
14259 * grub-core/kern/i386/pc/startup.S
14260 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
14261 * grub-core/disk/i386/pc/biosdisk.c
14262 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
14263 Transformed into C. Made static.
14264 * grub-core/kern/i386/pc/startup.S
14265 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
14266 * grub-core/disk/i386/pc/biosdisk.c
14267 (grub_biosdisk_get_diskinfo_standard): ... here.
14268 Transformed into C. Made static.
14269 * grub-core/kern/i386/pc/startup.S
14270 (grub_biosdisk_get_num_floppies): Moved from here ...
14271 * grub-core/disk/i386/pc/biosdisk.c
14272 (grub_biosdisk_get_num_floppies): ... here.
14273 Transformed into C. Made static.
14274 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
14275 New function.
14276 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
14277 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
14278 Transformed into C. Made static.
14279 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
14280 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
14281 Transformed into C. Made static.
14282 * grub-core/kern/i386/ieee1275/init.c: Removed.
14283 * grub-core/kern/i386/misc.S: Likewise.
14284 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
14285 Splitted from here ...
14286 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
14287 Transformed into C. Made static. All users updated.
14288 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
14289 Transformed into C. Made static. All users updated.
14290 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
14291 Moved from here...
14292 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
14293 Transformed into C. Made static. All users updated.
14294 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
14295 Moved from here...
14296 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
14297 Transformed into C. Made static. All users updated.
14298 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
14299 Removed (replaced by C version).
14300 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
14301 Moved from here...
14302 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
14303 Transformed into C. Made static.
14304 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
14305 Moved from here...
14306 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
14307 ... here. Transformed into C.
14308 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
14309 Moved from here...
14310 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
14311 ... here. Transformed into C.
14312 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
14313 Moved from here...
14314 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
14315 ... here. Transformed into C. Made static.
14316 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
14317 Moved from here...
14318 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
14319 ... here. Transformed into C.
21ed554b
VS
14320 * grub-core/kern/i386/pc/startup.S
14321 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
14322 * grub-core/video/i386/pc/vbe.c
14323 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
14324 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
14325 Moved from here...
14326 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
14327 ... here. Transformed into C.
14328 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
14329 Moved from here...
14330 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
14331 ... here. Transformed into C.
14332 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
14333 Moved from here...
14334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
14335 ... here. Transformed into C.
14336 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
14337 Moved from here...
14338 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
14339 ... here. Transformed into C.
14340 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
14341 Moved from here...
14342 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
14343 ... here. Transformed into C. Made static.
14344 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
14345 Moved from here...
14346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
14347 ... here. Transformed into C. Made static.
14348 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
14349 Moved from here...
14350 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
14351 ... here. Transformed into C. Made static.
14352 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
14353 pxe_rm_entry as third argument.
14354 (grub_bios_interrupt): New function.
14355 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
14356 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
14357 of calling grub_stop.
14358 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
14359 * grub-core/lib/efi/halt.c (grub_halt): ...here.
14360 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
14361 * grub-core/lib/emu/halt.c (grub_halt): ... here.
14362 * grub-core/lib/i386/halt.c: Moved from here ...
14363 * grub-core/lib/i386/halt.c: ... here.
14364 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
14365 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
14366 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
14367 grub_stop_floppy.
14368 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
14369 * include/grub/i386/coreboot/init.h: Removed.
14370 * include/grub/i386/multiboot/init.h: Likewise.
14371 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
14372 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
14373 * include/grub/i386/pc/int.h: New file.
14374 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
14375 (grub_pxe_scan): Removed.
14376 (grub_pxe_call): Update prototype.
14377 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
14378 prototypes.
14379 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
14380 * include/grub/i386/qemu/init.h: Removed.
14381 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
14382 noreturn.
14383 (grub_halt): Likewise.
14384 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
14385 (grub_reboot): Likewise.
14386 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
14387 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
14388 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
14389
215dd471
RM
143902010-08-30 Robert Millan <rmh@gnu.org>
14391
14392 * NEWS: Document addition of ZFS support in `grub-install' and
14393 `grub-mkconfig'.
14394
ebd65b82
BC
143952010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
14396
14397 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
14398 dprintf output.
14399
11721d19
VS
144002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 Remove leftover embedding of font objects.
14403
14404 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14405 * util/grub-install.in (font): Removed.
14406 * util/grub-mkimage.c (generate_image): Remove font support. All users
14407 updated.
14408
37837d4e
VS
144092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 Remove leftover embedding of font objects.
14412
14413 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
14414 * util/grub-install.in (font): Removed.
14415 * util/grub-mkimage.c (generate_image): Remove font support. All users
14416 updated.
14417
b4c1aae0
VS
144182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 14421 Reported by: Ian Turner
b4c1aae0 14422
8920a08d
VS
144232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
14426 timeout to avoid indefinite boot stalling.
14427
f21db033
VS
144282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
14431 (grub_env_write_color_highlight): Likewise.
14432
9a9de209
VS
144332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * grub-core/normal/term.c (print_more): Return to normal and not
14436 to standard state after printing "---MORE---".
14437
3dca01d7
VS
144382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
14441 Mask out the bit 0x80 since it has other meaning that specifiing color.
14442
0b986c40
VS
144432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 New relocator. Allows for more kernel support and more straightforward
14446 loader writing.
14447
14448 * Makefile.am (BOOTTARGET): New variable.
14449 (QEMU32): Likewise.
14450 (linux.init.x86_64): New target.
14451 (linux.init.i386): Likewise.
14452 (multiboot.elf): Likewise.
14453 (kfreebsd.elf): Likewise.
14454 (kfreebsd.aout): Likewise.
14455 (pc-chainloader.elf): Likewise.
14456 (pc-chainloader.bin): Likewise.
14457 (ntldr.elf): Likewise.
14458 (ntldr.bin): Likewise.
14459 (multiboot2.elf): Likewise.
14460 (kfreebsd.init.x86_64): Likewise.
14461 (kfreebsd.init.i386): Likewise.
14462 (knetbsd.init.i386): Likewise.
14463 (kopenbsd.init.i386): Likewise.
14464 (knetbsd.init.x86_64): Likewise.
14465 (kopenbsd.init.x86_64): Likewise.
14466 (linux-initramfs.i386): Likewise.
14467 (linux-initramfs.x86_64): Likewise.
14468 (kfreebsd-mfsroot.i386.img): Likewise.
14469 (knetbsd.image.i386): Likewise.
14470 (kopenbsd.image.i386): Likewise.
14471 (kopenbsd.image.x86_64): Likewise.
14472 (knetbsd.miniroot-image.i386.img): Likewise.
14473 (kfreebsd-mfsroot.x86_64.img): Likewise.
14474 (knetbsd.image.x86_64): Likewise.
14475 (knetbsd.miniroot-image.x86_64.img): Likewise.
14476 (kfreebsd-mfsroot.i386.gz): Likewise.
14477 (bootcheck-kfreebsd-i386): Likewise.
14478 (kfreebsd-mfsroot.x86_64.gz): Likewise.
14479 (bootcheck-kfreebsd-x86_64): Likewise.
14480 (knetbsd.miniroot-image.i386.gz): Likewise.
14481 (bootcheck-knetbsd-i386): Likewise.
14482 (bootcheck-kopenbsd-i386): Likewise.
14483 (bootcheck-kopenbsd-x86_64): Likewise.
14484 (knetbsd.miniroot-image.x86_64.gz): Likewise.
14485 (bootcheck-knetbsd-x86_64): Likewise.
14486 (bootcheck-linux-i386): Likewise.
14487 (bootcheck-linux-x86_64): Likewise.
14488 (bootcheck-linux16-i386): Likewise.
14489 (bootcheck-linux16-x86_64): Likewise.
14490 (bootcheck-multiboot): Likewise.
14491 (bootcheck-multiboot2): Likewise.
14492 (bootcheck-kfreebsd-aout): Likewise.
14493 (bootcheck-pc-chainloader): Likewise.
14494 (bootcheck-ntldr): Likewise.
14495 (CLEANFILES): Add new targets.
14496 (BOOTCHECKS): New variable.
14497 (.PHONY): Add bootchecks.
14498 (SUCCESSFUL_BOOT_STRING): New variable.
14499 (BOOTCHECK_TIMEOUT): Likewise.
14500 (bootcheck): New target
14501 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
14502 * configure.ac: Correct efiemu excuse.
14503 * docs/grub.texi (Supported kernels): New chapter.
14504 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
14505 include/grub/mm_private.h. Simplify inclusion of
14506 include/grub/boot.h, include/grub/loader.h
14507 and include/grub/msdos_partition.h
14508 (KERNEL_HEADER_FILES) [i386_coreboot]:
14509 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
14510 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
14511 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
14512 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
14513 include/grub/machine/loader.h.
14514 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
14515 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
14516 extra_dist.
14517 (pci.mod): Enable on i386-multiboot.
14518 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
14519 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
14520 i386-qemu.
14521 (relocator.mod): Rewritten.
14522 (aout.mod): Enable on all x86.
14523 (bsd.mod): Likewise.
14524 (ntldr.mod): New module.
14525 (linux.mod): Use loader/i386/linux.c on all x86.
14526 (xnu.mod): Enable on all x86.
14527 (vga_text.mod): disable on EFI and QEMU.
14528 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
14529 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
14530 * grub-core/efiemu/loadcore.c: Likewise.
14531 * grub-core/efiemu/main.c: Likewise.
14532 (grub_efiemu_exit_boot_services): Removed.
14533 (grub_efiemu_finish_boot_services): Likewise.
14534 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
14535 function.
14536 * grub-core/efiemu/i386/nocfgtables.c: New file.
14537 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
14538 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
14539 (grub_efi_finish_boot_services): Moved from here ...
14540 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
14541 Fille finish memory map and related data.
14542 (finish_mmap_buf): New variable.
14543 (grub_efi_uintn_t finish_mmap_size): Likewise.
14544 (grub_efi_uintn_t finish_key): Likewise.
14545 (grub_efi_uintn_t finish_desc_size): Likewise.
14546 (grub_efi_uint32_t finish_desc_version): Likewise.
14547 (grub_efi_is_finished): Likewise.
14548 (grub_efi_get_memory_map): Use saved memory map if EFI is already
14549 finished.
14550 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
14551 (grub_elf64_phdr_iterate): Likewise.
14552 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
14553 (grub_os_area_size): Likewise.
14554 (grub_machine_init): Don't reserve os area.
14555 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
14556 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
14557 * grub-core/kern/i386/loader.S: Removed.
14558 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
14559 (grub_os_area_size): Likewise.
14560 (grub_machine_init): Don't reserve os area.
14561 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14562 Don't call grub_dl_unload_all.
14563 Don't include loader.S.
14564 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
14565 Declare the memory after _end as available.
14566 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 14567 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 14568 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
14569 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
14570 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
14571 * include/grub/mm_private.h (grub_mm_header): ... here.
14572 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
14573 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
14574 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
14575 (grub_mm_region): ..here. Removed addr. Added pre_size.
14576 All users updated.
14577 * grub-core/kern/mm.c (base): Renamed to ...
14578 (grub_mm_base): ... this. Made global.
14579 (grub_real_malloc): Alloc from end of region.
14580 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
14581 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
14582 * grub-core/kern/powerpc/cache_flush.S: ... here.
14583 * grub-core/lib/efi/relocator.c: New file.
14584 * grub-core/lib/i386/relocator.c: Rewritten.
14585 * grub-core/lib/i386/relocator16.S: New file.
14586 * grub-core/lib/i386/relocator32.S: Likewise.
14587 * grub-core/lib/i386/relocator64.S: Likewise.
14588 * grub-core/lib/i386/relocator_asm.S: Rewritten.
14589 * grub-core/lib/i386/relocator_common.S: New file.
14590 * grub-core/lib/ieee1275/relocator.c: Likewise.
14591 * grub-core/lib/mips/relocator.c: Rewritten.
14592 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
14593 stylistic adjustments.
14594 * grub-core/lib/powerpc/relocator.c: New file.
14595 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
14596 * grub-core/lib/relocator.c: Rewritten.
14597 * grub-core/lib/x86_64/relocator_asm.S: New file.
14598 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
14599 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
14600 (bsd_tag): New struct.
14601 (tags): New variable.
14602 (tags_last): Likewise.
14603 (netbsd_module): New struct.
14604 (netbsd_mods): New variable.
14605 (netbsd_mods_last): Likewise.
14606 (openbsd_opts): New parameter "serial".
14607 (OPENBSD_SERIAL_ARG): New definition.
14608 (netbsd_opts): New parameter "serial".
14609 (NETBSD_SERIAL_ARG): New definition.
14610 (grub_freebsd_add_meta): Reorganised into ...
14611 (grub_bsd_add_meta): ...this. All users updated.
14612 (grub_freebsd_add_mmap): Reorganised into ...
14613 (generate_e820_mmap): ...this...
14614 (grub_bsd_add_mmap): ...and this. All users updated.
14615 (grub_freebsd_list_modules): Use tags.
14616 (grub_netbsd_add_meta_module): New function.
14617 (grub_netbsd_list_modules): Likewise.
14618 (grub_freebsd_boot): Use relocator and finish EFI.
14619 (grub_openbsd_boot): Likewise.
14620 (grub_netbsd_setup_video): New function.
14621 (grub_netbsd_add_modules): Likewise.
14622 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
14623 and finish EFI.
14624 (grub_bsd_unload): Unload tags.
14625 (grub_bsd_load_aout): Use relocator.
14626 (grub_bsd_elf32_size_hook): New function.
14627 (grub_bsd_elf32_hook): Use relocator.
14628 (grub_bsd_elf64_size_hook): New function.
14629 (grub_bsd_elf64_hook): Use relocator.
14630 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
14631 (grub_bsd_load): Zero-out openbsd_ramdisk.
14632 (grub_bsd_load): Use relocator.
14633 (grub_cmd_openbsd): Support serial.
14634 (grub_cmd_netbsd): Support modules.
14635 (grub_cmd_freebsd_module): Use relocator.
14636 (grub_netbsd_module_load): New function.
14637 (grub_cmd_netbsd_module): Likewise.
14638 (grub_cmd_openbsd_ramdisk): Likewise.
14639 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14640 kopenbsd_ramdisk.
14641 (GRUB_MOD_FINI): Unregister new commands.
14642 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14643 (grub_freebsd_load_elfmodule_obj): Use relocator.
14644 (grub_freebsd_load_elfmodule): Likewise.
14645 (grub_freebsd_load_elf_meta): Likewise.
14646 (grub_netbsd_load_elf_meta): New function.
14647 (grub_openbsd_find_ramdisk): Likewise.
14648 * grub-core/loader/i386/bsd_helper.S: Removed.
14649 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14650 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14651 * grub-core/loader/i386/efi/linux.c: Likewise.
14652 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14653 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14654 (DEFAULT_VIDEO_MODE): Likewise.
14655 (real_mode_target): New variable.
14656 (prot_mode_target): Likewise.
14657 (initrd_mem_target): Likewise.
14658 (relocator): Likewise.
14659 (efi_mmap_buf): Likewise.
14660 (efi_mmap_size): Likewise.
14661 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14662 (free_pages): Use relocator.
14663 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14664 (grub_linux_setup_video): Return error.
14665 (grub_linux_trampoline_start): Removed.
14666 (grub_linux_trampoline_end): Likewise.
14667 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14668 andd video parameters depending on firmware.
14669 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14670 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14671 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14672 (grub_cmd_initrd): Use relocator.
14673 * grub-core/loader/i386/linux_trampoline.S: Removed.
14674 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14675 (elf_sec_entsize): Likewise.
14676 (elf_sec_shstrndx): Likewise.
14677 (elf_sections): Likewise.
14678 (grub_multiboot_load): Use relocator.
14679 (grub_multiboot_get_mbi_size): Account for sections.
14680 (grub_multiboot_make_mbi): Use relocator and support sections.
14681 (grub_multiboot_add_elfsyms): New function.
14682 (grub_multiboot_free_mbi): Free sections.
14683 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14684 (grub_linux_real_target): Likewise.
14685 (grub_linux_real_chunk): Likewise.
14686 (grub_linux16_prot_size): Likewise.
14687 (grub_linux16_boot): Use relocator.
14688 (grub_linux_unload): Unload relocator.
14689 (grub_cmd_linux): Use relocator.
14690 (grub_cmd_initrd): Likewise.
14691 * grub-core/loader/i386/pc/ntldr.c: New file.
14692 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14693 Don't try to guess CPU frequency.
14694 (grub_xnu_set_video): Stretch bitmap.
14695 (grub_xnu_boot): Use relocator.
14696 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14697 (grub_linux_unload): Free relocator.
14698 (grub_linux_load32): Use relocator.
14699 (grub_linux_load64): Likewise.
14700 (grub_cmd_initrd): Likewise.
14701 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14702 (grub_multiboot_unload): Unload relocator.
14703 (grub_cmd_multiboot): Use relocator.
14704 (grub_cmd_module): Likewise.
14705 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14706 Use relocator and support sections.
14707 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14708 (elf_sec_entsize): Likewise.
14709 (elf_sec_shstrndx): Likewise.
14710 (elf_sections): Likewise.
14711 (grub_multiboot_load): Use relocator.
14712 (grub_multiboot_get_mbi_size): Account for sections.
14713 (grub_multiboot_make_mbi): Use relocator and support sections.
14714 (grub_multiboot_add_elfsyms): New function.
14715 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14716 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14717 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14718 Prototype changed. All users updated.
14719 (grub_xnu_align_heap): Simplified.
14720 (grub_xnu_writetree_toheap): Likewise.
14721 (grub_xnu_unload): Unload relocator.
14722 (grub_cmd_xnu_kernel): Use relocator.
14723 (grub_cmd_xnu_kernel64): Likewise.
14724 (grub_xnu_register_memory): Simplified.
14725 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14726 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14727 EFI is finished.
14728 (grub_console_checkkey): Likewise.
14729 (grub_console_getkey): Likewise.
14730 (grub_console_getwh): Likewise.
14731 (grub_console_getxy): Likewise.
14732 (grub_console_gotoxy): Likewise.
14733 (grub_console_cls): Likewise.
14734 (grub_console_setcolorstate): Likewise.
14735 (grub_console_setcursor): Likewise.
14736 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14737 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14738 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14739 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14740 * grub-core/tests/boot/kernel-8086.S: Likewise.
14741 * grub-core/tests/boot/kernel-i386.S: Likewise.
14742 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14743 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14744 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14745 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14746 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14747 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14748 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14749 * grub-core/tests/boot/linux.cfg: Likewise.
14750 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14751 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14752 * grub-core/tests/boot/linux16.cfg: Likewise.
14753 * grub-core/tests/boot/multiboot.cfg: Likewise.
14754 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14755 * grub-core/tests/boot/ntldr.cfg: Likewise.
14756 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14757 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14758 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14759 New definition.
14760 * include/grub/dl.h (grub_dl_unload_all): Removed.
14761 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14762 (grub_efi_finish_boot_services): Change prototype.
14763 (grub_efi_is_finished): New variable.
14764 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14765 Changed prototype.
14766 (grub_efiemu_finish_boot_services): Removed.
14767 (grub_machine_efiemu_init_tables): New prototype.
14768 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14769 (grub_elf64_phdr_iterate): Likewise.
14770 * include/grub/i386/bsd.h: Include relocator.h.
14771 (freebsd_tag_header): New struct.
14772 (grub_openbsd_bios_mmap): Removed.
14773 (grub_unix_real_boot): Removed.
14774 (grub_freebsd_load_elfmodule32): Changed prototype.
14775 (grub_freebsd_load_elfmodule_obj64): Likewise.
14776 (grub_freebsd_load_elf_meta32): Likewise.
14777 (grub_freebsd_load_elf_meta64): Likewise.
14778 (grub_freebsd_add_meta): Removed.
14779 (grub_netbsd_load_elf_meta32): New prototype.
14780 (grub_netbsd_load_elf_meta64): Likewise.
14781 (grub_bsd_add_meta): Likewise.
14782 (grub_openbsd_ramdisk_descriptor): New struct.
14783 (grub_openbsd_find_ramdisk32): New prototype.
14784 (grub_openbsd_find_ramdisk64): Likewise.
14785 * include/grub/i386/coreboot/loader.h: Removed.
14786 * include/grub/i386/efi/loader.h: Likewise.
14787 * include/grub/i386/ieee1275/loader.h: Likewise.
14788 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14789 to grub_uint32_t.
14790 * include/grub/i386/loader.h: Removed.
14791 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14792 value.
14793 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14794 (grub_phys_addr_t): New type.
14795 (grub_vtop): New inline function.
14796 (grub_map_memory): Likewise.
14797 (grub_unmap_memory): Likewise.
14798 * include/grub/i386/multiboot/loader.h: Removed.
14799 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14800 (NETBSD_BTINFO_CONSOLE): New definition.
14801 (NETBSD_BTINFO_SYMTAB): Likewise.
14802 (NETBSD_BTINFO_MODULES): Likewise.
14803 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14804 (grub_netbsd_bootinfo): New struct.
14805 (grub_netbsd_btinfo_common): Use explicit bitsize.
14806 (grub_netbsd_btinfo_mmap_entry): Removed.
14807 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14808 (grub_netbsd_btinfo_bootdisk): New struct.
14809 (grub_netbsd_btinfo_symtab): Likewise.
14810 (grub_netbsd_btinfo_serial): Likewise.
14811 (grub_netbsd_btinfo_modules): Likewise.
14812 (grub_netbsd_btinfo_framebuf): Likewise.
14813 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14814 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14815 Likewise.
14816 (grub_openbsd_bootargs): Use explicit bitsize.
14817 (grub_openbsd_bootarg_console): New struct.
14818 (GRUB_OPENBSD_COM_MAJOR): New definition.
14819 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14820 * include/grub/i386/pc/efiemu.h: Removed.
14821 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14822 * include/grub/i386/qemu/loader.h: Removed.
14823 * include/grub/i386/relocator.h: Rewritten.
14824 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14825 * include/grub/mips/memory.h: New file.
14826 * include/grub/mips/multiboot.h: Rewritten.
14827 * include/grub/mips/relocator.h: Rewritten.
14828 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14829 (grub_vtop): New function.
14830 (grub_map_memory): Likewise.
14831 (grub_unmap_memory): Likewise.
14832 * include/grub/misc.h (ALIGN_DOWN): New definition.
14833 * include/grub/mm.h (grub_mm_check_real): New proto.
14834 (GRUB_MM_CHECK): New definition.
14835 * include/grub/mm_private.h: New file.
14836 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14837 (grub_multiboot_get_mbi_size): Removed.
14838 (grub_multiboot_make_mbi): Change prottype.
14839 (grub_multiboot_set_accepts_video): New proto.
14840 (grub_multiboot_add_elfsyms): Likewise.
14841 (grub_multiboot_payload_eip): New variable.
14842 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14843 New prototype.
14844 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14845 New definition.
14846 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14847 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14848 * include/grub/powerpc/ieee1275/loader.h: Removed.
14849 * include/grub/powerpc/memory.h: New file.
14850 * include/grub/powerpc/relocator.h: Likewise.
14851 * include/grub/relocator.h: Likewise.
14852 * include/grub/relocator_private.h: Likewise.
14853 * include/grub/sparc64/ieee1275/loader.h: Removed.
14854 * include/grub/x86_64/memory.h: New file.
14855 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14856 (grub_xnu_heap_malloc): Likewise.
14857 (grub_xnu_heap_real_start): Removed.
14858 (grub_xnu_heap_start): Likewise.
14859 (grub_xnu_relocator): New variable.
14860 (grub_xnu_heap_target_start): Likewise.
14861 * tests/util/grub-shell.in: Support non-pc.
14862 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14863
5303b85d
VS
148642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14867 on malloc error.
14868 (grub_bidi_logical_to_visual): Check that malloc succeded.
14869 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14870 puts.
14871 (grub_xputs_normal): Likewise.
14872
d768d159
VS
148732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14876 extra_dist.
14877
148782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14879
14880 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14881
5bf84df4
VS
148822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14885
3626810e
VS
148862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14889 dprintf.
14890
a7363f53
BC
148912010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14892
14893 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14894
902f75f6
VS
148952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 * grub-core/normal/term.c (print_more): Fix a memory leak.
14898 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14899 (grub_xputs_normal): Likewise.
14900
3c707967
VS
149012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14904 the begining of the string
14905
2053cc07
VS
149062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * grub-core/script/script.c (grub_script_parse): Free parsed on
14909 failure.
14910
46422ebf
VS
149112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14914 on failure.
14915
9e0fa3f6
VS
149162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14919 return.
14920
3393cf16
VS
149212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14924 (scroll_up): Fix a memory leak.
14925
b17540cb
VS
149262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14929 errors.
14930
67140446
VS
149312010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 Handle USB pendrives exposed as floppies.
14934
14935 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14936 floppy.
14937 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14938 Check for partitions on all devices.
14939
e35e46fc
VS
149402010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14943 (readkey): Likewise.
14944
d24c6190
BC
149452010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14946
14947 Multiple variable names support to "export" command.
14948
14949 * normal/context.c (grub_cmd_export): "export" command supports
14950 multiple variable names.
14951
04ddcc6a
ST
149522010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14953
14954 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14955 --target=drive output to Mach device name.
14956
0c8b61d8
BC
149572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14958
14959 New Automake based build system for GRUB.
14960
14961 * ABOUT-NLS: New file.
14962 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14963 in Makefile.util.def file.
14964 * Makefile.util.def: New file. Autogen build definitions file for
14965 GRUB host utils.
14966 * conf/Makefile.common: New file. Common variables for GRUB host
14967 utils and target modules.
14968 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14969 * docs/Makefile.am: New file. Automake file for docs.
14970 * gentpl.py: New file. Python script to generate Autogen
14971 template.
14972 * grub-core/Makefile.am: New file. GRUB target modules' rules
14973 that doesn't fit in Makefile.core.def file.
14974 * grub-core/Makefile.core.def: New file. Autogen build
14975 definitions file for GRUB target modules.
14976 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14977 specific setjmp.S file.
14978 * po/Makefile.am: New file.
14979
14980 * .bzrignore: New ignores.
14981 * INSTALL: New requirements, without Ruby.
14982 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14983 * autogen.sh: Updated to invoke autogen as necessary.
14984 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14985 and defines for Automake conditionals.
14986 * geninit.sh: Refactoring.
14987
14988 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14989 necessary.
14990 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14991 New prototype.
14992
14993 * include/grub/test.h: Fix functional test modules' naming.
14994 * grub-core/tests/example_functional_test.c: Fix test module name.
14995
14996 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14997 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14998 * util/grub-editenv.c: Likewise.
14999 * util/grub-fstest.c: Likewise.
15000 * util/grub-mkdevicemap.c: Likewise.
15001 * util/grub-mkfont.c: Likewise.
15002 * util/grub-mkimage.c: Likewise.
15003 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15004 * util/grub-probe.c: Likewise.
15005 * util/grub-script-check.c: Likewise.
15006 * util/i386/pc/grub-setup.c: Likewise.
15007 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15008
15009 * tests/util/grub-shell.in: Fix override directory path.
15010 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15011 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15012
15013 * util/lvm.c: Update #includes.
15014 * util/raid.c: Likewise.
15015 * util/resolve.c: Likewise.
15016 * grub-core/bus/emu/pci.c: Likewise.
15017 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15018 * grub-core/lib/posix_wrap/string.h: Likewise.
15019 * grub-core/kern/emu/main.c: Likewise.
15020
15021 * grub-core/gensymlist.sh: New file. Script for generating kernel
15022 symbols file.
15023 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15024
15025 * grub-core/gentrigtables.c: Fix unused variable warnings.
15026
15027 * Makefile.in: Removed.
15028 * conf/any-emu.rmk: Removed.
15029 * conf/common.rmk: Removed.
15030 * conf/i386-coreboot.rmk: Removed.
15031 * conf/i386-efi.rmk: Removed.
15032 * conf/i386-ieee1275.rmk: Removed.
15033 * conf/i386-multiboot.rmk: Removed.
15034 * conf/i386-pc.rmk: Removed.
15035 * conf/i386-qemu.rmk: Removed.
15036 * conf/i386.rmk: Removed.
15037 * conf/mips-yeeloong.rmk: Removed.
15038 * conf/mips.rmk: Removed.
15039 * conf/powerpc-ieee1275.rmk: Removed.
15040 * conf/sparc64-ieee1275.rmk: Removed.
15041 * conf/tests.rmk: Removed.
15042 * conf/x86-efi.rmk: Removed.
15043 * conf/x86_64-efi.rmk: Removed.
15044 * gendistlist.sh: Removed.
15045 * geninitheader.sh: Removed.
15046 * genkernsyms.sh.in: Removed.
15047 * genmk.rb: Removed.
15048 * gensymlist.sh.in: Removed.
15049 * mkinstalldirs: Removed.
15050 * boot: Moved ...
15051 * grub-core/boot: ... to here.
15052 * bus: Moved ...
15053 * grub-core/bus: ... to here.
15054 * commands: Moved ...
15055 * grub-core/commands: ... to here.
15056 * disk: Moved ...
15057 * grub-core/disk: ... to here.
15058 * efiemu: Moved ...
15059 * grub-core/efiemu: ... to here.
15060 * font: Moved ...
15061 * grub-core/font: ... to here.
15062 * fs: Moved ...
15063 * grub-core/fs: ... to here.
15064 * gencmdlist.sh: Moved ...
15065 * grub-core/gencmdlist.sh: ... to here.
15066 * genemuinit.sh: Moved ...
15067 * grub-core/genemuinit.sh: ... to here.
15068 * genemuinitheader.sh: Moved ...
15069 * grub-core/genemuinitheader.sh: ... to here.
15070 * genfslist.sh: Moved ...
15071 * grub-core/genfslist.sh: ... to here.
15072 * genhandlerlist.sh: Moved ...
15073 * grub-core/genhandlerlist.sh: ... to here.
15074 * genmoddep.awk: Moved ...
15075 * grub-core/genmoddep.awk: ... to here.
15076 * genmodsrc.sh: Moved ...
15077 * grub-core/genmodsrc.sh: ... to here.
15078 * genpartmaplist.sh: Moved ...
15079 * grub-core/genpartmaplist.sh: ... to here.
15080 * genparttoollist.sh: Moved ...
15081 * grub-core/genparttoollist.sh: ... to here.
15082 * genterminallist.sh: Moved ...
15083 * grub-core/genterminallist.sh: ... to here.
15084 * gentrigtables.c: Moved ...
15085 * grub-core/gentrigtables.c: ... to here.
15086 * genvideolist.sh: Moved ...
15087 * grub-core/genvideolist.sh: ... to here.
15088 * gettext: Moved ...
15089 * grub-core/gettext: ... to here.
15090 * gfxmenu: Moved ...
15091 * grub-core/gfxmenu: ... to here.
15092 * gnulib: Moved ...
15093 * grub-core/gnulib: ... to here.
15094 * hello: Moved ...
15095 * grub-core/hello: ... to here.
15096 * hook: Moved ...
15097 * grub-core/hook: ... to here.
15098 * io: Moved ...
15099 * grub-core/io: ... to here.
15100 * kern: Moved ...
15101 * grub-core/kern: ... to here.
15102 * lib: Moved ...
15103 * grub-core/lib: ... to here.
15104 * loader: Moved ...
15105 * grub-core/loader: ... to here.
15106 * mmap: Moved ...
15107 * grub-core/mmap: ... to here.
15108 * normal: Moved ...
15109 * grub-core/normal: ... to here.
15110 * partmap: Moved ...
15111 * grub-core/partmap: ... to here.
15112 * parttool: Moved ...
15113 * grub-core/parttool: ... to here.
15114 * script: Moved ...
15115 * grub-core/script: ... to here.
15116 * term: Moved ...
15117 * grub-core/term: ... to here
15118 * tests/example_functional_test.c: Moved ...
15119 * grub-core/tests/example_functional_test.c: ... to here.
15120 * tests/lib/functional_test.c: Moved ...
15121 * grub-core/tests/lib/functional_test.c: ... to here.
15122 * tests/lib/test.c: Moved ...
15123 * grub-core/tests/lib/test.c: ... to here.
15124 * video: Moved ...
15125 * grub-core/video: ... to here.
15126
645586e6
BC
151272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15128
15129 Replace --enable-grub-emu-modules with grub-emu-lite.
15130
15131 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
15132 cache.S.
15133
15134 * include/grub/emu/misc.h (grub_emu_init): New prototype.
15135 * kern/emu/full.c: New file. For grub-emu specific initialization.
15136 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
15137 * kern/emu/main.c: Call initialization function grub_emu_init.
15138
15139 * Makefile.in: Include grub-emu-lite in install.
15140 * commands/parttool.c: Use grub_no_autoload to differentiate
15141 between grub-emu and grub-emu-lite.
15142 * include/grub/misc.h: New variable grub_no_autoload.
15143
15144 * conf/any-emu.rmk: New rules for grub-emu-lite.
15145 * configure.ac: Remove --enable-grub-emu-modules.
15146 * genmk.rb: Cleanup unnecessary rules.
15147 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
15148
15149 * normal/main.c: Don't load list files on grub-emu-lite.
15150 * util/misc.c (grub_arch_sync_caches): Removed.
15151
f86a4030
CW
151522010-08-23 Colin Watson <cjwatson@ubuntu.com>
15153
15154 * kern/mips/startup.S (grub_prefix): Update comment to refer to
15155 grub-mkimage rather than grub-mkelfimage.
15156 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15157
06776944
VS
151582010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
15161 a key after CapsLock or NumLock. It's just a qemu bug.
15162
df262419
VS
151632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
15166 needed by libusb wrapper.
15167
b40ea81b
ST
151682010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15169
15170 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
15171
dee50575
VS
151722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
15175 --nounzip is passed.
15176
fb1d7b79
VS
151772010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 USB hotunplugging and USB serial support.
15180
15181 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
15182 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
15183 (grub_uhci_transfer): Respect timeout and set *actual.
15184 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
15185 non-standard length.
15186 (grub_usb_device_attach): Autoload modules.
15187 (GRUB_MOD_INIT): Set grub_term_poll_usb.
15188 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
15189 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
15190 users updated.
15191 (grub_usb_add_hub): Fill nports and children.
15192 (attach_root_port): Receive hub instead of controller.
15193 All users updated. Fill hub->devices.
15194 (grub_usb_root_hub): Allocate hub->devices.
15195 (detach_device): New function.
15196 (poll_nonroot_hub): Fill children and detach devices.
15197 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
15198 actual arguments. All users updated.
15199 (grub_usb_bulk_read_extended): New function.
15200 * bus/usb/serial/common.c: New file.
15201 * bus/usb/serial/ftdi.c: Likewise.
15202 * bus/usb/serial/pl2303.c: Likewise.
15203 * commands/terminal.c (handle_command): Support wildcard.
15204 * commands/usbtest.c: Output "Unknown" instead of empty string.
15205 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
15206 (usbserial_common_mod_SOURCES): New variable.
15207 (usbserial_common_mod_CFLAGS): Likewise.
15208 (usbserial_common_mod_LDFLAGS): Likewise.
15209 (pkglib_MODULES): Add usbserial_pl2303.mod.
15210 (usbserial_pl2303_mod_SOURCES): New variable.
15211 (usbserial_pl2303_mod_CFLAGS): Likewise.
15212 (usbserial_pl2303_mod_LDFLAGS): Likewise.
15213 (pkglib_MODULES): Add usbserial_ftdi.mod.
15214 (usbserial_ftdi_mod_SOURCES): New variable.
15215 (usbserial_ftdi_mod_CFLAGS): Likewise.
15216 (usbserial_ftdi_mod_LDFLAGS): Likewise.
15217 (pkglib_MODULES): Add serial.mod.
15218 (serial_mod_SOURCES): New variable.
15219 (serial_mod_CFLAGS): Likewise.
15220 (serial_mod_LDFLAGS): Likewise.
15221 * conf/i386-pc.rmk: Likewise.
15222 * conf/mips-yeeloong.rmk: Likewise.
15223 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
15224 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15225 * disk/usbms.c (first_available_slot): New variable.
15226 (grub_usbms_attach): Don't reuse free slots due to potential cache
15227 problems.
15228 * include/grub/serial.h: Moved to ..
15229 * include/grub/ns8250.h: ...this.
15230 * include/grub/serial.h: New file.
15231 * include/grub/term.h (grub_term_poll_usb): New variable.
15232 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
15233 readkey. All users updated.
15234 (grub_terminfo_output_state): Pass term to put.
15235 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
15236 (grub_usb_controller_dev): Add timeout and actual arguments to
15237 transfer. All users updated.
15238 (grub_usb_interface): New field detach_data.
15239 (grub_usb_device): New fields children and nports.
15240 (grub_usb_ep_type_t): New type.
15241 (grub_usb_get_ep_type): New function.
15242 (grub_usb_bulk_read_extended): Likewise.
15243 * include/grub/usbdesc.h (grub_usb_desc): New type.
15244 * include/grub/usbserial.h: New file.
15245 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
15246 * kern/term.c (grub_term_poll_usb): New variable.
15247 (grub_getkey): Call grub_term_poll_usb if set.
15248 (grub_checkkey): Likewise.
15249 (grub_getkeystatus): Likewise.
15250 * term/serial.c: Moved controller-specific parts to ...
15251 * term/ns8250.c: ... here.
15252 * term/serial.c: Mostly rewritten.
15253 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
15254 according to spec.
15255
21a313de
RM
152562010-08-20 Robert Millan <rmh@gnu.org>
15257
15258 Make kFreeBSD code more generic to support ext2fs as root, ufs as
15259 a separate module and maybe other interesting combinations.
15260
15261 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
15262 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
15263 (kfreebsd_entry): Add generic filesystem module load routine.
15264 Map GRUB `ext2' to kFreeBSD `ext2fs'.
15265
63c734a6
CW
152662010-08-20 Colin Watson <cjwatson@ubuntu.com>
15267
15268 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
15269 "numcenter" (I misunderstood the purpose of this entry).
15270 * docs/grub.texi (sendkey): Likewise.
15271
c4d16542
CW
152722010-08-20 Colin Watson <cjwatson@ubuntu.com>
15273
15274 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
15275 status flag options; simply omitting the option is equivalent and
15276 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
15277 (keysym_table): Rename "num5numlock" to "numlock".
15278 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
15279 can uniformly say that only the last of multiple `sendkey'
15280 invocations has any effect.
15281 * docs/grub.texi (sendkey): New section.
15282
93541d66
CW
152832010-08-19 Colin Watson <cjwatson@ubuntu.com>
15284
15285 * commands/i386/pc/sendkey.c (options): Fix three typos.
15286
b4ece5e1
VS
152872010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 Implement sendkey support.
15290
15291 * commands/i386/pc/sendkey.c: New file.
15292 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
15293 (sendkey_mod_SOURCES): New variable.
15294 (sendkey_mod_CFLAGS): Likewise.
15295 (sendkey_mod_LDFLAGS): Likewise.
15296
51f1f5af
CW
152972010-08-18 Colin Watson <cjwatson@ubuntu.com>
15298
15299 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
15300 fix warnings from Autoconf.
15301
9da94e05
CW
153022010-08-18 Colin Watson <cjwatson@ubuntu.com>
15303
15304 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
15305 to avoid false positives with some assemblers that output things
15306 like "someprefix_func" as part of their output.
15307
729a0f2e
RM
153082010-08-15 Robert Millan <rmh@gnu.org>
15309
15310 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
15311 errors.
15312 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
15313 grub_get_libzfs_handle() errors.
15314
f3710e08
RM
153152010-08-14 Robert Millan <rmh@gnu.org>
15316
15317 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
15318 filesystem is not ZFS.
15319
7a3c13de
BC
153202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15321
15322 Fix for misspelled color names defaulting to black/black (bug
15323 reported by Doug Nazar)
15324
15325 * include/grub/normal.h (grub_parse_color_name_pair): Add return
15326 status to prototype.
15327 * normal/color.c (grub_parse_color_name_pair): Return failure
15328 status.
15329 (grub_env_write_color_normal): Ignore bad color names.
15330 (grub_env_write_color_highlight): Likewise.
15331 * normal/main.c (GRUB_MOD_INIT): Set default color names.
15332
ab8ba50d
BC
153332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15334
15335 "shift" command support to GRUB script.
15336
15337 * include/grub/script_sh.h (grub_script_shift): New prototype.
15338 * script/execute.c (grub_script_shift): New function.
15339 * script/main.c (grub_script_init): Register shift command.
15340 (grub_script_fini): Unregister shift command.
15341 * util/grub-script-check.c (grub_script_cmd_shift): New function.
15342
15343 * tests/grub_script_shift.in: New testcase.
15344 * conf/tests.rmk: Rules for new testcase.
15345
4d61999e
BC
153462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15347
15348 "continue" command support to GRUB script.
15349
15350 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
15351 (grub_script_break): Continue support.
15352 * script/main.c (grub_script_init): Register continue command.
15353 (grub_script_fini): Unregister continue command.
15354
15355 * tests/grub_script_continue.in: New testcase.
15356 * conf/tests.rmk: Rules for new testcase.
15357
4df51e00
BC
153582010-08-12 BVK Chaitanya <bvk@dbook>
15359
15360 "break" command support to GRUB script.
15361
15362 * conf/common.rmk: Rule updates to grub-script-check.
15363 * include/grub/misc.h (grub_min): New function.
15364 * include/grub/script_sh.h (grub_script_init): New prototype.
15365 (grub_script_fini): New prototype.
15366 (grub_script_break): New prototype.
15367 * script/main.c (grub_script_init): New function.
15368 (grub_script_fini): New function.
15369 * script/execute.c (grub_script_break): New function.
15370 * normal/main.c: Calls to grub_script_{init,fini}.
15371 * util/grub-script-check.c (grub_script_break): New function.
15372
15373 * tests/grub_script_break.in: New testcase.
15374 * conf/tests.rmk: Rules for new test case.
15375
f12c8420
BC
153762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15377
15378 Function parameters support to GRUB script.
15379
15380 * script/yylex.l (VARIABLE): Regular expression update.
15381 * script/function.c (grub_script_function_call): Moved ...
15382 * script/execute.c (grub_script_function_call): ... to here.
15383 (grub_script_execute_arglist_to_argv): Removed.
15384 (grub_script_arglist_to_argv): New function.
15385 * script/argv.c: New file.
15386 (grub_script_argv_free): New function.
15387 (grub_script_argv_next): Likewise.
15388 (grub_script_argv_append): Likewise.
15389 (grub_script_argv_split_append): Likewise.
15390 * include/grub/script_sh.h (grub_script_argv): New struct.
15391 (grub_script_argv_free): New function.
15392 (grub_script_argv_next): Likewise.
15393 (grub_script_argv_append): Likewise.
15394 (grub_script_argv_split_append): Likewise.
15395
15396 * conf/common.rmk (normal.mod): New source script/argv.c.
15397
15398 * tests/grub_script_echo1.in: More tests.
15399 * tests/grub_script_vars1.in: Likewise.
15400 * tests/grub_script_functions.in: New test case.
15401 * conf/tests.rmk: Rules for new testcase.
15402
8022b748
BC
154032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
15404
15405 Remove grub_script_cmdblock struct.
15406
15407 * include/grub/script_sh.h: Remove grub_script_cmdblock.
15408 * script/parser.y: Likewise.
15409 * script/execute.c: Rename cmdblock suffix to cmdlist.
15410 * script/script.c: Likewise.
15411 * util/grub-script-check.c: Likewise.
15412
79a6ba61
YB
154132010-08-11 Yves Blusseau <blusseau@zetam.org>
15414
15415 * .bzrignore: add grub-macho2img
15416
d04b9414
VS
154172010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
15420
f947ab49
VS
154212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 Remove the dump of sm712 initialisation sequence.
15424
15425 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
15426 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
15427 (GRUB_VGA_IO_MISC_WRITE): Likewise.
15428 (GRUB_VGA_CR_*): Added many registers.
15429 (GRUB_VGA_SR_*): Likewise.
15430 (GRUB_VGA_GR_*): Likewise.
15431 (grub_vga_write_arx): New function.
15432 (grub_video_hw_config): New struct.
15433 (grub_vga_set_geometry): New function.
15434 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
15435 GRUB_PCI_CLASS_SUBCLASS_VGA.
15436 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
15437 * video/sm712.c (grub_sm712_write_reg): New function
15438 (grub_sm712_read_reg): Likewise.
15439 (grub_sm712_sr_write): Likewise.
15440 (grub_sm712_gr_write): Likewise.
15441 (grub_sm712_cr_write): Likewise.
15442 (grub_sm712_write_arx): Likewise.
15443 (grub_sm712_cr_shadow_write): Likewise.
15444 (grub_sm712_write_dda_lookup): Likewise.
15445 (grub_video_sm712_setup): Initialise the video rather then
15446 blindly replay the dump.
15447 (main) [TEST]: Add a routine to be able to compile as standalone for
15448 tests.
15449 * video/sm712_init.c (sm712_init): Removed.
15450 (sm712_sr_seq1): New array.
15451 (sm712_sr_seq2): Likewise.
15452
f0206638
VS
154532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * include/grub/vga.h: Add missing grub/pci.h include.
15456
2764da3b
YB
154572010-08-10 Yves Blusseau <blusseau@zetam.org>
15458
15459 * util/grub-macho2img.c (main): fix typo
15460
cf0c775e
VS
154612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
15464 (grub_vga_gr_read): Likewise.
15465 (grub_vga_cr_write): Likewise.
15466 (grub_vga_cr_read): Likewise.
15467 (grub_vga_sr_write): Likewise.
15468 (grub_vga_sr_read): Likewise.
15469 (grub_vga_palette_read): Likewise.
15470 (grub_vga_palette_write): Likewise.
15471 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
15472 (grub_sm712_sr_read): New function.
15473 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
15474 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
15475
07f360e9
RM
154762010-08-09 Robert Millan <rmh@gnu.org>
15477
15478 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
15479 out unused variables on non-ZFS build.
15480
346c2072
RM
154812010-08-08 Robert Millan <rmh@gnu.org>
15482
15483 Fix path generation for sub-filesystems in ZFS.
15484
15485 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
15486 missing slash.
15487
71175420
RM
154882010-08-08 Robert Millan <rmh@gnu.org>
15489
15490 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
15491
0d8286f3
RM
154922010-08-08 Robert Millan <rmh@gnu.org>
15493
15494 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
15495 exist, issue a proper error message (rely on `ls' for translated
15496 strings).
15497
55dd2924
RM
154982010-08-08 Robert Millan <rmh@gnu.org>
15499
15500 Fix grub-probe invocation.
15501
15502 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
15503
d3dd9e80
RM
155042010-08-04 Robert Millan <rmh@gnu.org>
15505
15506 * configure.ac: Remove checks for getfsstat() and getmntany().
15507 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
15508 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
15509 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
15510 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
15511 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
15512 function.
15513 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
15514 via find_mount_point_from_dir() and getfsstat() / getmntany().
15515
0de22aa9
RM
155162010-08-04 Robert Millan <rmh@gnu.org>
15517
15518 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15519 (grub_find_zpool_from_mount_point): Merge into ...
15520 (grub_find_zpool_from_dir): ... this.
15521 * kern/emu/misc.c: Likewise.
15522
15523 * kern/emu/misc.c
15524 (grub_make_system_path_relative_to_its_root): Replace
15525 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
15526 with grub_find_zpool_from_dir().
15527 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
15528
62858144
RM
155292010-08-04 Robert Millan <rmh@gnu.org>
15530
15531 Support OpenSolaris in ZFS device resolution.
15532
15533 * configure.ac: Check for getmntany().
15534 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
15535 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
15536 support.
15537
9dd6fd50
RM
155382010-08-03 Robert Millan <rmh@gnu.org>
15539
15540 Fix grub-emu build.
15541
15542 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
15543 * include/grub/emu/misc.h: ... here.
15544
15545 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
15546 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
15547
15548 * util/misc.c: Remove `<grub/util/libzfs.h>'.
15549 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
15550 (grub_get_libzfs_handle): Move to ...
15551 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
15552 (grub_get_libzfs_handle): ... here.
15553
c9f7ff97
BC
155542010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
15555
15556 * script/execute.c (grub_script_execute_cmdline): Check for NULL
15557 as command name case.
15558
a870a783
CW
155592010-08-02 Colin Watson <cjwatson@ubuntu.com>
15560
15561 * disk/raid.c (insert_array): Select unique numbers for named arrays
15562 as well, for use as keys in the disk cache.
15563
c7db243b
RM
155642010-08-01 Robert Millan <rmh@gnu.org>
15565
15566 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
15567 kFreeBSD device name, except on ZFS where the filesystem label is
15568 used.
15569 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
15570 `/boot/zfs/zpool.cache'.
15571 Set mountfrom kernel variable using ${kfreebsd_device}.
15572
f7abdefb
RM
155732010-08-01 Robert Millan <rmh@gnu.org>
15574
15575 Make it even harder to use uninitialized `libzfs_handle' (and
15576 make the interface a bit simpler).
15577
15578 * include/grub/util/misc.h (grub_util_init_libzfs)
15579 (libzfs_handle): Remove.
15580 (grub_get_libzfs_handle): New prototype.
15581
15582 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
15583 attribute.
15584 (grub_util_init_libzfs): Remove.
15585 (grub_get_libzfs_handle): New function.
15586
15587 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
15588 grub_get_libzfs_handle() to obtain a libzfs handle instead of
15589 accessing `libzfs_handle' directly.
15590
c882acc0
RM
155912010-08-01 Robert Millan <rmh@gnu.org>
15592
15593 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15594 (grub_find_zpool_from_mount_point): New function prototypes.
15595
15596 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15597 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15598
15599 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15600 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15601 `static' attribute.
15602
15603 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15604 finding zpool from mount point into ...
15605 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15606
15607 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15608 requested path is part of a ZFS pool, use
15609 grub_find_zpool_from_mount_point() to detect its filesystem name,
15610 and generate a path with `/fsname@path' syntax.
15611
8bfe31d8
CW
156122010-08-01 Colin Watson <cjwatson@ubuntu.com>
15613
15614 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
15615 (void) rather than () so that this is a proper prototype.
15616
553df63d
VS
156172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
15620
8687cf07
VS
156212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15622
15623 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
15624 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
15625
ea9be8ea
CW
156262010-08-01 Colin Watson <cjwatson@ubuntu.com>
15627
15628 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
15629
6eea041a
CW
156302010-08-01 Colin Watson <cjwatson@ubuntu.com>
15631
15632 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15633
2cfb45df
CW
156342010-08-01 Colin Watson <cjwatson@ubuntu.com>
15635
15636 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15637 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15638 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15639 disable gfxpayload.
15640 (Shell-like scripting): Add real content.
15641 (Serial terminal): Suggest `terminal_input serial; terminal_output
15642 serial' rather than putting the two commands on separate lines,
15643 since console input will be inoperative after the first command.
15644 (menuentry): Document --class, --users, and --hotkey options.
15645 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15646 Vladimir Serbinenko).
15647
7decd202
VS
156482010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
156492010-08-01 Colin Watson <cjwatson@ubuntu.com>
15650
15651 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15652
c882acc0
RM
156532010-08-01 Robert Millan <rmh@gnu.org>
15654
15655 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15656 (grub_find_zpool_from_mount_point): New function prototypes.
15657
15658 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15659 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15660
15661 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15662 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15663 `static' attribute.
15664
15665 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15666 finding zpool from mount point into ...
15667 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15668
15669 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15670 requested path is part of a ZFS pool, use
15671 grub_find_zpool_from_mount_point() to detect its filesystem name,
15672 and generate a path with `/fsname@path' syntax.
15673
deb0caa3
RM
156742010-08-01 Robert Millan <rmh@gnu.org>
15675
15676 Prevent accidental use of uninitialized libzfs_handle.
15677
15678 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15679 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15680 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15681
ce04ef47
CW
156822010-08-01 Colin Watson <cjwatson@ubuntu.com>
15683
15684 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15685 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15686
ebf53056
RM
156872010-08-01 Robert Millan <rmh@gnu.org>
15688
15689 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15690
3710bb6b
RM
156912010-07-31 Robert Millan <rmh@gnu.org>
15692
15693 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15694
8072efeb
RM
156952010-07-31 Robert Millan <rmh@gnu.org>
15696
15697 * kern/emu/misc.c: Add missing license header.
15698
3169f4c7
RM
156992010-07-31 Robert Millan <rmh@gnu.org>
15700
15701 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15702
15703 * include/grub/util/libnvpair.h: Include `<config.h>'.
15704 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15705 declaring libnvpair prototypes ourselves.
15706 * include/grub/util/libzfs.h: Include `<config.h>'.
15707 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15708 declaring libzfs prototypes ourselves.
15709
15710 (libzfs_handle): Moved to ...
15711 * include/grub/util/misc.h (libzfs_handle): ... here.
15712 Include `<grub/util/libzfs.h>'.
15713
c9a00aee
RM
157142010-07-30 Robert Millan <rmh@gnu.org>
15715
15716 * include/grub/emu/misc.h: Add missing license header.
15717
a184f9c8
RM
157182010-07-30 Robert Millan <rmh@gnu.org>
15719
15720 Enable `grub-probe -t device' resolution on ZFS.
15721
15722 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15723 * include/grub/util/libnvpair.h: New file.
15724 * include/grub/util/libzfs.h: New file.
15725
15726 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15727 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15728 `<grub/util/libnvpair.h>'.
15729 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15730
15731 (find_mount_point_from_dir): New static function.
15732 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15733 function.
15734 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15735 find_root_device_from_libzfs() before ressorting to find_root_device().
15736
15737 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15738 prototype.
15739 * util/misc.c: Include `<grub/util/libzfs.h>'.
15740 (grub_util_init_libzfs): New function.
15741 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15742 [HAVE_LIBZFS] (fini_libzfs): New static function.
15743 (grub_util_init_libzfs): New function.
15744 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15745
f7790cdd
RM
157462010-07-30 Robert Millan <rmh@gnu.org>
15747
15748 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15749 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15750 `warn_unused_result' attribute.
15751 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15752 (grub_xasprintf, grub_xvasprintf): Likewise.
15753 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15754
0806b63c
RM
157552010-07-29 Robert Millan <rmh@gnu.org>
15756
15757 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15758 (probe): Handle `PRINT_FS_LABEL'.
15759 (main): Handle `-t fs_label'.
15760
9f841f5c
RM
157612010-07-29 Robert Millan <rmh@gnu.org>
15762
15763 * configure.ac: Remove grub-mkisofs checks.
15764
46371121
VS
157652010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15768 Reported by: Lennart Sorensen.
15769
157702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15773 prior to terminal_input/terminal_output separation. It's been over 1.5
15774 years and those versions weren't widely deployed.
15775
a9600892
CW
157762010-07-22 Colin Watson <cjwatson@ubuntu.com>
15777
15778 * disk/raid.c (insert_array): Don't count named arrays when looking
15779 for unused array numbers.
697e053c 15780 Reported and tested by: Michael Guntsche.
a9600892 15781
c03507df
CW
157822010-07-20 Colin Watson <cjwatson@ubuntu.com>
15783
15784 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15785 implementation of this so that grub-emu links again, with a note
15786 that this should support hotplugging in the future.
15787
b26f1c11
CW
157882010-07-20 Colin Watson <cjwatson@ubuntu.com>
15789
15790 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15791
efc9d7f1
CW
157922010-07-20 Colin Watson <cjwatson@ubuntu.com>
15793
15794 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15795 handle on failure.
15796 (grub_loopback_close): Remove empty function.
15797 (grub_loopback_dev): Remove close method.
15798
dd8ff5c9
CW
157992010-07-20 Colin Watson <cjwatson@ubuntu.com>
15800
15801 Disable EFI cursor when the EFI console becomes inactive.
15802
15803 * term/efi/console.c (grub_efi_console_init): New function.
15804 (grub_efi_console_fini): New function.
15805 (grub_console_term_output): Register init and fini methods.
15806
5e3bec67
VS
158072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15810 sh script.
15811
afaec079
VS
158122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * disk/loopback.c (grub_loopback): Replace filename with file.
15815 (delete_loopback): Handle new semantics.
15816 (grub_cmd_loopback): Likewise.
15817 (grub_loopback_iterate): Likewise.
15818 (grub_loopback_close): Likewise.
15819
a6a11f3c
VS
158202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15823 with -p "".
15824 Reported by: Tito Keitel.
15825
64a638b0
VS
158262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * docs/grub.texi (Naming convention): Document new naming convention.
15829
ab8ba957
VS
158302010-07-20 Vadim Solomin <vadic052@gmail.com>
158312010-07-20 Colin Watson <cjwatson@ubuntu.com>
15832
15833 Generate device.map in something closer to the old ordering.
15834
15835 * util/deviceiter.c (struct device): New declaration.
15836 (compare_file_names): Rename to ...
15837 (compare_devices): ... this. Sort by kernel name in preference to
15838 the stable by-id name, but keep the latter as a fallback comparison.
15839 Update header comment.
15840 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15841 of `struct device' rather than of plain file names.
15842
a29d6a4b
TF
158432010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15844
15845 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15846 on i386.
15847
39d824e8
VS
158482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15851 hardcoding size.
15852 (setv1table): Likewise.
15853
f058276b
FZ
158542010-07-20 Colin Watson <cjwatson@ubuntu.com>
15855
15856 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15857 removing the homehost if present.
15858 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15859 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15860 removing the homehost if present.
15861 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15862 if possible.
15863 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15864
15865 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15866 parameter. Set its pointer target to 0.
15867 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15868 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15869 `data_offset' value from the superblock for 1.x metadata.
15870 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15871 data on the device.
15872 (insert_array): Record the start sector of data on the device.
15873 (grub_raid_register): Pass start_sector parameters to
15874 grub_raid_list->detect and insert_array.
15875 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15876 member.
15877 (struct grub_raid): Add start_sector parameter to `detect'.
15878
15879 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15880 __attribute__ ((packed)), leaving a comment.
15881 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15882 (grub_mdraid_detect_09): ... here and ...
15883 (grub_mdraid_detect_1x): ... here.
15884
158852010-07-20 Peter Henn <peter.henn@web.de>
15886
15887 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15888 chunk size and disk size, which are already given as sector counts
15889 as distinct from the 0.90 units. Fetch the correct device number
15890 from the role table instead of using the table index.
15891
158922010-07-20 Felix Zielcke <fzielcke@z-51.de>
15893
15894 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15895 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15896 (WriteMostly1): New macro.
15897 Set array->name to NULL for metadata format 0.90. Add support for
15898 metadata 1.x. Fix some comments.
15899 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15900 few comments.
15901 * util/getroot.c (grub_util_get_grub_dev): Add support for
15902 /dev/md/name style devices.
15903
4b761da9
CW
159042010-07-20 Colin Watson <cjwatson@ubuntu.com>
15905
15906 * .bzrignore: Ignore 20_linux_xen.
15907
5771289a
CW
159082010-07-17 Colin Watson <cjwatson@ubuntu.com>
15909
15910 * util/import_unicode.py: Remove unnecessary imports.
15911
5dab68df
AN
159122010-07-17 Aleš Nesrsta <starous@volny.cz>
15913
15914 Hotplugging and USB hub support.
15915
15916 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15917 (grub_ohci): Likewise.
15918 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15919 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15920 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15921 (GRUB_OHCI_CTRL_EDS): Likewise.
15922 (GRUB_OHCI_BULK_EDS): Likewise.
15923 (GRUB_OHCI_TDS): Likewise.
15924 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15925 (grub_ohci_ed_phys2virt): New function.
15926 (grub_ohci_virt_to_phys): Likewise.
15927 (grub_ohci_td_phys2virt): Likewise.
15928 (grub_ohci_td_virt2phys): Likewise.
15929 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15930 attachment.
15931 (grub_ohci_find_ed): New function.
15932 (grub_ohci_alloc_td): Likewise.
15933 (grub_ohci_free_td): Likewise.
15934 (grub_ohci_free_tds): Likewise.
15935 (grub_ohci_transfer): Use previously allocated memory.
15936 (grub_ohci_portstatus): Reset status changed bit.
15937 (grub_ohci_detect_dev): Supply status changed.
15938 (grub_ohci_fini_hw): Free memory.
15939 (grub_ohci_restore_hw): Reallocate memory.
15940 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15941 Reset status change.
15942 (grub_uhci_detect_dev): Supply status_change.
15943 * bus/usb/usb.c (attach_hooks): New var.
15944 (grub_usb_device_attach): New function.
15945 (grub_usb_register_attach_hook_class): Likewise.
15946 (grub_usb_unregister_attach_hook_class): Likewise.
15947 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15948 (grub_usb_add_hub): Reset connection changed bit.
15949 (attach_root_port): New function.
15950 (grub_usb_root_hub): Likewise.
15951 (poll_nonroot_hub): Likewise.
15952 (grub_usb_poll_devices): Likewise.
15953 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15954 * disk/usbms.c (grub_usbms_open): Use device hooks.
15955 (grub_usbms_iterate) :Poll devices.
15956 (grub_usbms_finddevs): Split into ...
15957 (grub_usbms_attach): ... this ...
15958 (grub_usbms_attach): ... and this.
15959 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15960 in detect_dev.
15961 (grub_usb_interface): New fields attached and detach_hook.
15962 (grub_usb_attach_hook_class): New type.
15963 (grub_usb_attach_desc): New struct.
15964 (grub_usb_register_attach_hook_class): New function.
15965 (grub_usb_unregister_attach_hook_class): Likewise.
15966 (grub_usb_poll_devices): Likewise.
15967 (grub_usb_device_attach): Likewise.
15968 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15969 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15970
3222efaf
VS
159712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15974 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15975 delta determination style. Works with most NetBSD partitions too.
15976
139b714a
VS
159772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15980 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15981
986aad56
VS
159822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15985
99be513c
AB
159862010-07-14 Anton Blanchard <anton@samba.org>
15987
15988 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15989 ET_DYN files.
15990
18075f62
GS
159912010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15992
15993 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15994
8d9a5b15
GS
159952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15996
15997 * kern/partition.c (grub_partition_check_containment): New function to
15998 check that a partition is physically contained in a parent. Since
15999 offsets are relative (and non-negative), this reduces to checking that
16000 the partition ends before its parent.
16001 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16002 (grub_partition_iterate): Likewise.
16003 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16004 comments.
16005 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16006 partitions that start before their parent, and add debug printfs.
16007
19563c25
CW
160082010-07-13 Colin Watson <cjwatson@ubuntu.com>
16009
16010 * Makefile.in (.SUFFIX): Spell correctly, as ...
16011 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16012 bare module name without `.mod', e.g. `test') tried to invoke a
16013 Modula-2 compiler.
16014
1a1f1e67
CW
160152010-07-13 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * README: Point to the Info manual.
16018
811b0dca
JS
160192010-07-13 Jiro SEKIBA <jir@unicus.jp>
16020
16021 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16022 2nd superblock position from partition size.
16023
e4f4eafc
CW
160242010-07-10 Colin Watson <cjwatson@ubuntu.com>
16025
16026 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16027 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16028 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16029 outputs.
16030
4274c30f
VS
160312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Restructure SCSI .id handling.
16034 Reported and tested by: Aleš Nesrsta.
16035
16036 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16037 (grub_atapi_dev): Changed .name to "ata". New field .id.
16038 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16039 (grub_usbms_dev): New field .id.
16040 * disk/scsi.c (grub_scsi_iterate): Generate name.
16041 (grub_scsi_open): Parse name.
16042 * include/grub/scsi.h (grub_make_scsi_id): New function.
16043 (grub_scsi_dev): Change iterate and open to number instead of naming
16044 busses. All users updated.
16045 (grub_scsi): Remove name. Add .bus.
16046
5bc24388
VS
160472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 * commands/help.c (grub_cmd_help): Fix a typo.
16050
249975ba
VS
160512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16054 Reported and tested by: Colin Watson.
16055
3eaac1a1
VS
160562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16057
16058 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16059 in this context.
16060
becce1b1
VS
160612010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16064
f7bf0918
CW
160652010-07-07 Colin Watson <cjwatson@ubuntu.com>
16066
16067 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16068 indentation.
16069
0b0f9620
CW
160702010-07-06 Colin Watson <cjwatson@ubuntu.com>
16071
16072 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16073 and disk/raid6_recover.c.
16074 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16075 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16076
1e545469
CW
160772010-07-06 Colin Watson <cjwatson@ubuntu.com>
16078
16079 * term/gfxterm.c (repaint_schedulded): Rename to ...
16080 (repaint_scheduled): ... this. Update all callers.
16081 (repaint_was_schedulded): Rename to ...
16082 (repaint_was_scheduled): ... this. Update all callers.
16083
5357687a
CW
160842010-07-06 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16087 which we expect to be handled by upper layers.
16088
29d7e783
BC
160892010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16090
16091 * bus/usb/usbhub.c: #include time.h header.
16092
37582066
CW
160932010-07-06 Colin Watson <cjwatson@ubuntu.com>
16094
16095 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16096 entry_name also for entries without stat blocks (e.g. ".."); fixes
16097 corruption of the first entry in a directory.
16098
c8c06953
CW
160992010-07-06 Colin Watson <cjwatson@ubuntu.com>
16100
16101 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16102 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16103 doesn't work otherwise.
16104
e75056f1
CW
161052010-07-05 Colin Watson <cjwatson@ubuntu.com>
16106
16107 * docs/grub.texi (Features): Update list of supported file systems.
16108 (GNU/Linux): Update for GRUB 2.
16109 (Serial terminal): Remove mention of --disable-serial, which was a
16110 GRUB Legacy configure option. Update instructions to use
16111 `terminal_input' and `terminal_output' rather than `terminal'.
16112 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16113 configuration' and `Installing GRUB using grub-install'.
16114 (Menu entry editor): Update for GRUB 2.
16115 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16116 Document new -a, -u, and -v options.
16117 (initrd): New section.
16118 (initrd16): New section.
16119 (linux): New section.
16120 (linux16): New section.
16121 (search): The `var' argument to `--set' is optional.
16122 (GRUB only offers a rescue shell): Go into a little more detail on
16123 drive ordering.
16124
5cf69151
CW
161252010-07-05 Colin Watson <cjwatson@ubuntu.com>
16126
16127 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16128
e3f90044
CW
161292010-07-05 Colin Watson <cjwatson@ubuntu.com>
16130
16131 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
16132 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
16133
38d8f4f3
CW
161342010-07-05 Colin Watson <cjwatson@ubuntu.com>
16135
16136 * util/i386/pc/grub-setup.c (setup): Rename prefix to
16137 install_prefix, in line with install_dos_part and install_bsd_part.
16138 Add new prefix variable, which is copied to install_prefix after
16139 comparing core.img in memory with the one read from disk in the
16140 no-embedding case, and use that rather than overwriting
16141 install_prefix immediately when installing to a partition.
16142 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
16143 Bicakci.
16144
57ebd41e
GS
161452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16146
16147 * configure.ac: Avoid == in test command, it's not portable.
16148 * util/grub.d/30_os-prober.in: Likewise.
16149
cb7f64b2
CW
161502010-07-04 Colin Watson <cjwatson@ubuntu.com>
16151
16152 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
16153
6b654bb0
GS
161542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
16155
16156 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
16157 multiple (top-level) partmaps.
16158
72a2026d
VS
161592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 16162 Reported by: Tino Keitel.
72a2026d 16163
df3eb88f
VS
161642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 Bidi and diacritics support.
16167
16168 * Makefile.in (widthspec.bin): New target.
16169 (widthspec.h): Likewise.
16170 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
16171 * autogen.sh: Generate unidata.c.
16172 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
16173 * commands/ls.c (grub_ls_list_devices): Likewise.
16174 (grub_ls_list_files): Likewise.
16175 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
16176 (grub_mini_cmd_lsmod): Likewise.
16177 * commands/read.c: Likewise.
16178 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
16179 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
16180 * lib/arg.c (grub_arg_show_help): Likewise.
16181 * lib/crypto.c (grub_password_get): Likewise.
16182 * normal/auth.c (grub_username_get): Likewise.
16183 * normal/misc.c (grub_normal_print_device_info): Likewise.
16184 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
16185 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
16186 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
16187 (normal/charset.c_DEPENDENCIES): New variable.
16188 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
16189 (pkglib_MODULES): Remove charset.mod.
16190 (charset_mod_SOURCES): Removed.
16191 (charset_mod_CFLAGS): Likewise.
16192 (charset_mod_LDFLAGS): Likewise.
16193 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
16194 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
16195 and term/tparm.c.
16196 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16197 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16198 (kernel_img_HEADERS): Add terminfo.h.
16199 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
16200 Fill ->font. Reverse ascii bitmaps.
16201 (grub_font_get_xheight): New function.
16202 * font/font.c (grub_font_get_string_width): Moved from here ...
16203 * gfxmenu/font.c (grub_font_get_string_width): ... here.
16204 * font/font.c (grub_font_draw_string): Moved from here ...
16205 * gfxmenu/font.c (grub_font_draw_string): ... here.
16206 * font/font.c (grub_font_dup_glyph): New function.
16207 (grub_font_blit_glyph): Likewise.
16208 (grub_font_blit_glyph_mirror): Likewise.
16209 (blit_comb): Likewise.
16210 (grub_font_construct_dry_run): Likewise.
16211 (grub_font_get_constructed_device_width): Likewise.
16212 (grub_font_construct_glyph): Likewise.
16213 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
16214 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
16215 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
16216 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
16217 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
16218 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
16219 (grub_font_get_xheight): New proto.
16220 (grub_font_get_constructed_device_width): Likewise.
16221 (grub_font_construct_glyph): Likewise.
16222 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
16223 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
16224 * include/grub/font.h (grub_font_draw_string): Moved from here ...
16225 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
16226 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
16227 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
16228 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
16229 (grub_console_getcharwidth): Likewise.
16230 * include/grub/misc.h (grub_xputs): New proto.
16231 (grub_puts): Inlined.
16232 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
16233 (grub_normal_get_line_counter): Removed.
16234 (grub_install_newline_hook): Likewise.
16235 (grub_normal_get_char_counter): New proto.
16236 (grub_normal_reset_more): Likewise.
16237 (grub_xputs_normal): Likewise.
16238 * include/grub/powerpc/ieee1275/console.h: Removed.
16239 * include/grub/sparc64/ieee1275/console.h: Likewise.
16240 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
16241 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
16242 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
16243 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
16244 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
16245 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
16246 (grub_term_input): Pass reference to self. All users updated.
16247 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
16248 Pass reference to self. New fields normal_color, highlight_color and
16249 data. All users updated.
16250 (grub_putchar): Removed.
16251 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
16252 (grub_unicode_estimate_width): New function.
16253 (grub_term_getcharwidth): Add defaults.
16254 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
16255 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
16256 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
16257 (grub_cls): Remove EXPORT_FUNC.
16258 (grub_setcolorstate): Inline.
16259 (grub_newline_hook): Removed.
16260 * include/grub/terminfo.h: Rewritten. All users updated.
16261 * include/grub/unicode.h: New file.
16262 * include/grub/video.h (grub_video_signed_rect): New type.
16263 * kern/emu/console.c (grub_console_highlight_color): Removed.
16264 (grub_console_normal_color): Likewise.
16265 (grub_console_standard_color): Made static.
16266 (grub_ncurses_putchar): Remove mapping.
16267 (grub_ncurses_getcharwidth): Removed.
16268 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16269 (grub_ncurses_setcolor): Removed.
16270 (grub_ncurses_getcolor): Likewise.
16271 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
16272 (grub_console_putchar): ... this.
16273 (grub_console_putchar): Handle argument difference.
16274 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
16275 console_init_early and console_init_lately.
16276 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
16277 * kern/misc.c (grub_puts): Removed.
16278 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
16279 (grub_vsnprintf_real): Remove str = NULL support.
16280 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
16281 * normal/charset.c (grub_utf8_to_ucs4): ... here.
16282 * kern/term.c (grub_putcode): Renamed to ...
16283 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
16284 (grub_putchar): Removed.
16285 (grub_xputs_dumb): New function.
16286 (grub_xputs): New variable.
16287 * lib/charset.c: Move from here ...
16288 * normal/charset.c: ... to here.
16289 (grub_ucs4_to_utf8): New function.
16290 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
16291 (join_types): New variable.
16292 (unpack_join): New function.
16293 (bidi_types): New variable.
16294 (unpack_bidi): New function.
16295 (get_bidi_type): Likewise.
16296 (get_join_type): Likewise.
16297 (is_mirrored): Likewise.
16298 (grub_unicode_get_comb_type): Likewise.
16299 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
16300 (is_type_after): Likewise.
16301 (grub_unicode_aglomerate_comb): Likewise.
16302 (bidi_line_wrap): Likewise.
16303 (grub_bidi_line_logical_to_visual): Likewise.
16304 (grub_bidi_logical_to_visual): Likewise.
16305 (grub_unicode_mirror_code): Likewise.
16306 (grub_unicode_shape_code): Likewise.
16307 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
16308 Don't use grub_putchar.
16309 * normal/main.c (grub_normal_init_page): Use grub_putcode.
16310 (grub_normal_reader_init): Likewise.
16311 (grub_xputs_saved): New variable.
16312 (GRUB_MOD_INIT): Set grub_xputs.
16313 (GRUB_MOD_FINI): Restore grub_xputs.
16314 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
16315 (menu_init): Avoid printing gfxmenu error.
16316 (show_menu): Use grub_normal_get_char_counter.
16317 * normal/menu_entry.c (update_screen): Fix out-of-array.
16318 (complete): Avoid NULL dereferencing.
16319 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
16320 * normal/menu_text.c (print_spaces): Removed.
16321 (grub_print_ucs4): Likewise.
16322 (grub_print_message_indented): Use grub_print_ucs4.
16323 (print_message): Use grub_putcode.
16324 (print_entry): Hanlde diacritics.
16325 * normal/term.c (term_state): New type.
16326 (grub_more_lines): Removed.
16327 (term_states): New variable.
16328 (grub_normal_line_counter): Renamed to ..
16329 (grub_normal_char_counter): ...this. All users updated.
16330 (grub_normal_get_line_counter): Renamed to ...
16331 (grub_normal_get_char_counter): ... this.
16332 (grub_normal_reset_more): New function.
16333 (process_newline): Removed.
16334 (print_more): New function.
16335 (grub_install_newline_hook): Removed.
16336 (map_code): New function.
16337 (grub_puts_terminal): Use grub_print_ucs4.
16338 (putglyph): New function.
16339 (putcode_real): Likewise.
16340 (grub_putcode): Use putcode_real.
16341 (get_maxwidth): New function.
16342 (get_startwidth): Likewise.
16343 (print_ucs4_terminal): Likewise.
16344 (find_term_state): Likewise.
16345 (put_glyphs_terminal): Likewise.
16346 (print_backlog): Likewise.
16347 (print_ucs4_real): Likewise.
16348 (grub_print_ucs4): Likewise.
16349 (grub_xputs_normal): Likewise.
16350 * term/efi/console.c (grub_console_putchar): Output diacritics.
16351 (grub_console_getcharwidth): Removed.
16352 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16353 * term/gfxterm.c (clear_char): Free chars.
16354 (scroll_up): Avoid leaking memory.
16355 (grub_gfxterm_putchar): Support diacritics.
16356 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
16357 * term/i386/pc/console.c (grub_console_term_output): Declare as
16358 GRUB_TERM_CODE_TYPE_VGA.
16359 * term/i386/pc/vga.c (grub_vga_term): Declare as
16360 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
16361 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
16362 GRUB_TERM_CODE_TYPE_VGA.
16363 * term/i386/vga_common.c (map_char): Removed.
16364 (grub_console_putchar): Likewise.
16365 (grub_console_getcharwidth): Likewise.
16366 * term/ieee1275/ofconsole.c: Simplify using terminfo.
16367 (colors): Reordered to match terminfo.
16368 (grub_ofconsole_normal_color): Removed.
16369 (grub_ofconsole_writeesc): Likewise.
16370 (grub_ofconsole_highlight_color): Likewise.
16371 (grub_ofconsole_getcharwidth): Likewise.
16372 (grub_ofconsole_setcolorstate): Likewise.
16373 (grub_ofconsole_setcolor): Likewise.
16374 (grub_ofconsole_getcolor): Likewise.
16375 (grub_ofconsole_readkey): Renamed to ...
16376 (readkey): ... this. Remove escape sequence handling. Return -1 on no
16377 key.
16378 (grub_ofconsole_checkkey): Removed.
16379 (grub_ofconsole_getkey): Likewise.
16380 (grub_ofconsole_getxy): Likewise.
16381 (grub_ofconsole_gotoxy): Likewise.
16382 (grub_ofconsole_cls): Likewise.
16383 (grub_ofconsole_refresh): Likewise.
16384 (grub_ofconsole_terminfo_input): New struct.
16385 (grub_ofconsole_terminfo_output): Likewise.
16386 (grub_ofconsole_term_input): Use terminfo.
16387 (grub_ofconsole_term_output): Likewise.
16388 (grub_console_init): Split into ...
16389 (grub_console_init_early): ...this and ...
16390 (grub_console_init_lately): ...this. Use terminfo.
16391 (grub_ofconsole_putchar): Renamed to ...
16392 (put): ... this. Remove mapping.
16393 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
16394 * term/serial.c: Simplify using terminfo.
16395 (xpos): Removed.
16396 (ypos): Likewise.
16397 (keep_track): Likewise.
16398 (registered): Likewise.
16399 (input_buf): Likewise.
16400 (npending): Likewise.
16401 (serial_translate_key_sequence): Likewise.
16402 (fill_input_buf): Likewise.
16403 (grub_serial_checkkey): Likewise.
16404 (grub_serial_getkey): Likewise.
16405 (grub_serial_getxy): Likewise.
16406 (grub_serial_gotoxy): Likewise.
16407 (grub_serial_putchar): Likewise.
16408 (grub_serial_cls): Likewise.
16409 (grub_serial_setcolorstate): Likewise.
16410 (grub_serial_setcursor): Likewise.
16411 (serial_hw_init): Use serial_hw_fetch.
16412 (grub_serial_terminfo_input): New variable.
16413 (grub_serial_terminfo_output): Likewise.
16414 (grub_serial_term_input): Use terminfo.
16415 (grub_serial_term_output): Likewise.
16416 * term/terminfo.c (putstr): Use put.
16417 (grub_terminfo_all_free): New function
16418 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
16419 (grub_terminfo_output_register): New function.
16420 (grub_terminfo_output_unregister): Likewise.
16421 (grub_terminfo_getxy): Likewise.
16422 (grub_terminfo_readkey): Likewise.
16423 (grub_terminfo_checkkey): Likewise.
16424 (grub_terminfo_getkey): Likewise.
16425 (grub_terminfo_input_init): Likewise.
16426 (print_terminfo): Likewise.
16427 (grub_cmd_terminfo): Handle encoding.
16428 (grub_terminfo_gotoxy): Track position.
16429 (grub_terminfo_cls): Likewise.
16430 (grub_terminfo_putchar): Likewise.
16431 (grub_terminfo_setcolorstate): Handle colors
16432 (grub_terminfo_cursor_on): This ...
16433 (grub_terminfo_cursor_off): ... and this merged into ...
16434 (grub_terminfo_setcursor): ... this.
16435 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
16436 * unicode/ArabicShaping.txt: New file (imported from Unicode).
16437 * unicode/BidiMirroring.txt: Likewise.
16438 * unicode/UnicodeData.txt: Likewise.
16439 * unicode/COPYING: Likewise.
16440 * util/grub-editenv.c (grub_putchar): Removed.
16441 (grub_xputs_real): New function.
16442 (grub_xputs): New variable.
16443 * util/grub-fstest.c (grub_putchar): Removed.
16444 (grub_xputs_real): New function.
16445 (grub_xputs): New variable.
16446 * util/grub-mkdevicemap.c (grub_putchar): Removed.
16447 (grub_xputs_real): New function.
16448 (grub_xputs): New variable.
16449 * util/grub-probe.c (grub_putchar): Removed.
16450 (grub_xputs_real): New function.
16451 (grub_xputs): New variable.
16452 * util/grub-script-check.c (grub_putchar): Removed.
16453 (grub_xputs_real): New function.
16454 (grub_xputs): New variable.
16455 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
16456 (grub_xputs_real): New function.
16457 (grub_xputs): New variable.
16458 * util/import_unicode.py: New file.
16459 * util/grub-mkfont.c (ft_errmsgs): New array.
16460 (grub_glyph_info): Make bitmap a pointer.
16461 (file_formats): New type WIDTH_SPEC.
16462 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
16463 (options): Add width-spec.
16464 (help): Likewise.
16465 (add_char): Renamed to ...
16466 (add_glyph): ... this.
16467 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
16468 (glyph_replace): New type.
16469 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
16470 (add_char): New function.
16471 (add_subst): Likewise.
16472 (process_cursive): Likewise.
16473 (add_font): Handle GSUB.
16474 (write_font_width_spec): New function.
16475 (main): Sort glyphs.
16476 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
16477 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
16478 * kern/term.c (grub_cls): Moved from here...
16479 * normal/term.c (grub_cls): ... here.
16480
50f0bcda
CW
164812010-07-02 Colin Watson <cjwatson@ubuntu.com>
16482
16483 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
16484 suitable for using within the format argument of printf when
16485 converting grub_size_t.
16486 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
16487 "x" to convert grub_size_t arguments.
16488
40372103
VS
164892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
16492 too long captions.
16493 (list_get_minimal_size): Take selection box into account.
16494
942a10c7
VS
164952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16496
16497 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
16498 NULL font.
16499
2bdb2892
CW
165002010-07-02 Colin Watson <cjwatson@ubuntu.com>
16501
16502 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
16503 devices when iterating over /dev/disk/by-id; they will be handled
16504 later if appropriate, which they aren't always (e.g. LVM).
16505
e03ed6c1
CW
165062010-07-02 Colin Watson <cjwatson@ubuntu.com>
16507
16508 * include/grub/misc.h (grub_reboot): Declare as noreturn.
16509 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
16510 fails.
16511 (grub_halt): Likewise.
16512 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
16513 reset-all fails.
16514 (grub_halt): Don't return, even if all of shut-down, power-off, and
16515 poweroff fail.
16516
47695765
CW
165172010-07-02 Colin Watson <cjwatson@ubuntu.com>
16518
16519 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
16520 arguments, not three.
16521
507736c8
CW
165222010-07-02 Colin Watson <cjwatson@ubuntu.com>
16523
16524 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
16525 * util/grub.d/10_linux.in: Use it to check for LVM, so that
16526 LVM-on-RAID is handled correctly.
16527
e3c8cd37
CW
165282010-07-02 Colin Watson <cjwatson@ubuntu.com>
16529
16530 * docs/grub.texi (Changes from GRUB Legacy): New section.
16531 (Future): Fix typo.
16532
8d4a2fec
CW
165332010-07-02 Colin Watson <cjwatson@ubuntu.com>
16534
16535 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
16536 grub.d/README accidentally ends up executable for one reason or
16537 another. Ignore it.
16538
1c4827be
VS
165392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
16542 (gpt_partition_map_iterate): Support non-512B sectors.
16543
d9a0c941
VS
165442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16545
16546 * kern/efi/init.c (grub_efi_init): Disable watchdog.
16547 Tested by: Seth Goldberg.
16548
48f27e87
VS
165492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
16552 Properly align mbi.
16553 Reported by: Seth Goldberg.
16554
b0c4f956
VS
165552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * util/grub-mkrescue.in: Avoid module duplication.
16558
105a2e8c
SF
165592010-07-01 Sean Finney <seanius@seanius.net>
16560
16561 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
16562
5944958c
SF
165632010-07-01 Sean Finney <seanius@seanius.net>
16564
16565 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
16566
165672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * disk/lvm.c (grub_lvm_checkvalue): New function.
16570 (grub_lvm_check_flag): Likewise.
16571
b79889ba
RM
165722010-07-01 Robert Millan <rmh@gnu.org>
16573
16574 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
16575 Support 'p' as partition separator on kernel of FreeBSD (used
16576 with GPT labels).
16577 (grub_util_biosdisk_get_grub_dev): Likewise.
16578
ec1d04f1
VS
165792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Yeeloong firmware port.
16582
16583 * boot/mips/yeeloong/fwstart.S: New file.
16584 * bus/cs5536.c (gpiodump): New const.
16585 (set_io_space): New function.
16586 (set_iod): Likewise.
16587 (set_p2d): Likewise.
16588 (grub_cs5536_init_geode): Likewise.
16589 * commands/mips/yeeloong/lsspd.c: New file.
16590 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
16591 (serial_mod_SOURCES): New variable.
16592 (serial_mod_CFLAGS): Likewise.
16593 (serial_mod_LDFLAGS): Likewise.
16594 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
16595 term/terminfo.c and term/tparm.c.
16596 (pkglib_IMAGES): Add fwstart.img.
16597 (fwstart_img_SOURCES): New variable.
16598 (fwstart_img_CFLAGS): Likewise.
16599 (fwstart_img_ASFLAGS): Likewise.
16600 (fwstart_img_LDFLAGS): Likewise.
16601 (fwstart_img_FORMAT): Likewise.
16602 (pkglib_MODULES): Add lsspd.mod.
16603 (lsspd_mod_SOURCES): New variable.
16604 (lsspd_mod_CFLAGS): Likewise.
16605 (lsspd_mod_LDFLAGS): Likewise.
16606 (pkglib_MODULES): Add halt.mod.
16607 (halt_mod_SOURCES): New variable.
16608 (halt_mod_CFLAGS): Likewise.
16609 (halt_mod_LDFLAGS): Likewise.
16610 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
16611 (serial_mod_SOURCES): Removed.
16612 (serial_mod_CFLAGS): Likewise.
16613 (serial_mod_LDFLAGS): Likewise.
16614 * disk/ata.c (check_device): New function.
16615 (grub_ata_device_initialize): Use check_device.
16616 (grub_ata_iterate): Recheck devices.
16617 (grub_ata_open): Likewise.
16618 (grub_atapi_iterate): Likewise.
16619 (grub_atapi_open): Likewise.
16620 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
16621 (GRUB_ATA_CH1_PORT1): Likewise.
16622 (GRUB_ATA_CH0_PORT2): Likewise.
16623 (GRUB_ATA_CH1_PORT2): Likewise.
16624 * include/grub/mips/loongson.h: New file.
16625 * include/grub/mips/yeeloong/ec.h: Likewise.
16626 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
16627 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
16628 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
16629 * include/grub/misc.h (grub_halt): Declare as noreturn.
16630 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
16631 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
16632 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16633 (UART_ENABLE_DTRRTS): Likewise.
16634 (UART_ENABLE_MODEM): Removed.
16635 (UART_ENABLE_OUT2): New const.
16636 * include/grub/term.h (grub_term_register_input_active): New function.
16637 (grub_term_register_output_active): Likewise.
16638 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16639 argument.
16640 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16641 (init_pci): New function.
16642 (grub_machine_init): Execute platform init when firmware. Init serial.
16643 (grub_halt): Implement.
16644 (grub_exit): Likewise.
16645 (grub_reboot): Likewise.
16646 * term/serial.c (serial_hw_init): Update macros.
16647 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16648 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16649 (image_targets): New target mipsel-yeeloong-flash.
16650 (generate_image): Support IMAGE_YEELOONG_FLASH.
16651 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16652 (grub_video_sm712_setup): Init card.
16653 (grub_video_sm712_set_palette): Removed.
16654 * video/sm712_init.c: New file.
16655
ff4a70d2
CW
166562010-06-30 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16659 PATH when running help2man and then run it on the unadorned
16660 executable names, rather than passing $(builddir)/* paths to
16661 help2man. This avoids the build directory ending up in generated
16662 manual pages.
16663
1246efeb
CW
166642010-06-29 Colin Watson <cjwatson@ubuntu.com>
16665
16666 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16667 to avoid accidents when debugging with 'sh -x'.
16668 * util/grub-mkrescue.in: Likewise.
16669 * util/grub.d/00_header.in: Likewise.
16670 * util/grub.d/10_hurd.in: Likewise.
16671 * util/grub.d/10_kfreebsd.in: Likewise.
16672 * util/grub.d/10_linux.in: Likewise.
16673 * util/grub.d/10_netbsd.in: Likewise.
16674 * util/grub.d/10_windows.in: Likewise.
16675 * util/grub.d/20_linux_xen.in: Likewise.
16676 * util/grub.d/30_os-prober.in: Likewise.
16677 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16678
1ba9b889
CW
166792010-06-29 Colin Watson <cjwatson@ubuntu.com>
16680
16681 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16682 last character in the buffer.
16683 Reported by: Vladimir Serbinenko.
16684
dccaf99d
RM
166852010-06-29 Robert Millan <rmh@gnu.org>
16686
16687 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16688 (Command-line and menu entry commands): Document `badram' command.
16689
d500ed12
RM
166902010-06-28 Robert Millan <rmh@gnu.org>
16691
16692 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16693 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16694 command using ${GRUB_BADRAM} as parameter.
16695
20bc84a6
CW
166962010-06-28 Colin Watson <cjwatson@ubuntu.com>
16697
16698 * docs/grub.texi (Device map): New section.
16699 (Themes): New section (stub).
16700 * Makefile.in (docs/grub.info): The info documentation now builds
16701 without errors. Make sure it stays that way.
16702
4045dee1
VS
167032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 Use normal parser for menu entries.
16706 Reported by: Thomas Frauendorfer
16707
16708 * include/grub/parser.h (grub_parser_execute): Don't export.
16709 * normal/menu.c (grub_menu_execute_entry_real): New function.
16710 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16711
bca58c7b
CW
167122010-06-28 Colin Watson <cjwatson@ubuntu.com>
16713
16714 * docs/grub.texi (Embedded configuration): New section (replacing
16715 old "Preset Menu" stub).
16716 (Images): New section.
16717 (configfile): Note that any menu entries defined in `file' are shown
16718 immediately.
16719
dec53e63
JT
167202010-06-28 Josh Triplett <josh@joshtriplett.org>
16721
16722 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16723
c06e40f7
CW
167242010-06-28 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * util/grub-install.in: Add --debug-image= option.
16727
cb88052b
CW
167282010-06-28 Colin Watson <cjwatson@ubuntu.com>
16729
16730 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16731 possible on Linux.
16732
16733 * util/deviceiter.c (check_device): Rename to ...
16734 (check_device_readable_unique): ... this. Update all callers.
16735 Maintain and check a list of which devices (by canonicalized name)
16736 have already been seen.
16737 (clear_seen_devices): New function.
16738 (compare_file_names) [__linux__]: New function.
16739 (grub_util_iterate_devices): Clear the list of seen devices on exit
16740 and (just in case) on entry.
16741 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16742 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16743 seen-devices list, superseded by general code in check_device.
16744
bbe34652
CW
167452010-06-28 Colin Watson <cjwatson@ubuntu.com>
16746
16747 * commands/cat.c (options): New variable.
16748 (grub_cmd_cat): Parse options. If the --dos option is given, print
16749 DOS-style "\r\n" line endings as simple newlines (Debian bug
16750 #586358).
16751 (GRUB_MOD_INIT): Use extcmd.
16752 (GRUB_MOD_FINI): Likewise.
16753 * docs/grub.texi (cat): Document --dos.
16754
412e09f3
VS
167552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 XEN with Linux grub-mkconfig support.
16758
16759 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16760 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16761 GRUB_CMDLINE_XEN_DEFAULT.
16762 * util/grub.d/20_linux_xen.in: New file.
16763
53f3ef38 167642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16765
16766 Initialise VGA video on qemu ourselves.
16767
16768 * boot/i386/qemu/boot.S: Don't call 0xc000.
16769 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16770 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16771 (kernel_img_HEADERS): Add pci.h.
16772 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16773 * configure.ac: Force unifont on qemu and yeeloong.
16774 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16775 (grub_vga_palette_write): Use correct register.
16776 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16777 Call grub_qemu_init_cirrus.
16778 * kern/i386/qemu/init.c: New file.
16779 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16780
16781 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16782
c75be4fb
PR
167832010-06-26 Pavel Roskin <proski@gnu.org>
16784
16785 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16786 13.
16787
d8034603
CW
167882010-06-26 Colin Watson <cjwatson@ubuntu.com>
16789
16790 * docs/grub.texi (Simple configuration): Explain that
16791 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16792 set to `true' to disable their respective recovery entries, not
16793 merely set.
16794
3fa06487
CW
167952010-06-26 Colin Watson <cjwatson@ubuntu.com>
16796
16797 Make the `source' command slightly faster.
16798
16799 * normal/main.c (grub_normal_execute): Don't re-read list files when
16800 nested.
16801
e9b29642
CW
168022010-06-23 Colin Watson <cjwatson@ubuntu.com>
16803
16804 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16805 field position and mask size to red fields from mode_info, not
16806 green.
16807 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16808 Remove redundant tag->common.framebuffer_type assignment.
16809 Reported by: Seth Goldberg.
16810
e726542f
CW
168112010-06-23 Colin Watson <cjwatson@ubuntu.com>
16812
16813 Sync up other versions of the Linux loader with Robert Millan's
16814 change of 2010-01-09, "Make loader output a bit more user-friendly".
16815
16816 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16817 grub_dprintf().
16818 (grub_cmd_linux): Likewise.
16819 (grub_cmd_initrd): Likewise.
16820 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16821 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16822
d6e98a17
CW
168232010-06-21 Colin Watson <cjwatson@ubuntu.com>
16824
16825 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16826 larger than MEMORY_MAP_SIZE.
16827
14d3f08e
BC
168282010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16829
16830 Fix parallel build.
16831
16832 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16833 dependency.
16834 * script/parser.y: #include grub_script.tab.h header.
16835
4f9613a3
VS
168362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16837
16838 Support >3GiB and <16MiB RAM in i386-qemu.
16839
16840 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16841 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16842 (grub_lower_mem): Removed.
16843 (grub_upper_mem): Likewise.
16844 (mem_size): Made static.
16845 (above_4g): New variable.
16846 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16847 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16848 support.
16849
05e51879
VS
168502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 Cirrus 5446 and Bochs video cards support.
16853
16854 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16855 video_bochs.mod
16856 (video_cirrus_mod_SOURCES): New variable.
16857 (video_cirrus_mod_CFLAGS): Likewise.
16858 (video_cirrus_mod_LDFLAGS): Likewise.
16859 (video_bochs_mod_SOURCES): Likewise.
16860 (video_bochs_mod_CFLAGS): Likewise.
16861 (video_bochs_mod_LDFLAGS): Likewise.
16862 * include/grub/vga.h: New file.
16863 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16864 (grub_video_fb_set_page_t): New type.
16865 (grub_video_fb_setup): New prototype.
16866 (grub_video_fb_swap_buffers): Likewise.
16867 (grub_video_fb_get_info_and_fini): Likewise.
16868 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16869 (CRTC_DATA_PORT): Likewise.
16870 (CRTC_CURSOR): Likewise.
16871 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16872 (CRTC_CURSOR_ADDR_LOW): Likewise.
16873 (CRTC_CURSOR_DISABLE): Likewise.
16874 (update_cursor): Use grub_vga_cr_write.
16875 (grub_vga_text_setcursor): Likewise.
16876 * video/bochs.c: New file.
16877 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16878 (palette): Likewise.
16879 (palette_size): Likewise.
16880 (framebuffer): New variable.
16881 (grub_video_fb_init): Use 'framebuffer'.
16882 (grub_video_fb_fini): Likewise.
16883 (grub_video_fb_get_info): Likewise.
16884 (grub_video_fb_get_palette): Likewise.
16885 (grub_video_fb_set_palette): Likewise.
16886 (grub_video_fb_set_viewport): Likewise.
16887 (grub_video_fb_get_viewport): Likewise.
16888 (grub_video_fb_map_color): Likewise.
16889 (grub_video_fb_map_rgb): Likewise.
16890 (grub_video_fb_map_rgba): Likewise.
16891 (grub_video_fb_unmap_color): Likewise.
16892 (grub_video_fb_unmap_color_int): Likewise.
16893 (grub_video_fb_fill_rect): Likewise.
16894 (grub_video_fb_blit_bitmap): Likewise.
16895 (grub_video_fb_blit_render_target): Likewise.
16896 (grub_video_fb_scroll): Likewise.
16897 (grub_video_fb_create_render_target): Likewise.
16898 (grub_video_fb_doublebuf_blit_init): Likewise.
16899 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16900 (doublebuf_pageflipping_update_screen): New function.
16901 (doublebuf_pageflipping_init): Likewise.
16902 (grub_video_fb_setup): Likewise.
16903 (grub_video_fb_swap_buffers): Likewise.
16904 (grub_video_fb_get_info_and_fini): Likewise.
16905 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16906 All users updated.
16907 (doublebuf_pageflipping_commit): Restructured into ...
16908 (doublebuf_pageflipping_set_page): ... this.
16909 (doublebuf_pageflipping_update_screen): Removed.
16910 (doublebuf_pageflipping_init): Likewise.
16911 (double_buffering_init): Likewise.
16912 (grub_video_vbe_setup): Use grub_video_fb_setup.
16913 (grub_video_vbe_swap_buffers): Removed.
16914 (grub_video_vbe_set_active_render_target): Likewise.
16915 (grub_video_vbe_get_active_render_target): Likewise.
16916 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16917 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16918 grub_video_fb_set_active_render_target and
16919 grub_video_fb_get_active_render_target.
16920 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16921 (SEQUENCER_DATA_PORT): Likewise.
16922 (MAP_MASK_REGISTER): Likewise.
16923 (CRTC_ADDR_PORT): Likewise.
16924 (CRTC_DATA_PORT): Likewise.
16925 (START_ADDR_HIGH_REGISTER): Likewise.
16926 (START_ADDR_LOW_REGISTER): Likewise.
16927 (GRAPHICS_ADDR_PORT): Likewise.
16928 (GRAPHICS_DATA_PORT): Likewise.
16929 (READ_MAP_REGISTER): Likewise.
16930 (INPUT_STATUS1_REGISTER): Likewise.
16931 (INPUT_STATUS1_VERTR_BIT): Likewise.
16932 (get_map_mask): Use grub_vga_sr_read.
16933 (set_map_mask): Use grub_vga_sr_write.
16934 (set_read_map): Use grub_vga_gr_write.
16935 (set_start_address): Use grub_vga_cr_write.
16936 * video/sm712.c (framebuffer): Remove leftover fields.
16937
4321c64a
CW
169382010-06-20 Colin Watson <cjwatson@ubuntu.com>
16939
16940 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16941 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16942 instead. Replace the gfxterm backend check with a check that
16943 ${GRUB_PREFIX}/video.lst is non-empty.
16944 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16945 again.
16946 (load_video): New generated function. Call it before loading
16947 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16948 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16949 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16950 * docs/grub.texi (Simple configuration): Document
16951 GRUB_VIDEO_BACKEND.
16952
169532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Use video functions in linux and xnu loaders.
16956
16957 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16958 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16959 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16960 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16961 loader/i386/pc/linux.c.
16962 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16963 (find_line_len): Removed.
16964 (find_framebuf): Likewise.
16965 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16966 * loader/i386/efi/xnu.c: Removed.
16967 * loader/i386/pc/xnu.c: Moved from here...
16968 * loader/i386/xnu.c: ...here.
16969
16970 Enable priorities in video drivers.
16971
16972 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16973 (grub_video_adapter): New field prio.
16974 (grub_video_register): Respect prio when inserting.
16975 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16976 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16977 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16978 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16979 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16980 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16981 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16982
16983 Fix SDL driver ID.
16984
16985 * include/grub/video.h (grub_video_driver_id_t): New value
16986 GRUB_VIDEO_DRIVER_SDL.
16987 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16988
7d24e434
CW
169892010-06-17 Colin Watson <cjwatson@ubuntu.com>
16990
16991 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16992 argument to printf.
16993 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16994
c88a83f6
CW
169952010-06-17 Colin Watson <cjwatson@ubuntu.com>
16996
16997 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16998 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16999
094dfb69
CW
170002010-06-17 Colin Watson <cjwatson@ubuntu.com>
17001
17002 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17003 directly, and recommend grub-install instead.
17004 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17005
2164da6b
CW
170062010-06-17 Colin Watson <cjwatson@ubuntu.com>
17007
17008 Fix i386-pc prefix handling with nested partitions (Debian bug
17009 #585068). Note that the case where the core image is booted using
17010 multiboot and relocated from its original location still requires
17011 more work.
17012
17013 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17014 with "(,", fill the boot drive in between those two characters, but
17015 expect that a full partition specification including partition map
17016 names will follow.
17017 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17018 specified, write a prefix without the drive name but including a
17019 full partition specification.
17020
044e2e60
CW
170212010-06-16 Colin Watson <cjwatson@ubuntu.com>
17022
17023 * util/grub-mkconfig.in: Ignore non-option arguments, for
17024 compatibility with older versions (before 2010-06-12) which did the
17025 same. In particular, this makes it easier to ship an update-grub
17026 wrapper which is compatible with that used with GRUB Legacy (Debian
17027 bug #586056).
17028
5591324f
GS
170292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17030
17031 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17032 for manual page generation.
17033
662e24d5
GS
170342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17035
17036 * po/POTFILES: Remove leftover commands/handler.c.
17037
8d70754e
CW
170382010-06-14 Colin Watson <cjwatson@ubuntu.com>
17039
17040 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17041 left this script non-functional.
17042
41160e2e
CW
170432010-06-14 Colin Watson <cjwatson@ubuntu.com>
17044
17045 * docs/man/grub-emu.h2m: New file.
17046
b5309cc1
CW
170472010-06-13 Colin Watson <cjwatson@ubuntu.com>
17048
17049 * docs/grub.texi (Commands): Document reduced command set in rescue
17050 mode.
17051 (cpuid): New section.
17052
fcb2d090
GS
170532010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17054
17055 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17056 new partition naming style.
17057 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17058
96e5c556
BC
170592010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17060
17061 Add "-o grub.iso" like cmdline options support.
17062
17063 * util/grub-install.in: Improve cmdline option parsing.
17064 * util/grub-mkconfig.in: Likewise.
17065 * util/grub-mkrescue.in: Likewise.
17066 * util/grub-reboot.in: Likewise.
17067 * util/grub-set-default.in: Likewise.
17068 * util/i386/efi/grub-install.in: Likewise.
17069 * util/ieee1275/grub-install.in: Likewise.
17070 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17071
c16be99b
CW
170722010-06-12 Colin Watson <cjwatson@ubuntu.com>
17073
17074 * .bzrignore: Ignore 41_custom.
17075
ce08a9fb
TS
170762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17077
17078 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17079
7beac90c
CW
170802010-06-12 Colin Watson <cjwatson@ubuntu.com>
17081
17082 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17083 prototype declarations.
17084
17085 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17086 generating fs, partmap, and video lists.
17087 * include/grub/fs.h (grub_fs_register): Omit prototype if
17088 GRUB_LST_GENERATOR is defined.
17089 * include/grub/partition.h (grub_partition_map_register): Likewise.
17090 * include/grub/video.h (grub_video_register): Likewise.
17091
1c8f0f8d
JM
170922010-06-12 Javier Martín <lordhabbit@gmail.com>
17093
17094 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17095
a6085973
TS
170962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17097
17098 * util/grub-mkrescue.in: Support --xorriso argument.
17099
25c56d29
VS
171002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17103 Suggested by: Thomas Schmitt.
17104
e03e4b24
VS
171052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17108 Suggested by: Thomas Schmitt.
17109
57711df6
VS
171102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 custom.cfg support.
17113
17114 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17115 * util/grub.d/41_custom.in: New file.
17116
ee62c427
CW
171172010-06-12 Colin Watson <cjwatson@ubuntu.com>
17118
17119 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17120 been merged back into normal.
17121
283af07a
CW
171222010-06-11 Colin Watson <cjwatson@ubuntu.com>
17123
17124 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17125 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17126
56a0d956
CW
171272010-06-11 Colin Watson <cjwatson@ubuntu.com>
17128
17129 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
17130 when generating manual pages.
17131 * docs/man/grub-bin2h.h2m: New file.
17132 * docs/man/grub-editenv.h2m: New file.
17133 * docs/man/grub-fstest.h2m: New file.
17134 * docs/man/grub-install.h2m: New file.
17135 * docs/man/grub-macho2img.h2m: New file.
17136 * docs/man/grub-mkconfig.h2m: New file.
17137 * docs/man/grub-mkdevicemap.h2m: New file.
17138 * docs/man/grub-mkfont.h2m: New file.
17139 * docs/man/grub-mkimage.h2m: New file.
17140 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
17141 * docs/man/grub-mkrelpath.h2m: New file.
17142 * docs/man/grub-mkrescue.h2m: New file.
17143 * docs/man/grub-ofpathname.h2m: New file.
17144 * docs/man/grub-pe2elf.h2m: New file.
17145 * docs/man/grub-probe.h2m: New file.
17146 * docs/man/grub-reboot.h2m: New file.
17147 * docs/man/grub-script-check.h2m: New file.
17148 * docs/man/grub-set-default.h2m: New file.
17149 * docs/man/grub-setup.h2m: New file.
17150
3a37e322
VS
171512010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 Use FOR_* macros instead of *_iterate whenever possible.
17154
17155 * commands/handler.c: Removed.
17156 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
17157 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
17158 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17159 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
17160 (grub_probe_SOURCES): Remove kern/parser.c.
17161 (util/grub-script-check.c_DEPENDENCIES): Removed.
17162 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
17163 and grub_script_check_init.c.
17164 (grub_script_check_init.lst): Removed.
17165 (grub_script_check_init.h): Likewise.
17166 (grub_script_check_init.c): Likewise.
17167 (pkglib_MODULES): Remove handler.mod and sh.mod.
17168 (handler_mod_SOURCES): Removed.
17169 (handler_mod_CFLAGS): Likewise.
17170 (handler_mod_LDFLAGS): Likewise.
17171 (normal_mod_SOURCES): Remove normal/handler.c.
17172 Add script/main.c, script/script.c, script/execute.c,
17173 script/function.c, script/lexer.c, grub_script.tab.c
17174 and grub_script.yy.c.
17175 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17176 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17177 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
17178 (grub_setup_SOURCES): Remove kern/parser.c.
17179 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17180 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
17181 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17182 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17183 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17184 (grub_setup_SOURCES): Remove kern/parser.c.
17185 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
17186 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
17187 * include/grub/command.h (grub_command_iterate): Removed.
17188 (FOR_COMMANDS): New macro.
17189 * include/grub/dl.h (grub_dl): New member next.
17190 (grub_dl_iterate): Removed.
17191 (grub_dl_head): New variable declaration.
17192 (FOR_DL_MODULES): New macro.
17193 * include/grub/fs.h: Include list.h.
17194 (grub_fs): Make next first element.
17195 (grub_fs_list): New variable declaration.
17196 (grub_fs_register): Make inline.
17197 (grub_fs_unregister): Likewise.
17198 (grub_fs_iterate): Removed.
17199 (FOR_FILESYSTEMS): New macro.
17200 * include/grub/handler.h: Removed.
17201 * include/grub/list.h (grub_list_hook_t): Removed.
17202 (grub_list_test_t): Likewise.
17203 (grub_list_pop): Likewise.
17204 (grub_list_iterate): Likewise.
17205 (grub_list_insert): Likewise.
17206 (FOR_LIST_ELEMENTS): New macro.
17207 * include/grub/parser.h (grub_parser_class): Removed.
17208 (grub_parser_register): Likewise.
17209 (grub_parser_unregister): Likewise.
17210 (grub_parser_get_current): Likewise.
17211 (grub_parser_set_current): Likewise.
17212 (grub_register_rescue_parser): Likewise.
17213 (grub_rescue_parse_line): New function.
17214 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
17215 * include/grub/script_sh.h (grub_script_function_list): New variable
17216 declaration.
17217 (FOR_SCRIPT_FUNCTIONS): New macro.
17218 (grub_script_function_iterate): Removed.
17219 (grub_normal_parse_line): New prototype.
17220 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
17221 (FOR_DISABLED_TERM_INPUTS): Likewise.
17222 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17223 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17224 * include/grub/video.h (grub_video_adapter): Move 'next' to first
17225 element.
17226 (grub_video_register): Inline.
17227 (grub_video_unregister): Likewise.
17228 (grub_video_adapter_list): New variable declaration.
17229 (grub_video_iterate): Removed.
17230 (FOR_VIDEO_ADAPTERS): New macro.
17231 * kern/dl.c (grub_dl_list): Removed. All users updated.
17232 (grub_dl_iterate): Removed.
17233 * kern/fs.c (grub_fs_list): Make global.
17234 (grub_fs_register): Removed.
17235 (grub_fs_unregister): Likewise.
17236 (grub_fs_iterate): Likewise.
17237 * kern/handler.c: Removed.
17238 * kern/list.c (grub_list_pop): Removed.
17239 (grub_list_iterate): Likewise.
17240 (grub_list_insert): Likewise.
17241 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
17242 (grub_prio_list_insert): Don't use grub_list_insert.
17243 * kern/main.c (grub_register_rescue_parser): Don't call
17244 grub_register_rescue_parser.
17245 * kern/parser.c (grub_parser_class): Removed.
17246 (grub_parser_execute): Use grub_rescue_parse_line.
17247 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
17248 (grub_rescue_parser): Removed.
17249 (grub_register_rescue_parser): Likewise.
17250 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
17251 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
17252 (grub_auth_check_authentication): Likewise.
17253 * normal/completion.c (iterate_command): Removed.
17254 (grub_normal_do_completion): Use FOR_COMMANDS.
17255 * normal/handler.c: Removed.
17256 * normal/main.c (read_config_file): Remove parser changing.
17257 (grub_normal_execute): Don't call read_handler_list.
17258 (grub_normal_read_line_real): Statically allocate prompt.
17259 (grub_cmdline_run): Use grub_normal_parse_line.
17260 (GRUB_MOD_FINI): Don't call free_handler_list.
17261 * normal/menu_entry.c (run): Likewise.
17262 * script/function.c (grub_script_function_list): Make global.
17263 (grub_script_function_iterate): Removed.
17264 * script/main.c (grub_normal_parse_line): Make global.
17265 (grub_sh_parser): Removed.
17266 (GRUB_MOD_INIT): Likewise.
17267 (GRUB_MOD_FINI): Likewise.
17268 * tests/lib/functional_test.c (grub_functional_test): Use
17269 FOR_LIST_ELEMENTS.
17270 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
17271 (grub_test_run): Use FOR_LIST_ELEMENTS.
17272 * tests/lib/unit_test.c (main): Likewise.
17273 * util/deviceiter.c (grub_util_iterate_devices): Don't use
17274 grub_list_pop.
17275 * util/grub-fstest.c (grub_term_input_class): Removed.
17276 (grub_term_output_class): Likewise.
17277 * util/grub-probe.c: Likewise.
17278 * util/i386/pc/grub-setup.c: Likewise.
17279 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17280 * util/grub-script-check.c (main): Don't call grub_init_all and
17281 grub_fini_all.
17282 * video/video.c (grub_video_adapter_list): Make global.
17283 (grub_video_register): Removed.
17284 (grub_video_unregister): Likewise.
17285 (grub_video_iterate): Likewise.
17286
6289c3a7
VS
172872010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
17290 reported by Henrique Ferreiro.
17291
91460247
RM
172922010-06-09 Robert Millan <rmh@gnu.org>
17293
17294 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
17295 ones, when both are available.
17296
0ea7c4f9
GS
172972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17298
17299 Make --version uniform and avoid hard-coded program name.
17300
17301 * util/grub-mkimage.c (main): Use `program_name' instead of
17302 hard-coded string.
17303 * util/i386/pc/grub-setup.c (main): Likewise.
17304 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
17305 * util/grub-install.in: Save the basename of $0 in $self, and use the
17306 latter in informational messages. Use the same format for --version
17307 as the binary programs.
17308 * util/grub-mkconfig.in: Likewise.
17309 * util/grub-mkrescue.in: Likewise.
17310 * util/grub-reboot.in: Likewise.
17311 * util/grub-set-default.in: Likewise.
17312 * util/i386/efi/grub-install.in: Likewise.
17313 * util/ieee1275/grub-install.in: Likewise.
17314 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17315
e8a6f3b6
GS
173162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17317
17318 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
17319 embedding area. Use <= instead of == when checking for non-emptiness.
17320
f4d095d7
GS
173212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17322
17323 * configure.ac: Add `.' to the directories searched for unifont.
17324
50e532ca
CW
173252010-06-08 Colin Watson <cjwatson@ubuntu.com>
17326
17327 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
17328 grub_script.yy.h.
17329
d39f3dec
CW
173302010-06-08 Colin Watson <cjwatson@ubuntu.com>
17331
17332 * docs/grub.texi (History): Expand to cover GRUB 2.
17333 (Serial terminal): Refer to `terminal_input' and `terminal_output'
17334 commands, not `terminal'.
17335 (serial): Likewise.
17336 (terminal_input): New section.
17337 (terminal_output): New section.
17338 (uppermem): New section (stub).
17339 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
17340
6ef0ddb4
CW
173412010-06-08 Colin Watson <cjwatson@ubuntu.com>
17342
17343 * docs/grub.texi (Security): Menu entries are unrestricted by
17344 default, not restricted to superusers as I had previously thought.
17345 Reword to account for this.
17346
e0f4c438
CW
173472010-06-07 Colin Watson <cjwatson@ubuntu.com>
17348
17349 * kern/emu/misc.c (device_mapper_null_log): New function.
17350 (grub_device_mapper_supported): New function.
17351 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
17352 prototype.
17353 * kern/emu/hostdisk.c (find_partition_start): Check whether
17354 device-mapper is supported before trying to use it.
17355 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
17356
da908200
CW
173572010-06-07 Colin Watson <cjwatson@ubuntu.com>
17358
17359 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
17360 (File name syntax): Likewise.
17361 (help): --all is no longer supported in GRUB 2. Be more precise
17362 about pattern matching.
17363
fb55c3ac
CW
173642010-06-07 Colin Watson <cjwatson@ubuntu.com>
17365
17366 * normal/completion.c (grub_normal_do_completion): When completing
17367 arguments to "set" and the current word contains an equals sign,
17368 skip to after the equals sign before starting completion.
17369
258c2573
CW
173702010-06-07 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
17373
ee75515e
CW
173742010-06-07 Colin Watson <cjwatson@ubuntu.com>
17375
17376 * docs/grub.texi (Network): New section.
17377 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
17378 `(nd)' as in GRUB Legacy.
17379 (pxe_unload): New section.
17380
a6a700aa
CW
173812010-06-07 Colin Watson <cjwatson@ubuntu.com>
17382
17383 * docs/grub.texi (Troubleshooting): `echo' is not usually available
17384 in the rescue shell, so recommend using `set' instead. Thanks,
17385 Jordan Uggla.
17386
4003dd38
CW
173872010-06-07 Colin Watson <cjwatson@ubuntu.com>
17388
17389 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
17390 (password): New section.
17391 (password_pbkdf2): New section.
17392 (search): New section.
17393 (Security): New section.
17394 (Troubleshooting): New section, currently very incomplete.
17395 (Invoking grub-mkpasswd-pbkdf2): New section.
17396 (Internals): New section, currently very incomplete.
17397
e1cbcc40
CW
173982010-06-07 Colin Watson <cjwatson@ubuntu.com>
17399
17400 * util/grub.d/00_header.in: Add some more quoting (of
17401 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
17402 work again.
17403 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
17404
db8fa1ad
CW
174052010-06-07 Colin Watson <cjwatson@ubuntu.com>
17406
17407 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
17408 to `count', fixing variable shadowing that broke the -c option.
17409
174102010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
17411
17412 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
17413 in case they contain spaces.
17414
f28a9212
CW
174152010-06-04 Colin Watson <cjwatson@ubuntu.com>
17416
17417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
17418 "part_" to partmap module names, in line with grub-install.
17419 Reported by: Jindřich Makovička (Debian bug #584426).
17420
9cdfe32f
CW
174212010-06-04 Colin Watson <cjwatson@ubuntu.com>
17422
17423 * util/grub-mkimage.c: Make target-related error messages slightly
17424 more helpful; -O talks about "format". Explicitly point to the use
17425 of -O if no target is specified.
17426 Reported by: Didier Raboud (Debian bug #584415).
17427
795b593a
CW
174282010-06-03 Colin Watson <cjwatson@ubuntu.com>
17429
17430 * INSTALL: Document several build requirements for optional features
17431 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
17432
9d9b5833
GS
174332010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
17434
17435 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
17436 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
17437 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
17438
0819fec8
CW
174392010-06-02 Colin Watson <cjwatson@ubuntu.com>
17440
17441 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
17442 Thanks to Jordan Uggla for spotting this.
17443
49396b4f
VS
174442010-06-02 Aleš Nesrsta <starous@volny.cz>
17445
17446 Finally make USB usable.
17447
17448 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
17449 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
17450 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
17451 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
17452 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
17453 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
17454 (GRUB_OHCI_FSMPS): Likewise.
17455 (GRUB_OHCI_PERIODIC_START): Likewise.
17456 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
17457 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
17458 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
17459 (GRUB_OHCI_SET_PORT_RESET): Likewise.
17460 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
17461 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
17462 (grub_ohci_transaction): Likewise.
17463 (grub_ohci_transfer): Improve condition detection algorithms.
17464 Handle toggle property. Program the transactions correctly.
17465 Improve error handling. Various important fixups.
17466 (grub_ohci_portstatus): Put register writes in right order.
17467 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
17468 (grub_uhci_transfer): Don't show "failed" message on success.
17469 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
17470 array.
17471 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
17472 determine its size.
17473 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
17474 before initialization is completed. Use IN direction for empty
17475 transfers. Use last_trans and compute toggle.
17476 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
17477 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
17478 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
17479 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
17480 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
17481 (grub_usb_device): Increase toggle to 256.
17482 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
17483 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
17484 GRUB_USBMS_SUBCLASS_SFF8070.
17485 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
17486 (grub_scsi_inquiry): New member page and alloc_length.
17487 (grub_scsi_request_sense): New structure.
17488 (grub_scsi_request_sense_data): Likewise.
17489 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
17490 control.
17491 * disk/scsi.c (grub_scsi_request_sense): New function.
17492 (grub_scsi_test_unit_ready): Likewise.
17493 (grub_scsi_inquiry): Fill new fields.
17494 (grub_scsi_read_capacity): Likewise.
17495 (grub_scsi_read10): Add request sense at the end.
17496 (grub_scsi_read12): Likewise.
17497 (grub_scsi_write10): Likewise.
17498 (grub_scsi_write12): Likewise.
17499 (grub_scsi_open): Add Test Unit Ready.
17500 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
17501 Support additional subclasses. Con't clear halt yet. Activate the
17502 proper config. Calculate LUNs correctly.
17503 (grub_usbms_transfer): Various important fixups.
17504
175052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17506
17507 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
17508 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
17509 (grub_ohci_fini_hw): New function.
17510 (grub_ohci_restore_hw): Likewise.
17511 (GRUB_MOD_INIT(ohci)): Register preboot hook.
17512 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
17513 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
17514
175152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 Dedicated DMA allocations.
17518
17519 * bus/pci.c (grub_memalign_dma32): New function
17520 (grub_dma_free): Likewise.
17521 (grub_dma_get_virt): Likewise.
17522 (grub_dma_get_phys): Likewise.
17523 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
17524 (grub_ohci_pci_iter): Use dma32_alloc.
17525 (grub_ohci_transfer): Likewise.
17526 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
17527 (grub_usb_bulk_readwrite): Likewise.
17528 * include/grub/pci.h: Add declarations.
17529
175302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 CS5536 support.
17533
17534 * bus/cs5536.c: New file.
17535 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
17536 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
17537 (cs5536_mod_SOURCES): New variable.
17538 (cs5536_mod_CFLAGS): Likewise.
17539 (cs5536_mod_LDFLAGS): Likewise.
17540 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
17541 machine/pci.h.
17542 (kernel_img_SOURCES): Add bus/cs5536.c.
17543 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
17544 usb_keyboard.mod.
17545 (usb_mod_SOURCES): New variable.
17546 (usb_mod_CFLAGS): New variable.
17547 (usb_mod_LDFLAGS): New variable.
17548 (usbtest_mod_SOURCES): New variable.
17549 (usbtest_mod_CFLAGS): New variable.
17550 (usbtest_mod_LDFLAGS): New variable.
17551 (ohci_mod_SOURCES): New variable.
17552 (ohci_mod_CFLAGS): New variable.
17553 (ohci_mod_LDFLAGS): New variable.
17554 (usbms_mod_SOURCES): New variable.
17555 (usbms_mod_CFLAGS): New variable.
17556 (usbms_mod_LDFLAGS): New variable.
17557 (usb_keyboard_mod_SOURCES): New variable.
17558 (usb_keyboard_mod_CFLAGS): New variable.
17559 (usb_keyboard_mod_LDFLAGS): New variable.
17560 * include/grub/smbus.h: New file.
17561 * include/grub/cs5536.h: New file.
17562
0b35b2a9
CW
175632010-06-02 Colin Watson <cjwatson@ubuntu.com>
17564
17565 * util/grub.d/00_header.in: Add safety check to make sure that
17566 ${locale_dir} exists before trying to probe it.
17567
ca0afd5b
CW
175682010-06-02 Colin Watson <cjwatson@ubuntu.com>
17569
17570 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
17571 per the GNU Coding Standards; this is now too obscure to be worth
17572 documenting.
17573 (QNX): Likewise.
17574 (chainloader): Remove cross-reference to `SCO UnixWare'.
17575
1c41aa78
CW
175762010-06-02 Colin Watson <cjwatson@ubuntu.com>
17577
17578 * docs/grub.texi (Chain-loading): New section.
17579 (DOS/Windows): New section, borrowed from GRUB Legacy with details
17580 adjusted for GRUB 2.
17581 (SCO UnixWare): Likewise.
17582 (QNX): Likewise.
17583 (chainloader): Add reference to `Block list syntax'.
17584 (drivemap): New section.
17585 (parttool): New section.
17586
bb8ea0f5
CW
175872010-06-02 Colin Watson <cjwatson@ubuntu.com>
17588
17589 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
17590 the grub shell'.
17591 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
17592 (Installing GRUB using grub-install): Remove reference to the grub
17593 shell; mention `grub-mkimage' and `grub-setup' instead.
17594 (Invoking grub-install): Likewise.
17595 (Interface): Add reference to `Menu entry editor'.
17596 (serial): Remove `--device' option.
17597
288dd6ed
CW
175982010-06-02 Colin Watson <cjwatson@ubuntu.com>
17599
17600 * docs/grub.texi (Configuration): New section, documenting
17601 configuration file generation using grub-mkconfig. I've left a slot
17602 for documenting the full shell scripting format but have not yet
17603 started on writing that up.
17604 (Invoking grub-mkconfig): New section.
17605
34c9f0e9
CW
176062010-06-02 Colin Watson <cjwatson@ubuntu.com>
17607
17608 * docs/grub.texi (direntry): Remove grub-terminfo reference.
17609 (GNU GRUB manual): Likewise.
17610 (General commands): Update description of `terminfo' for GRUB 2.
17611
9121567e
CW
176122010-06-02 Colin Watson <cjwatson@ubuntu.com>
17613
17614 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
17615 (GRUB_MOD_INIT): Fix capitalisation.
17616 * docs/grub.texi (Command-line and menu entry commands): Document
17617 gettext and gptsync commands.
17618
ab631611
CW
176192010-06-02 Colin Watson <cjwatson@ubuntu.com>
17620
17621 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
17622 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
17623
bde4a9ac
CW
176242010-06-01 Colin Watson <cjwatson@ubuntu.com>
17625
17626 Add btrfs probing support, currently only in the single-device case.
17627
17628 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
17629 function.
17630 (grub_guess_root_device): Call find_root_device_from_mountinfo
17631 before looking in /dev.
17632
b1d17e10
VS
176332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17636 GRUB_DISK_SIZE_UNKNOWN.
17637 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17638
dfbfe004
JS
176392010-05-31 Jiro SEKIBA <jir@unicus.jp>
17640
17641 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17642 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17643 corrupted or not synced properly.
17644
c2ffc8e9
VS
176452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17648 Reported by: Seth Goldberg.
17649
56293166
VS
176502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17653 addition of dest.
17654 Reported by: Seth Goldberg.
17655
7620e7de
VS
176562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17659 Reported by: Seth Goldberg.
17660
c837af3f
VS
176612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17662
17663 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17664 64-bit address as signed on MIPS.
17665
c7c75cf4
CW
176662010-05-28 Colin Watson <cjwatson@ubuntu.com>
17667
17668 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17669 to the empty string.
17670
fa4b8490
BC
176712010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17672
17673 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17674
17675 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17676 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17677 * kern/misc.c (__enable_execute_stack): Disable on
17678 GRUB_MACHINE_EMU.
17679
a33075b9
CW
176802010-05-28 Colin Watson <cjwatson@ubuntu.com>
17681
17682 Make grub-probe work with symbolic links under /dev/mapper as well
17683 as with real block devices. The Linux world seems to be (at best)
17684 in transition here, and GRUB shouldn't get caught in the middle.
17685
17686 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17687 /dev/mapper.
17688
d8708134
CW
176892010-05-27 Colin Watson <cjwatson@ubuntu.com>
17690
17691 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17692 input files (in which case exit zero).
17693
db2102a0
CW
176942010-05-27 Colin Watson <cjwatson@ubuntu.com>
17695
17696 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17697 return NULL for various reasons even if it has a maximum-length
17698 buffer: for example, there might be a symlink loop, or the path
17699 might exceed PATH_MAX. If this happens, return NULL.
17700
5fdba519
RM
177012010-05-27 Robert Millan <rmh@gnu.org>
17702
17703 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17704 partmap module to handle cross-partmap setups.
17705 Reported by Orestes Mas. Gràcies!
17706
d1d368e4
CW
177072010-05-27 Colin Watson <cjwatson@ubuntu.com>
17708
17709 * util/grub-mkrescue.in: Initialise override_dir rather than
17710 assuming that it's unset or empty in the environment.
17711
95ac3c73
GS
177122010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17713
17714 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17715 variable index into p_index to suppress a warning with -Wshadow.
17716
7d8c0213
BC
177172010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17718
17719 * INSTALL: Added flex >= 2.5.35 requirement.
17720
db4d5813
VS
177212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17724
f24f4300
VS
177252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17726
17727 cmostest support.
17728
17729 * commands/i386/cmostest.c: New file.
17730 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17731 (cmostest_mod_SOURCES): New variable.
17732 (cmostest_mod_CFLAGS): Likewise.
17733 (cmostest_mod_LDFLAGS): Likewise.
17734 * conf/i386-pc.rmk: Likewise.
17735 * docs/grub.texi (Vendor power-on keys): New section.
17736 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17737 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17738 and GRUB_BUTTON_CMOS_ADDRESS.
17739 * util/grub.d/00_header.in: Handle powering-on by separate button.
17740
ad603f61
VS
177412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17744 Removed drawing_scrollbar argument. All users updated
17745 Fixes #29792.
17746 Reported by Jo Shields
17747
3ecb080a
VS
177482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17749
17750 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17751 buffer since gfxterm handles double repaint.
17752
5f2316c1
VS
177532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17756 * term/gfxterm.c (real_scroll): Likewise.
17757
9a25f885
VS
177582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17759
17760 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17761 before calling BIOS.
17762
39fbb79a
VS
177632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * include/grub/i18n.h: Always enable grub_gettext.
17766
228cfa97
VS
177672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17770 partition naming style.
17771
21717c8f
CW
177722010-05-21 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17775 not the first option.
17776
c0f48e65
CW
177772010-05-20 Colin Watson <cjwatson@ubuntu.com>
17778
17779 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17780
96779aec
CW
177812010-05-20 Colin Watson <cjwatson@ubuntu.com>
17782
17783 * util/misc.c: Move inclusion of <limits.h> to ...
17784 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17785
fa9d256e
GS
177862010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17787
17788 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17789 Fix merge error in NetBSD code.
17790 (find_partition_start) [__NetBSD__]: Likewise.
17791
123b7a85
BC
177922010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17793
17794 Fix grub-mkrescue usage unit testing.
17795
17796 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17797
74276c0d
CF
177982010-05-18 Christian Franke <franke@computer.org>
17799
17800 * util/grub.d/10_windows.in: Use path names instead of
17801 drive letters to prevent warning from Cygwin 1.7.
17802 Add drivemap command to menuentry if needed.
17803
c4f7b523
ST
178042010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17805
17806 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17807 gnumach and gnumach.gz.
17808
95b97950
VS
178092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * include/grub/i18n.h (gettext): Inline instead of using #define.
17812 (grub_gettext): Likewise.
17813 (_): Likewise.
17814
01b8d2d7
VS
178152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17818 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17819 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17820 (main): Add a slash after pkglibdirroot.
17821
654e1d1e
VS
178222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * util/grub-install.in: Add missing "in" keyword.
17825
26966aeb
VS
178262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17829 Reported by: Seth Goldberg.
17830
75006747
VS
178312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17834
74cbf5bd
CW
178352010-05-18 Colin Watson <cjwatson@ubuntu.com>
17836
17837 * configure.ac: Check for Linux device-mapper support.
17838
17839 * util/hostdisk.c (device_is_mapped): New function.
17840 (find_partition_start): New function, partly broken out from
17841 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17842 device-mapper support added.
17843 (linux_find_partition): Use find_partition_start.
17844 (convert_system_partition_to_system_disk): Add `st' argument.
17845 Support Linux /dev/mapper/* devices if device-mapper support is
17846 available; only DM-RAID devices are understood at present.
17847 (find_system_device): Add `st' argument. Pass it to
17848 convert_system_partition_to_system_disk.
17849 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17850 find_system_device and convert_system_partition_to_system_disk. Use
17851 find_partition_start.
17852
17853 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17854 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17855 * util/deviceiter.c [__linux__]: Define MINOR.
17856 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17857 * util/mkdevicemap.c (grub_putchar): New function.
17858 (grub_getkey): New function.
17859 (grub_refresh): New function.
17860 (main): Set debug=all if -v -v is used.
17861
355b51e9
CW
178622010-05-18 Colin Watson <cjwatson@ubuntu.com>
17863
17864 Fix build with non-GNU libcs.
17865
17866 * util/misc.c (canonicalize_file_name): Move to ...
17867 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17868 grub_make_system_path_relative_to_its_root.
17869
7fb5c25f
CW
178702010-05-18 Colin Watson <cjwatson@ubuntu.com>
17871
17872 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17873 we handle finding grub-mkimage. Default to finding grub-mkimage in
17874 ${bindir} with program_transform_name applied, and provide a
17875 --grub-mkimage option to override this.
17876
1d3293d6
VS
178772010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 Remove grub-mkisofs.
17880
17881 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17882 (grub_mkisofs_SOURCES): Removed.
17883 (grub_mkisofs_CFLAGS): Removed.
17884 * util/mkisofs/defaults.h: Removed.
17885 * util/mkisofs/eltorito.c: Likewise.
17886 * util/mkisofs/exclude.h: Likewise.
17887 * util/mkisofs/hash.c: Likewise.
17888 * util/mkisofs/include/: Likewise.
17889 * util/mkisofs/include/fctldefs.h: Likewise.
17890 * util/mkisofs/include/mconfig.h: Likewise.
17891 * util/mkisofs/include/prototyp.h: Likewise.
17892 * util/mkisofs/include/statdefs.h: Likewise.
17893 * util/mkisofs/iso9660.h: Likewise.
17894 * util/mkisofs/joliet.c: Likewise.
17895 * util/mkisofs/match.c: Likewise.
17896 * util/mkisofs/match.h: Likewise.
17897 * util/mkisofs/mkisofs.c: Likewise.
17898 * util/mkisofs/mkisofs.h: Likewise.
17899 * util/mkisofs/msdos_partition.h: Likewise.
17900 * util/mkisofs/multi.c: Likewise.
17901 * util/mkisofs/name.c: Likewise.
17902 * util/mkisofs/rock.c: Likewise.
17903 * util/mkisofs/tree.c: Likewise.
17904 * util/mkisofs/write.c: Likewise.
17905
5dde9afe
VS
179062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 Unify grub-mkimage accross platforms.
17909
17910 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17911 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17912 (grub_mkelfimage_SOURCES): Removed.
17913 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17914 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17915 (bin_UTILITIES): Add grub-mkimage.
17916 (grub_mkimage_SOURCES): New variable.
17917 (kernel_img_HEADERS): Remove machine/kernel.h.
17918 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17919 (pkglib_PROGRAMS): Add kernel.img.
17920 (kernel_img_HEADERS): Add machine/kernel.h.
17921 (kernel_img_FORMAT): Removed.
17922 (bin_UTILITIES): Remove grub-mkimage.
17923 (grub_mkimage_SOURCES): Removed.
17924 (grub_mkimage_CFLAGS): Likewise.
17925 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17926 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17927 (pkglib_PROGRAMS): Add kernel.img.
17928 (bin_UTILITIES): Remove grub-mkimage.
17929 (grub_mkimage_SOURCES): Removed.
17930 (grub_mkimage_CFLAGS): Likewise.
17931 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17932 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17933 (pkglib_PROGRAMS): Add kernel.img.
17934 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17935 (pkglib_PROGRAMS): Add kernel.img.
17936 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17937 (grub_mkimage_SOURCES): Removed.
17938 (grub_mkimage_CFLAGS): Likewise.
17939 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17940 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17941 (pkglib_PROGRAMS): Add kernel.img.
17942 (bin_UTILITIES): Remove grub-mkimage.
17943 (grub_mkimage_SOURCES): Removed.
17944 (grub_mkimage_CFLAGS): Likewise.
17945 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17946 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17947 (grub_mkimage_SOURCES): Removed.
17948 (grub_mkimage_CFLAGS): Likewise.
17949 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17950 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17951 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17952 (grub_pe32_optional_header): ... this.
17953 (grub_pe64_optional_header): ... and this. All users updated.
17954 (GRUB_PE32_PE32_MAGIC): Split into ..
17955 (GRUB_PE32_PE32_MAGIC): .. this.
17956 (GRUB_PE32_PE64_MAGIC): .. and this.
17957 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17958 * include/grub/elf.h (PT_GNU_STACK): New definition.
17959 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17960 * include/grub/i386/efi/kernel.h: Likewise.
17961 * include/grub/i386/kernel.h: Likewise.
17962 * include/grub/i386/pc/kernel.h: Likewise.
17963 * include/grub/i386/qemu/boot.h: Likewise.
17964 * include/grub/mips/kernel.h: Likewise.
17965 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17966 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17967 * include/grub/powerpc/kernel.h: Likewise.
17968 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17969 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17970 * include/grub/sparc64/kernel.h: Likewise.
17971 * include/grub/x86_64/efi/kernel.h: Likewise.
17972 * include/grub/x86_64/kernel.h: Likewise.
17973 * include/grub/offsets.h: New file.
17974 * include/grub/kernel.h (grub_module_info): Split into ...
17975 (grub_module_info32): ... this.
17976 (grub_module_info64): ... and this.
17977 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17978 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17979 (grub_boot_blocklist): Moved from here ...
17980 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17981 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17982 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17983 * include/grub/types.h (grub_target_to_host16): Removed.
17984 (grub_target_to_host32): Likewise.
17985 (grub_target_to_host64): Likewise.
17986 (grub_host_to_target16): Likewise.
17987 (grub_host_to_target32): Likewise.
17988 (grub_host_to_target64): Likewise.
17989 (grub_host_to_target_addr): Likewise.
17990
17991 Support grub-mkrescue for efi, coreboot and qemu.
17992
17993 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17994 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17995 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17996 * util/grub-mkrawimage.c: Moved from here ...
17997 * util/grub-mkimage.c: ... here. All users updated.
17998 (ALIGN_ADDR): Use image_target.
17999 (TARGET_NO_FIELD): New const.
18000 (image_target_desc): New type.
18001 (image_targets): New array.
18002 (grub_target_to_host64): Use image_target.
18003 (grub_target_to_host32): Likewise.
18004 (grub_target_to_host16): Likewise.
18005 (grub_host_to_target64): Likewise.
18006 (grub_host_to_target32): Likewise.
18007 (grub_host_to_target16): Likewise.
18008 (grub_host_to_target_addr): Likewise.
18009 (generate_image): Handle multiimage.
18010 (main): Require -O parameter. All users updated.
18011 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18012 util/efi/grub-mkimage.c
18013 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18014 New option --rom-directory.
18015 Use xorriso.
18016 * util/i386/efi/grub-mkimage.c: Removed.
18017 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18018 (grub_target_to_host32): Likewise.
18019 (grub_target_to_host64): Likewise.
18020 (grub_host_to_target16): Likewise.
18021 (grub_host_to_target32): Likewise.
18022 (grub_host_to_target64): Likewise.
18023 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18024 (grub_target_to_host32): Likewise.
18025 (grub_target_to_host64): Likewise.
18026 (grub_host_to_target16): Likewise.
18027 (grub_host_to_target32): Likewise.
18028 (grub_host_to_target64): Likewise.
18029
f4fc97d0
BC
180302010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18031
18032 Source tree is reorganized for emu build.
18033
18034 * include/grub/util/console.h: Move from here...
18035 * include/grub/emu/console.h: ...to here.
18036 * include/grub/util/getroot.h: Move from here...
18037 * include/grub/emu/getroot.h: ...to here.
18038 * include/grub/util/hostdisk.h: Move from here...
18039 * include/grub/emu/hostdisk.h: ...to here.
18040 * util/console.c: Move from here...
18041 * kern/emu/console.c: ...to here.
18042 * util/getroot.c: Move from here...
18043 * kern/emu/getroot.c: ...to here.
18044 * util/grub-emu.c: Move from here...
18045 * kern/emu/main.c: ...to here.
18046 * util/hostdisk.c: Move from here...
18047 * kern/emu/hostdisk.c: ...to here.
18048 * util/hostfs.c: Move from here...
18049 * kern/emu/hostfs.c: ...to here.
18050 * util/mm.c: Move from here...
18051 * kern/emu/mm.c: ...to here.
18052 * util/pci.c: Move from here...
18053 * bus/emu/pci.c: ...to here.
18054 * util/sdl.c: Move from here...
18055 * video/emu/sdl.c: ...to here.
18056 * util/time.c: Move from here...
18057 * kern/emu/time.c: ...to here.
18058 * util/usb.c: Move from here...
18059 * bus/usb/emu/usb.c: ...to here.
18060
18061 * include/grub/emu/misc.h: New header for grub-emu functions.
18062 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18063
18064 * conf/any-emu.rmk: Rule updates for above renames.
18065 * conf/common.rmk: Likewise.
18066 * conf/i386-pc.rmk: Likewise.
18067 * conf/i386-qemu.rmk: Likewise.
18068 * conf/mips.rmk: Likewise.
18069 * conf/sparc64-ieee1275.rmk: Likewise.
18070 * conf/x86-efi.rmk: Likewise.
18071
18072 * disk/lvm.h: #include updates for above renames.
18073 * util/grub-mkrelpath.c: Likewise.
18074 * util/grub-probe.c: Likewise.
18075 * util/i386/pc/grub-setup.c: Likewise.
18076 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18077 * kern/emu/console.c: Likewise.
18078 * kern/emu/getroot.c: Likewise.
18079 * kern/emu/hostdisk.c: Likewise.
18080 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18081
18082 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18083 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18084 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18085 * util/misc.c: Remove grub-emu functions.
18086
cced9145
VS
180872010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 Fix gfxmenu crash.
18090 Reported by: Thorsten Grützmacher.
18091
18092 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18093 timeout hook.
18094 (circprog_set_property): Register and unregister timeout hook.
18095 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18096 (label_destroy): Free template. and unregister hook.
18097 (label_set_state): New function.
18098 (label_set_property): Handle templates and hooks.
18099 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18100 timeout hook.
18101 (progress_bar_set_property): Register and unregister timeout hook.
18102 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18103 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18104 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18105 (update_timeout_visit): Removed.
18106 (update_timeouts): New function.
18107 (redraw_timeouts): Likewise.
18108 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18109 (grub_gfxmenu_clear_timeout): Likewise.
18110 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18111 (grub_gfxmenu_timeout_notify): Likewise.
18112 (grub_gfxmenu_timeout_notifications): New external variable.
18113 (grub_gfxmenu_timeout_register): New function.
18114 (grub_gfxmenu_timeout_unregister): Likewise.
18115
c6e5caab
VS
181162010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 Transform (broken) vga terminal into (working) vga video driver.
18119
18120 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18121 video/i386/pc/vga.c.
18122 * include/grub/video.h (grub_video_driver_id):
18123 Add GRUB_VIDEO_DRIVER_VGA.
18124 * term/i386/pc/vga.c: Renamed to ...
18125 * video/i386/pc/vga.c: ...this
18126 (DEBUG_VGA): Removed.
18127 (CHAR_WIDTH): Likewise.
18128 (CHAR_HEIGHT): Likewise.
18129 (TEXT_WIDTH): Likewise.
18130 (TEXT_HEIGHT): Likewise.
18131 (DEFAULT_FG_COLOR): Likewise.
18132 (DEFAULT_BG_COLOR): Likewise.
18133 (colored_char): Likewise.
18134 (xpos): Likewise.
18135 (ypos): Likewise.
18136 (cursor_state): Likewise.
18137 (fg_color): Likewise.
18138 (bg_color): Likewise.
18139 (text_buf): Likewise.
18140 (page): Likewise.
18141 (font): Likewise.
18142 (framebuffer): New variable.
18143 (set_read_map): Disabled.
18144 (setup): New variable.
18145 (is_target): Likewise.
18146 (grub_vga_mod_init): Likewise.
18147 (grub_vga_mod_fini): Likewise.
18148 (check_vga_mem): Likewise.
18149 (write_char): Likewise.
18150 (write_cursor): Likewise.
18151 (scroll_up): Likewise.
18152 (grub_vga_putchar): Likewise.
18153 (grub_vga_getcharwidth): Likewise.
18154 (grub_vga_getwh): Likewise.
18155 (grub_vga_getxy): Likewise.
18156 (grub_vga_gotoxy): Likewise.
18157 (grub_vga_cls): Likewise.
18158 (grub_vga_setcolorstate): Likewise.
18159 (grub_vga_setcursor): Likewise.
18160 (grub_video_vga_init): New function.
18161 (grub_video_vga_setup): Likewise.
18162 (grub_video_vga_fini): Likewise.
18163 (update_target): Likewise.
18164 (grub_video_vga_blit_bitmap): Likewise.
18165 (grub_video_vga_blit_render_target): Likewise.
18166 (grub_video_vga_set_active_render_target): Likewise.
18167 (grub_video_vga_get_active_render_target): Likewise.
18168 (grub_video_vga_swap_buffers): Likewise.
18169 (grub_video_vga_set_palette): Likewise.
18170 (grub_video_vga_get_info_and_fini): Likewise.
18171 (grub_vga_term): Removed.
18172 (grub_video_vga_adapter): New variable.
18173 (GRUB_MOD_INIT): Register a video driver instead of terminal.
18174 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
18175
2bf61a98
VS
181762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * video/readers/jpeg.c: Indented.
18179
09ddcd11
VS
181802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 Various jpeg cleanups.
18183
18184 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
18185 (grub_jpeg_decode_quan_table): Use sizeof.
18186 (grub_jpeg_decode_du): Use ARRAY_SIZE.
18187
e5507505
PH
181882010-05-05 Peter Hurley <No e-mail available> (tiny change)
18189
18190 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
18191 tables. Ignore non-last ac bit.
18192 (grub_jpeg_decode_quan_table): Likewise.
18193
7e720a9b
VS
181942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
18197 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
18198 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18199 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
18200 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
18201 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
18202
a7fc080b
VS
182032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
18206 error.
18207
2bf6012d
VS
182082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
18211
265d68cd
VS
182122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
18215 condition.
18216
182172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
18218
18219 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
18220 part.
18221
265d68cd 182222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
18223
18224 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
18225 pointers.
18226
265d68cd 182272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
18228
18229 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
18230
d1b61374
CF
182312010-05-01 Christian Franke <franke@computer.org>
18232
18233 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
18234 Remove broken Cygwin path conversion.
18235 * util/misc.c: [__CYGWIN__] Add include and define.
18236 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
18237 for Cygwin 1.7.
18238 (make_system_path_relative_to_its_root): Simplify loop, replace early
18239 return by break.
18240 [__CYGWIN__] Add conversion to win32 path.
18241 Include "/" case in trailing slash removal.
18242
3558c6e9
VS
182432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * kern/main.c (grub_load_config): Fix copy-pasted comment.
18246 Reported by: Seth Goldberg
18247
f5f3ff93
VS
182482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * commands/help.c (grub_cmd_help): Fix a typo.
18251 Reported by: Seth Goldberg
18252
d8b5cd40
VS
182532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
18256 name and add N_.
18257 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
18258 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
18259 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
18260 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
18261 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
18262 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
18263 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18264 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18265 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18266 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18267 * normal/context.c (GRUB_MOD_INIT): Likewise.
18268 * normal/main.c (GRUB_MOD_INIT): Likewise.
18269 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18270 * term/serial.c (GRUB_MOD_INIT): Likewise.
18271 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18272
88c14915
VS
182732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
18276 extra == 0.
18277
165134bc
VS
182782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * commands/iorw.c: New file.
18281 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
18282 (iorw_mod_SOURCES): New variable.
18283 (iorw_mod_CFLAGS): Likewise.
18284 (iorw_mod_LDFLAGS): Likewise.
18285
c5ac9b32
VS
182862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18287
18288 Hotkey support
18289
18290 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
18291 * normal/main.c (hotkey_aliases): New variable.
18292 (grub_normal_add_menu_entry): Parse "--hotkey".
18293 * normal/menu_text.c (run_menu): Handle hotkeys.
18294
ce60689c
VS
182952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * kern/i386/coreboot/init.c (grub_machine_init): Call
18298 grub_machine_mmap_init on qemu.
18299
0359d006
VS
183002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * boot/i386/qemu/boot.S: Add a missing .code16.
18303
7819a456
VS
183042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18305
18306 Use LBIO on coreboot.
18307
18308 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
18309 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
18310 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
18311 New declaration.
18312 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
18313 grub_machine_mmap_init on coreboot.
18314 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
18315 GRUB_LINUXBIOS_MEMBER_LINK.
18316 (grub_machine_mmap_iterate): Fix declaration.
18317 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
18318
7210dca9
VS
183192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 Split coreboot and multiboot ports.
18322
18323 * conf/i386-multiboot.rmk: New file.
18324 * configure.ac: Add multiboot port.
18325 * include/grub/i386/multiboot/boot.h: New file.
18326 * include/grub/i386/multiboot/console.h: Likewise.
18327 * include/grub/i386/multiboot/init.h: Likewise.
18328 * include/grub/i386/multiboot/kernel.h: Likewise.
18329 * include/grub/i386/multiboot/loader.h: Likewise.
18330 * include/grub/i386/multiboot/memory.h: Likewise.
18331 * include/grub/i386/multiboot/serial.h: Likewise.
18332 * include/grub/i386/multiboot/time.h: Likewise.
18333 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
18334 * loader/multiboot.c: Likewise.
18335 * loader/multiboot_mbi2.c: Likewise.
18336 * util/grub-mkrescue.in: Generate multiboot rescue.
18337
6f8aaf68
VS
183382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18339
3080f7a7
VS
18340 * kern/parser.c (grub_parser_execute): Cope with read-only config.
18341
183422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
18345
18346 * commands/terminal.c (abstract_terminal): New struct.
18347 (handle_command): New function. Based on grub_cmd_terminal_input.
18348 (grub_cmd_terminal_input): Use handle_command.
18349 (grub_cmd_terminal_output): Use handle_command.
18350
a8ebb841
BC
183512010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
18352
18353 Fix comment handling.
18354
18355 * tests/grub_script_comments.in: New testcase.
18356 * conf/tests.rmk: Rules for new testcase.
18357 * script/yylex.l: Updated flex rules.
18358
bb06ba08
ST
183592010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
18360
18361 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
18362 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
18363 if argc is 1.
bb06ba08 18364
cc9d2425
VS
183652010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18366
18367 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
18368 autogen issues.
18369
460d8402
CF
183702010-04-26 Christian Franke <franke@computer.org>
18371
18372 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
18373 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
18374 (grub_get_prefix): Remove function.
18375 * util/grub-emu.c (main): Replace grub_get_prefix () call by
18376 make_system_path_relative_to_its_root ().
18377 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18378
553c01f9
CF
183792010-04-24 Christian Franke <franke@computer.org>
18380
18381 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
18382 (kernel_img_LDFLAGS): Remove -static-libgcc.
18383
2aec1692
CF
183842010-04-24 Christian Franke <franke@computer.org>
18385
18386 * configure.ac: Do not CHECK_BSS_START_SYMBOL
18387 and CHECK_END_SYMBOL if grub-emu is built.
18388 Unset TARGET_OBJ2ELF if grub-emu is built
18389 without module support.
18390
f67dc308
JS
183912010-04-24 Jiro SEKIBA <jir@unicus.jp>
18392
18393 Nilfs2 support.
18394
18395 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
18396 (grub_fstest_SOURCES): Likewise.
18397 (pkglib_MODULES): Add nilfs2.mod.
18398 (nilfs2_mod_SOURCES): New variable.
18399 (nilfs2_mod_CFLAGS): Likewise.
18400 (nilfs2_mod_LDFLAGS): Likewise.
18401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18402 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
18403 * fs/nilfs2.c: New file.
18404
4ba8d354
VS
184052010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
18408 is not supported.
18409
0d2c20c6
GS
184102010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
18411
18412 Add grub-mkconfig support for NetBSD.
18413
18414 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
18415 * util/grub-mkconfig.in: export new NetBSD specific variables.
18416 * po/POTFILES-shell: added 10_netbsd.in.
18417 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
18418
bc4a2d83
BC
184192010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
18420
18421 Fix emu build with grub-emu-pci and grub-emu-modules.
18422
18423 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
18424 functions.
18425 * include/grub/libpciaccess.h: New file.
18426 * conf/any-emu.rmk: Update kernel headers for emu build.
18427
f48c87aa
VS
184282010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
18431
18959385
VS
184322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18433
18434 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
18435
0037de3f
VS
184362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18437
18438 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
18439 Retrieve chosen/bootpath if bootpath isn't hardcoded.
18440 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
18441 util/ieee1275/ofpath.c.
18442 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
18443 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
18444 * include/grub/sparc64/ieee1275/boot.h
18445 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
18446 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
18447 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
18448 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
18449 const char *.
18450 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
18451 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
18452 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
18453 install.
18454
38e55e90
GS
184552010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18456
18457 * util/grub-mkconfig.in: Corrected two == equality tests.
18458 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
18459 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
18460 expect a number appended to it.
18461 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
18462 expects a number appended to it.
18463
a9e6ff28
VS
184642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
18467
0b830b8f
VS
184682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * util/hostdisk.c (make_device_name): Change to new partition naming.
18471
0973daeb
VS
184722010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
18475
460d8402 184762010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
18477
18478 * Makefile.in: Add missing localedir setting.
18479
0b456309
CW
184802010-04-14 Colin Watson <cjwatson@ubuntu.com>
18481
18482 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
18483 mistake in r2156. Noticed by Anthony Fok.
18484
18485 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
18486 @localedir@.
18487 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18488
08f46d62
BC
184892010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
18490
18491 Fix a spurious, uninitialized variable warning.
18492
18493 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
18494 Initialize variable, shdr.
18495 (grub_freebsd_load_elfmodule): Likewise.
18496 (grub_freebsd_load_elf_meta): Likewise.
18497
8c4a72d4
BC
184982010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
18499
18500 Fix for escaped dollar in double quoted strings.
18501
18502 * script/yylex.l: Updated flex rules.
18503 * conf/tests.rmk: Rule for new testcase.
18504 * tests/grub_script_dollar.in: New testcase.
18505
ce44826e
CPE
185062010-04-13 Carles Pina i Estany <carles@pina.cat>
185072010-04-13 Colin Watson <cjwatson@ubuntu.com>
18508
18509 Enclose all translated strings in grub.cfg in single quotes, and
18510 escape them appropriately (Ubuntu bug #552921).
18511
18512 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
18513 * util/grub.d/10_hurd.in: Use it.
18514 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18515 * util/grub.d/10_linux.in (linux_entry): Likewise.
18516
4b0cd8f8
VS
185172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 Fix cygwin compilation.
18520
18521 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
18522 * include/grub/misc.h (__register_frame_info)
18523 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
18524 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18525 * kern/misc.c (__register_frame_info)
18526 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
18527 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
18528
01fcf061
VS
185292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
18532
5d04b11e
VS
185332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 Unify libgcc processing.
18536
18537 * Makefile.in (kernel_img_LDFLAGS): New variable.
18538 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
18539 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
18540 overwriting.
18541 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
18542 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
18543 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
18544 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
18545 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
18546 overwriting. Remove -lgcc and -static-libgcc
18547 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
18548 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18549 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
18550 (kernel_img_LDFLAGS): Append instead of overwriting.
18551 Remove -lgcc and -static-libgcc
18552 * conf/sparc64-ieee1275.rmk: Likewise.
18553 * include/grub/powerpc/libgcc.h: Move to ...
18554 * include/grub/libgcc.h: .. this.
18555 * include/grub/libgcc.h: Don't export most of the function on x86.
18556 (__bswapsi2): New export.
18557 (__bswapdi2): Likewise.
18558 * include/grub/mips/libgcc.h: Removed.
18559 * include/grub/sparc64/libgcc.h: Likewise.
18560
b7f3ac29
VS
185612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
18564 disk_info_msg (conflicts with gettexting into languages with cases).
18565
2c7031b1
GS
185662010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
18567
18568 Add grub-probe support for NetBSD.
18569
18570 * util/getroot.c (find_root_device): Convert block device to
18571 character device on NetBSD.
18572 * util/probe.c (probe): Require character device on NetBSD.
18573 * util/hostdisk.c: NetBSD specific headers.
18574 (configure_device_driver): new function to tune device driver
18575 parameters (currently only for NetBSD floppy driver).
18576 (grub_util_biosdisk_open): NetBSD specific code (get disk size
18577 via disklabel ioctl).
18578 (open_device): call configure_device_driver on NetBSD.
18579 (convert_system_partition_to_system_disk): NetBSD specific code.
18580 (device_is_wholedisk): Likewise.
18581 (grub_util_biosdisk_get_grub_dev): Likewise.
18582 (make_device_name): Fixed a typo in bsd_part_str.
18583 * configure.ac: check for opendisk() and getrawpartition() on
18584 NetBSD and set LIBUTIL.
18585 * Makefile.in: add LIBUTIL to LIBS.
18586
f516290c
BC
185872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18588
18589 Documentation fix.
18590
18591 * util/grub-script-check.c: Better help message.
18592
d8dcc0df
BC
185932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
18594
18595 Fix FreeBSD build.
18596
18597 * configure.ac: Flex version check.
18598 * conf/common.rmk: Add -Wno-error to sh.mod.
18599 * script/yylex.l: Remove all #pragma.
18600
6734334a
VS
186012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 * include/grub/util/misc.h (canonicalise_file_name): Add missing
18604 prototype.
18605 Reported by: Seth Goldberg.
18606
daea6abd
VS
186072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18608
18609 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
18610 Rename "module" to "module2".
18611 Reported by: Seth Goldberg.
18612
f2fd9d2b
VS
186132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
18616 EXPORT_FUNC.
18617 Reported by: Seth Goldberg.
18618
be124579
VS
186192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 * lib/posix_wrap/locale.h: Add missing file.
18622 Reported by: Seth Goldberg.
18623
ef5da797
VS
186242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18625
18626 grub-emu module load support.
18627
18628 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
18629 NO_DYNAMIC_MODULES switched to this.
18630 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
18631 (CFLAGS): Likewise.
18632 * conf/any-emu.rmk: Generate symlist.
18633 (kernel_img_HEADERS): Add util/datetime.h.
18634 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18635 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18636 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18637 kern/$(target_cpu)/cache.S.
18638 * configure.ac (grub-emu-modules): New option.
18639 * genmk.rb: Handle multiple source lists.
18640 * include/grub/sdl.h: New file.
18641 * include/grub/libusb.h: Likewise.
18642 * util/grub-emu.c (main): Hanle (host) root.
18643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18644 GRUB_ERR_UNKNOWN_DEVICE.
18645 * util/misc.c: Move mm functions to ...
18646 * util/mm.c: ... here. All users updated.
18647
47822096
VS
186482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18651 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18652 missing files.
18653 (maintainer-clean): Remove libgcrypt-grub.
18654
5d7e7445
VS
186552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18656
18657 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18658
25f4e252
EC
186592010-04-09 EFI Coder <eficoder@hotmail.com>
18660
18661 * normal/menu_text.c (print_message): Clean up the message and show
18662 the Fn information when on EFI
18663 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18664
027de555
VS
186652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18668 All users updated.
18669 * normal/crypto.c (read_crypto_list): Likewise.
18670 * normal/dyncmd.c (read_command_list): Likewise.
18671 * normal/term.c (read_terminal_list): Likewise.
18672 * normal/main.c (read_lists): Use explicit prefix.
18673 (read_lists_hook): Use read_lists.
18674 (grub_normal_execute): Likewise.
18675
47779711
VS
186762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18679 Reported by: Thomas Schmitt.
18680 Add -no-emul-boot to grub-mkisofs parameters.
18681
1118c32e
VS
186822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * font/font.c: Indented.
18685
7d652447
BC
186862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18687
18688 Elif support to GRUB script (by Deepak Vankadaru).
18689
18690 * tests/grub_script_if.in: New testcase.
18691 * conf/tests.rmk: Rule for new testcase.
18692 * script/parser.y: Grammar rules for elif.
18693
34bb22df
BC
186942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18695
18696 While and until loops support to GRUB script.
18697
18698 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18699 (grub_script_create_cmdwhile): New function prototype.
18700 (grub_script_execute_cmdwhile): New function prototype.
18701 * script/execute.c (grub_script_execute_cmdwhile): New function.
18702 * script/parser.y (command): New commands.
18703 (whilecmd): New grammar rule.
18704 (untilcmd): New grammar rule.
18705 * script/script.c (grub_script_create_cmdwhile): New function.
18706 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18707 function.
18708
18709 * tests/grub_script_while1.in: New testcase.
18710 * conf/tests.rmk: Rule for new testcase.
18711
e215d8e0
VS
187122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18715 as *.jpg.
18716
d7c43ba1
MV
187172010-04-09 Mario Vazquez <mariovazq@gmail.com>
18718
18719 GRUB_BACKGROUND support.
18720
18721 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18722 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18723
d64795c0
VS
187242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18725
18726 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18727 Idea by: Mario Vazquez
d64795c0
VS
18728
18729 * util/grub.d/00_header.in: Load pf2 and image modules.
18730
f267f83a
VS
187312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 grub-mkconfig multiple terminal support.
18734
18735 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18736 * util/grub.d/00_header.in: Likewise.
18737
b7841ceb
VS
187382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18741 we use cd $(srcdir).
18742
df60998c
CW
187432010-04-08 Colin Watson <cjwatson@ubuntu.com>
18744
18745 * util/grub.d/10_linux.in: Only use the first word of
18746 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18747 spaces in GRUB_DISTRIBUTOR.
18748 * util/grub.d/10_kfreebsd.in: Likewise.
18749 * util/grub.d/10_hurd.in: Likewise.
18750
fa09c82e
BC
187512010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18752
14e18ae3 18753 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18754
18755 * tests/util/grub-shell.in: Remove -serial stdio option.
18756
daf892b3
BC
187572010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 POSIX header file wrappers.
18760
18761 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18762 equivalents.
18763 * lib/posix_wrap/ctype.h: Likewise.
18764 * lib/posix_wrap/errno.h: Likewise.
18765 * lib/posix_wrap/langinfo.h: Likewise.
18766 * lib/posix_wrap/limits.h: Likewise.
18767 * lib/posix_wrap/localcharset.h: Likewise.
18768 * lib/posix_wrap/stdint.h: Likewise.
18769 * lib/posix_wrap/stdio.h: Likewise.
18770 * lib/posix_wrap/stdlib.h: Likewise.
18771 * lib/posix_wrap/string.h: Likewise.
18772 * lib/posix_wrap/sys/types.h: Likewise.
18773 * lib/posix_wrap/unistd.h: Likewise.
18774 * lib/posix_wrap/wchar.h: Likewise.
18775 * lib/posix_wrap/wctype.h: Likewise.
18776 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18777 (grub_script.yy.h): Likewise.
18778 * script/yylex.l: Remove POSIX emulation #defines.
18779 * Makefile.in (POSIX_CFLAGS): New variable.
18780 (GNULIB_UTIL_CFLAGS): Likewise.
18781
18782 Regexp support.
18783
18784 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18785 (regexp_mod_SOURCES): New variable.
18786 (regexp_mod_CFLAGS): Likewise.
18787 (regexp_mod_LDFLAGS): Likewise.
18788 * commands/regexp.c: New file.
18789 * gnulib/regcomp.c: New file. Imported from gnulib.
18790 * gnulib/regex.c: Likewise.
18791 * gnulib/regex_internal.c: Likewise.
18792 * gnulib/regex_internal.h: Likewise.
18793 * gnulib/regexec.c: Likewise.
18794 * gnulib/regex.h: Likewise.
18795
974ac4f7
VS
187962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18799 unsupported video mode types.
18800
2622c3ff
VS
188012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18804
064cb524
VS
188052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18808 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18809
a8c3b552
VS
188102010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 Remove unused grub_vga_get_font.
18813
18814 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18815 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18816
187bbe3d
GS
188172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18818
18819 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18820 * include/grub/misc.h: Likewise.
18821
b9396631
GS
188222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18823
18824 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18825 for which failure is fatal.
18826
50479feb
GS
188272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18828
18829 * util/grub-install.in: Use mkdir -p to create grub directory.
18830 * util/i386/efi/grub-install.in: Likewise.
18831 * util/ieee1275/grub-install.in: Likewise.
18832
b1654fdf
GS
188332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18834
18835 * Makefile.in (LEX): new variable.
18836
bd5a6415
GS
188372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18838
18839 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18840 `=' and added double quotes on operands of this equality test.
18841
3db3a82b
VS
188422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * Makefile.in (uninstall): Remove a leftover debug echo.
18845 Reported by: Grégoire Sutre
18846
38023412
VS
188472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 MIPS multiboot2 support.
18850
18851 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18852 (multiboot2_mod_SOURCES): New variable.
18853 (multiboot2_mod_CFLAGS): Likewise.
18854 (multiboot2_mod_LDFLAGS): Likewise.
18855 (multiboot2_mod_ASFLAGS): Likewise.
18856 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18857 definition.
18858 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18859 (MULTIBOOT_MBI_REGISTER): Likewise.
18860 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18861 (MULTIBOOT_ELF32_MACHINE): Likewise.
18862 (MULTIBOOT_ELF64_MACHINE): Likewise.
18863 * include/grub/mips/multiboot.h: New file.
18864 * include/grub/video.h (grub_video_driver_id): New type
18865 GRUB_VIDEO_DRIVER_SM712.
18866 (grub_video_get_info_and_fini): Export.
18867 (grub_video_get_palette): Likewise.
18868 (grub_video_get_driver_id): Likewise.
18869 * include/multiboot2.h: Resynced with spec.
18870 * loader/i386/multiboot.c: Moved from here ...
18871 * loader/multiboot.c: ... here. All users updated.
18872 (grub_multiboot_boot): Use platform-specific macros.
18873 * loader/i386/multiboot_elfxx.c: Moved from here ...
18874 * loader/multiboot_elfxx.c: ... here. All users updated.
18875 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18876 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18877 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18878
47674667
VS
188792010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 Import gnulib argp module.
18882
18883 * gnulib/argp-ba.c: New file.
18884 * gnulib/argp-eexst.c: Likewise.
18885 * gnulib/argp-fmtstream.c: Likewise.
18886 * gnulib/argp-fmtstream.h: Likewise.
18887 * gnulib/argp-fs-xinl.c: Likewise.
18888 * gnulib/argp-help.c: Likewise.
18889 * gnulib/argp-namefrob.h: Likewise.
18890 * gnulib/argp-parse.c: Likewise.
18891 * gnulib/argp-pin.c: Likewise.
18892 * gnulib/argp-pv.c: Likewise.
18893 * gnulib/argp-pvh.c: Likewise.
18894 * gnulib/argp-version-etc.c: Likewise.
18895 * gnulib/argp-version-etc.h: Likewise.
18896 * gnulib/argp-xinl.c: Likewise.
18897 * gnulib/argp.h: Likewise.
18898
495442ed
VS
188992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * kern/device.c (grub_device_iterate): Clear errors after failed
18902 opening device.
18903
f9fd65df
VS
189042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18905
18906 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18907 returned by firmware.
18908
af09641e
VS
189092010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18912 compilation on coreboot and qemu
18913
016883a5
VS
189142010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * include/multiboot2.h: Resync with spec.
18917
f97e1f7d
VS
189182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 Multiboot2 tag support
18921
18922 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18923 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18924 Remove loader/multiboot_loader.c.
18925 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18926 (grub_multiboot2_real_boot): Likewise.
18927 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18928 (grub_get_multiboot_mmap_count): New proto.
18929 (grub_fill_multiboot_mmap): Likewise.
18930 (grub_multiboot_set_video_mode): Likewise.
18931 (grub_multiboot_set_console): Likewise.
18932 (grub_multiboot_load): Likewise.
18933 (grub_multiboot_load_elf): Likewise.
18934 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18935 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18936 * include/multiboot.h: Resynced with specification.
18937 * include/multiboot2.h: Resynced with specification.
18938 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18939 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18940 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18941 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18942 users updated.
18943 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18944 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18945 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18946 Removed.
18947 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18948 Moved from here...
18949 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18950 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18951 Moved from here...
18952 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18953 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18954 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18955 All users updated.
18956 * loader/i386/multiboot_mbi2.c: New file.
18957
3506b90b
VS
189582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 Resync with gnulib.
18961
18962 * Makefile.in (GNULIB_CFLAGS): New variable.
18963 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18964 (grub_script_check_CFLAGS): New variable.
18965 * gnulib/alloca.h: Resync with gnulib.
18966 * gnulib/error.c: Likewise.
18967 * gnulib/error.h: Likewise.
18968 * gnulib/fnmatch.c: Likewise.
18969 * gnulib/fnmatch_loop.c: Likewise.
18970 * gnulib/getdelim.c: Likewise.
18971 * gnulib/getline.c: Likewise.
18972 * gnulib/getopt.c: Likewise.
18973 * gnulib/getopt1.c: Likewise.
18974 * gnulib/getopt_int.h: Likewise.
18975 * gnulib/gettext.h: Likewise.
18976 * gnulib/progname.c: Likewise.
18977 * gnulib/progname.h: Likewise.
18978
394a3120
GS
189792010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18980
18981 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18982 which is the case with --disabled-nls.
18983
18984 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18985 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18986 * util/misc.c: Likewise.
18987 * util/mkisofs/mkisofs.c: Likewise.
18988 * util/mkisofs/mkisofs.h: Likewise.
18989
969d1c78
VS
189902010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 Simplify Apple CC support.
18993
18994 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18995 Add 0 byte at the end not to have a symbol with empty target.
18996 * mmap/i386/pc/mmap_helper.S: Likewise.
18997 * genmk.rb: Ignore errors 2030 and 2050.
18998 * kern/i386/pc/startup.S: Use LOCAL when possible.
18999
8d2977bb
BC
190002010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19001
19002 Testcase and the fix for final semicolon on cmdline.
19003
19004 * tests/grub_script_final_semicolon.in: New testcase.
19005 * conf/tests.rmk: Rules for the new testcase.
19006 * script/parser.y: Grammar fix.
19007
a7bd6915
BC
190082010-03-26 BVK Chaitanya <bvk@localhost>
19009
19010 Blank lines testcase for GRUB script.
19011
19012 * tests/grub_script_blanklines.in: New testcase.
19013 * conf/tests.rmk: Rules for the new testcase.
19014
e4ff6628
VS
190152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19016
19017 Don't use __FILE__.
19018
19019 * genmk.rb: Add -DGRUB_FILE to all C targets.
19020 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19021 * include/grub/list.h: Likewise.
19022 * include/grub/misc.h: Likewise.
19023 * include/grub/mm.h: Likewise.
19024 * include/grub/test.h: Likewise.
19025 * kern/mm.c: Likewise.
19026 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19027
6a5cf6b6
VS
190282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19029
19030 Sunpc partitions support.
19031
19032 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19033 (grub_fstest_SOURCES): Likewise.
19034 (pkglib_MODULES): Add part_sunpc.mod.
19035 (part_sunpc_mod_SOURCES): New variable.
19036 (part_sunpc_mod_CFLAGS): Likewise.
19037 (part_sunpc_mod_LDFLAGS): Likewise.
19038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19039 * partmap/sunpc.c: New file.
19040
746d9045
BC
190412010-03-26 BVK Chaitanya <bvk@localhost>
19042
19043 For loop support to GRUB script.
19044
19045 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19046 (grub_script_create_cmdfor): New function prototype.
19047 (grub_script_execute_cmdfor): New function prototype.
19048 * script/execute.c (grub_script_execute_cmdfor): New function.
19049 * script/parser.y (command): New for command.
19050 (forcmd): New grammar rule.
19051 * script/script.c (grub_script_create_cmdfor): New function.
19052 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19053 function.
19054 * tests/grub_script_for1.in: New testcase.
19055 * conf/tests.rmk: Rules for new testcase.
19056
18486b18
VS
190572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 Nested partitions
19060
19061 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19062 'partition' is NULL, grub_partition_get_start already does that.
19063 * commands/loadenv.c (check_blocklists): Likewise.
19064 (write_blocklists): Likewise.
19065 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19066 (grub_fstest_SOURCES): Likewise.
19067 (pkglib_MODULES): Add part_bsd.mod.
19068 (part_bsd_mod_SOURCES): New variable.
19069 (part_bsd_mod_CFLAGS): Likewise.
19070 (part_bsd_mod_LDFLAGS): Likewise.
19071 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19072 (grub_emu_SOURCES): Likewise.
19073 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19074 * include/grub/bsdlabel.h: New file.
19075 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19076 'get_name'.
19077 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19078 (grub_partition_map_list): New variable.
19079 (grub_partition_map_register): Inline.
19080 (grub_partition_map_unregister): Likewise.
19081 (FOR_PARTITION_MAPS): New macro.
19082 (grub_partition_map_iterate): Removed.
19083 (grub_partition_get_start): Handle nested partitions.
19084 * include/grub/msdos_partition.h: Remove bsd-related entries.
19085 (grub_pc_partition): Remove.
19086 * kern/disk.c (grub_disk_close): Free partition data.
19087 (grub_disk_adjust_range): Handle nested partitions.
19088 * kern/partition.c (grub_partition_map_probe): New function.
19089 (grub_partition_probe): Parse name to number, handle subpartitions.
19090 (get_partmap): New function.
19091 (grub_partition_iterate): Handle subpartitions.
19092 (grub_partition_get_name): Likewise.
19093 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19094 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19095 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19096 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19097 Set 'number'.
19098 (acorn_partition_map_probe): Remove.
19099 (acorn_partition_map_get_name): Likewise.
19100 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19101 Set 'number'.
19102 Set 'index' to 0 since there can be only one partition entry per sector.
19103 (amiga_partition_map_probe): Remove.
19104 (amiga_partition_map_get_name): Likewise.
19105 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19106 Set 'number'.
19107 Set 'offset' and 'index' to real positions of partitions.
19108 (apple_partition_map_probe): Remove.
19109 (apple_partition_map_get_name): Likewise.
19110 * partmap/bsdlabel.c: New file.
19111 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19112 Set 'number'.
19113 Allocate 'data' so it can be correctly freed.
19114 Set 'index' to offset inside sector.
19115 (gpt_partition_map_probe): Remove.
19116 (gpt_partition_map_get_name): Likewise.
19117 * partmap/msdos.c (grub_partition_parse): Remove.
19118 (pc_partition_map_iterate): Don't force raw access.
19119 Set 'number'.
19120 Make 'ext_offset' a local variable.
19121 (pc_partition_map_probe): Remove.
19122 (pc_partition_map_get_name): Remove.
19123 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19124 Set 'number'.
19125 (sun_partition_map_probe): Remove.
19126 (sun_partition_map_get_name): Likewise.
19127 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19128 (grub_pcpart_type): Likewise.
19129 * util/hostdisk.c (open_device): Handle new numbering scheme.
19130 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
19131 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
19132 * util/grub-probe.c (probe_partmap): Handle nested paritions.
19133 * util/grub-install.in: Insert all subpartition modules.
19134 * util/ieee1275/grub-install.in: Likewise.
19135
a3940f88
AG
191362010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
19137
19138 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
19139 grammar.
19140
21b99926 191412010-03-24 Colin Watson <cjwatson@ubuntu.com>
19142
19143 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
19144
bed1d352
CW
191452010-03-21 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
19148 match where 'make install' puts them.
19149 * util/i386/efi/grub-install.in: Likewise.
19150
c9f58427
CW
191512010-03-19 Colin Watson <cjwatson@ubuntu.com>
19152
19153 * .bzrignore: Add gentrigtables, grub-script-check,
19154 grub_script_check_init.c, grub_script_check_init.h, and
19155 trigtables.c.
19156
f84afb27
VS
191572010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * kern/parser.c: Indented.
19160
ed0e3d30
VS
191612010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
19164
0ea81d98
VS
191652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
19168 alpha_mask_size == 0 case.
19169
0cdc2a09
BC
191702010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
19171
19172 GRUB shell lexer and parser improvements.
19173
19174 * conf/any-emu.rmk: Build rule updates.
19175 * conf/common.rmk: Likewise.
19176 * conf/i386-coreboot.rmk: Likewise.
19177 * conf/i386-efi.rmk: Likewise.
19178 * conf/i386-ieee1275.rmk: Likewise.
19179 * conf/i386-pc.rmk: Likewise.
19180 * conf/powerpc-ieee1275.rmk: Likewise.
19181 * conf/x86_64-efi.rmk: Likewise.
19182
19183 * configure.ac: Configure check for flex.
19184
19185 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
19186 types.
19187 (grub_lexer_param): Struct member updates.
19188 (grub_parser_param): Likewise.
19189 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
19190 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
19191 (grub_script_lexer_init): Prototype update.
19192 (grub_script_lexer_record_start): Likewise.
19193 (grub_script_lexer_record_stop): Likewise.
19194 (grub_script_lexer_yywrap): New function prototype.
19195 (grub_script_lexer_fini): Likewise.
19196 (grub_script_execute_argument_to_string): Removed by...
19197 (grub_script_execute_argument_to_argv): ...better version.
19198
19199 * script/execute.c (ROUND_UPTO): New macro.
19200 (grub_script_execute_cmdline): Out of memory fixes.
19201 (grub_script_execute_menuentry): Likewise.
19202 (grub_script_execute_argument_to_string): Removed. Update all
19203 users by...
19204 (grub_script_execute_argument_to_argv): ...better version.
19205 * script/function.c (grub_script_function_create): Use
19206 grub_script_execute_argument_to_argv instead of
19207 grub_script_execute_argument_to_string.
19208
19209 * script/lexer.c (check_varstate): Removed.
19210 (check_textstate): Removed.
19211 (grub_script_lexer_record_start): Likewise.
19212 (grub_script_lexer_record_stop): Likewise.
19213 (recordchar): Replaced with...
19214 (grub_script_lexer_record): ...new function.
19215 (nextchar): Removed.
19216 (grub_script_lexer_init): Rewritten.
19217 (grub_script_yylex): Rewritten.
19218 (append_newline): New function.
19219 (grub_script_lexer_yywrap): New function.
19220 (grub_script_lexer_fini): New function.
19221 (grub_script_yyerror): Sets error flag.
19222
19223 * script/yylex.l: New file.
19224 (grub_lexer_yyfree): Wrapper for flex yyffre.
19225 (grub_lexer_yyalloc): Likewise.
19226 (grub_lexer_yyrealloc): Likewise.
19227 * script/parser.y: Refactored.
19228
19229 * script/script.c (grub_script_arg_add): Out of memory fixes.
19230 (grub_script_add_arglist): Likewise.
19231 (grub_script_create_cmdline): Likewise.
19232 (grub_script_create_cmdmenu): Likewise.
19233 (grub_script_add_cmd): Likewise.
19234 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
19235 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
19236 unnecessary code.
19237
19238 * tests/grub_script_echo1.in: New testcase.
19239 * tests/grub_script_vars1.in: New testcase.
19240 * tests/grub_script_echo_keywords.in: New testcase.
19241
1d63a066
VS
192422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19243
19244 Remove some redundancy in build system.
19245
19246 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
19247 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
19248 (TARGET_LDFLAGS): Add -nostdlib.
19249 (TARGET_IMG_LDFLAGS): Likewise.
19250 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
19251 anything since mmap isn't available.
19252 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
19253 Add util/time.c.
19254 (pkglib_MODULES): Remove reboot.mod.
19255 (reboot_mod_SOURCES): Removed.
19256 (reboot_mod_CFLAGS): Likewise.
19257 (reboot_mod_LDFLAGS): Likewise.
19258 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
19259 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
19260 (DEFSYMFILES): Add kernel_syms.lst.
19261 (kernel_img_HEADERS): Add common headers.
19262 (symlist.c): New target.
19263 (kernel_syms.lst): Likewise.
19264 (pkglib_MODULES): Add memdisk.mod.
19265 (memdisk_mod_SOURCES): New variable.
19266 (memdisk_mod_CFLAGS): Likewise.
19267 (memdisk_mod_LDFLAGS): Likewise.
19268 (pkglib_MODULES): Add reboot.mod.
19269 (reboot_mod_SOURCES): New variable.
19270 (reboot_mod_CFLAGS): Likewise.
19271 (reboot_mod_LDFLAGS): Likewise.
19272 (pkglib_MODULES): Add date.mod.
19273 (date_mod_SOURCES): New variable.
19274 (date_mod_CFLAGS): Likewise.
19275 (date_mod_LDFLAGS): Likewise.
19276 (pkglib_MODULES): Add datehook.mod.
19277 (datehook_mod_SOURCES): New variable.
19278 (datehook_mod_CFLAGS): Likewise.
19279 (datehook_mod_LDFLAGS): Likewise.
19280 (pkglib_MODULES): Add lsmmap.mod.
19281 (lsmmap_mod_SOURCES): New variable.
19282 (lsmmap_mod_CFLAGS): Likewise.
19283 (lsmmap_mod_LDFLAGS): Likewise.
19284 (pkglib_MODULES): Add boot.mod.
19285 (boot_mod_SOURCES): New variable.
19286 (boot_mod_CFLAGS): Likewise.
19287 (boot_mod_LDFLAGS): Likewise.
19288 * conf/i386-coreboot.rmk: Removed redundant parts.
19289 * conf/i386-ieee1275.rmk: Likewise.
19290 * conf/i386-pc.rmk: Likewise.
19291 * conf/mips-yeeloong.rmk: Likewise.
19292 * conf/mips.rmk: Likewise.
19293 * conf/powerpc-ieee1275.rmk: Likewise.
19294 * conf/sparc64-ieee1275.rmk: Likewise.
19295 * conf/x86_64-efi.rmk: Likewise.
19296 * conf/i386-coreboot.rmk: Moved qemu parts ..
19297 * conf/i386-qemu.rmk: ... here
19298 * conf/i386-efi.rmk: Moved common parts to...
19299 * conf/x86-efi.rmk: ... here.
19300 * conf/i386.rmk: Added modules common to all x86 variants.
19301 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
19302 * disk/memdisk.c: Remove grub/machine/kernel.h.
19303 * gensymlist.sh.in: Include symbol.h.
19304 * hook/datehook.c: Correct module name.
19305 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
19306 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
19307 * include/grub/i386/efi/serial.h: New file.
19308 * include/grub/x86_64/efi/serial.h: Likewise.
19309 * util/time.c: Likewise.
19310 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
19311
463ac55f
CK
193122010-03-14 Colin King <colin.king@ubuntu.com>
193132010-03-14 Colin Watson <cjwatson@ubuntu.com>
19314
19315 Shrink the pre-partition-table part of boot.img by eight bytes.
19316
19317 * boot/i386/pc/boot.S (ERR): New macro.
19318 (chs_mode): Use ERR.
19319 (geometry_error): Likewise.
19320 (hd_probe_error): Remove. This is only used once, so we wrwite
19321 it inline instead.
19322 (read_error): Instead of printing read_error_string, just set up
19323 %si and fall through to ...
19324 (error_message): ... this new function, also used by ERR.
19325
08e46ede
CW
193262010-03-14 Colin Watson <cjwatson@ubuntu.com>
19327
19328 Speed up consecutive hostdisk operations on the same device.
19329
19330 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
19331 (grub_util_biosdisk_open): Initialise disk->data.
19332 (struct linux_partition_cache): New structure.
19333 (linux_find_partition): Cache partition start positions; these are
19334 expensive to compute on every read and write.
19335 (open_device): Cache open file descriptor in disk->data, so that we
19336 don't have to reopen it and flush the buffer cache for consecutive
19337 operations on the same device.
19338 (grub_util_biosdisk_close): New function.
19339 (grub_util_biosdisk_dev): Set `close' member.
19340
19341 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
19342 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
19343 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19344 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
19345 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
19346
4a6d2d06
VS
193472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Compile parts of grub-emu as modules.
19350
19351 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
19352 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
19353 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
19354 (all-local): Add $(GRUB_EMU).
19355 (install-local): Install $(GRUB_EMU).
19356 (uninstall): Uninstall $(GRUB_EMU).
19357 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
19358 * kern/dl.c: Likewise.
19359 * commands/sleep.c: Not include machine/time.h.
19360 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
19361 (COMMON_CFLAGS): Likewise.
19362 (sbin_UTILITIES): Remove grub-emu.
19363 (grub_emu_SOURCES): Removed.
19364 (kernel_img_RELOCATABLE): New variable.
19365 (pkglib_PROGRAMS): Add kernel.img.
19366 (kernel_img_SOURCES): New variable
19367 (kernel_img_CFLAGS): Likewise.
19368 (kernel_img_LDFLAGS): Likewise.
19369 (TARGET_NO_STRIP): Likewise.
19370 (TARGET_NO_DYNAMIC_MODULES): Likewise.
19371 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
19372 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
19373 (grub-emu): New target.
19374 (GRUB_EMU): New variable.
19375 * configure.ac: Whitelist -emu as possible x86_64 architecture.
19376 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
19377 * loader/xnu.c: Likewise.
19378 * include/grub/pci.h: Likewise.
19379 * genemuinit.sh: New file.
19380 * genemuinitheader.sh: Likewise.
19381 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
19382 Support TARGET_NO_DYNAMIC_MODULES.
19383 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
19384 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
19385 * disk/loopback.c: Likewise.
19386 * font/font_cmd.c: Likewise.
19387 * partmap/acorn.c: Likewise.
19388 * partmap/amiga.c: Likewise.
19389 * partmap/apple.c: Likewise.
19390 * partmap/gpt.c: Likewise.
19391 * partmap/msdos.c: Likewise.
19392 * partmap/sun.c: Likewise.
19393 * parttool/msdospart.c: Likewise.
19394 * term/gfxterm.c: Likewise.
19395 * video/bitmap.c: Likewise.
19396 * video/readers/jpeg.c: Likewise.
19397 * video/readers/png.c: Likewise.
19398 * video/readers/tga.c: Likewise.
19399 * video/video.c: Likewise.
19400 * util/grub-emu.c (read_command_list): Removed.
19401 (main): Don't call util_init_nls.
19402 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
19403 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
19404
91fdd2ed
VS
194052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19406
19407 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
19408 date.mod, datehook.mod.
19409 (datetime_mod_SOURCES): New variable.
19410 (datetime_mod_CFLAGS): Likewise.
19411 (datetime_mod_LDFLAGS): Likewise.
19412 (date_mod_SOURCES): Likewise.
19413 (date_mod_CFLAGS): Likewise.
19414 (date_mod_LDFLAGS): Likewise.
19415 (datehook_mod_SOURCES): Likewise.
19416 (datehook_mod_CFLAGS): Likewise.
19417 (datehook_mod_LDFLAGS): Likewise.
19418 * conf/sparc64-ieee1275.rmk: Likewise.
19419 * lib/ieee1275/datetime.c: New file.
19420
873ccae6
VS
194212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
19424 (ieee1275_fb_mod_SOURCES): New variable.
19425 (ieee1275_fb_mod_CFLAGS): Likewise.
19426 (ieee1275_fb_mod_LDFLAGS): Likewise.
19427 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
19428 New proto.
19429 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
19430 (HEAP_MAX_ADDR): Likewise.
19431 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
19432 type.
19433 Correct stop condition.
19434 (grub_ieee1275_devices_iterate): New function.
19435 * video/ieee1275.c: New file.
19436
601c97c0
VS
194372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
19440
19441 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
19442 as scratch.
19443 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
19444 SCRATCH_PAD_DISKBOOT as scratch.
19445 (bootit): Pass Openfirmware pointer in %o4.
19446 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
19447 of 0x200000.
19448 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
19449 with util/grub-mkrawimage.c.
19450 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
19451 * include/grub/aout.h (AOUT_MID_SUN): New definition.
19452 (grub_aout_get_type) [GRUB_UTIL]: Removed.
19453 (grub_aout_load) [GRUB_UTIL]: Likewise.
19454 * include/grub/kernel.h (grub_modules_get_end): New proto.
19455 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
19456 (SCRATCH_PAD_BOOT): New definition.
19457 (SCRATCH_PAD_DISKBOOT): Likewise.
19458 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
19459 * include/grub/sparc64/ieee1275/ieee1275.h
19460 (grub_ieee1275_original_stack): New variable
19461 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
19462 New definition
19463 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
19464 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
19465 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
19466 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
19467 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
19468 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
19469 (grub_platform_image_format_t): New type.
19470 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
19471 * kern/main.c (grub_modules_get_end)
19472 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
19473 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
19474 (codestart): Switch stacks.
19475 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
19476 variable.
19477 (grub_heap_init): Use grub_modules_get_end.
19478 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
19479 stack.
19480 * util/grub-mkrawimage.c (generate_image): Support sparc64.
19481 (main): Likewise.
19482 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
19483
d68b491e
TG
194842010-03-14 Thorsten Glaser <tg@mirbsd.org>
19485
19486 * util/grub-mkrescue.in: Base ISO UUID on UTC.
19487
4e02ed50
MK
194882010-03-08 Matt Kraai <kraai@ftbfs.org>
19489
19490 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
19491 bug #559005).
19492
1f15fc1e
VS
194932010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
19494
19495 * genmoddep.awk: Output all missing symbols and not only first.
19496
fce5d8ff
VS
194972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 * NEWS: Put the date of 1.98 release.
19500
d1e8a02f
VS
195012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
19504 ft2build.h.
19505
696fd607
VS
195062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
19509 completition in the middle of string.
19510
33e2e6f3
VS
195112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 * util/grub-mkrescue.in: Use mktemp with explicit template.
19514
b1f6d291
VS
195152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
19518
2ac227c7
VS
195192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
19522 right pointer.
19523
8f9a632b
VS
195242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Fix FreeBSD compilation.
19527
19528 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
19529 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
19530
60b03859
VS
195312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
19534
48a5a769
VS
195352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
19538
3ab4bd77
VS
195392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
19542
d116e0d8
RM
195432010-03-04 Robert Millan <rmh.grub@aybabtu.com>
19544
19545 Support relative image path in theme file.
19546
19547 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
19548 (image_set_property): Handle theme_dir and relative path.
19549
c7ef54aa
VS
195502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * configure.ac: Alias amd64 to x86_64.
19553
fcee14ed
VS
195542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * NEWS: mention multiboot on EFI.
19557
d0780363
VS
195582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * kern/main.c (grub_load_modules): Handle errors from init functions of
19561 embeded modules.
19562
41168ea4
VS
195632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 * normal/autofs.c (autoload_fs_module): Handle errors.
19566
b54d93ac
VS
195672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 Disable linux.mod on qemu-mips since it's not functional and leads
19570 to compilation failure.
19571
19572 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
19573 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
19574 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
19575 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
19576 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
19577 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
19578 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
19579 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
19580 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
19581 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
19582 Reported by: BVK Chaitanya
19583
fc8345da
JU
195842010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
19585
19586 * INSTALL: Add gettext as a dependency and add qemu to a new section
19587 "Prerequisites for make-check".
19588
4760f979
CF
195892010-03-04 Christian Franke <franke@computer.org>
19590
19591 * util/grub-pe2elf.c: Add missing include "progname.h".
19592
f209b5b2
VS
195932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19594
19595 * normal/crypto.c (read_crypto_list): Fix a typo.
19596 Reported by: Seth Goldberg.
19597
b4b7be98
VS
195982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 19601 Reported by: Seth Goldberg.
b4b7be98 19602
c0ee0385
VS
196032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19604
19605 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
19606 ascii.bitmaps.
19607
a8efbf64
VS
196082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 19611 Reported by: Seth Goldberg.
a8efbf64 19612
08dcd913
VS
196132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 * util/i386/efi/grub-install.in: Copy gettext files.
19616
c4d0b332
VS
196172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
19620
c6f2fe52
VS
196212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 Wait for user entry basing on presence of output rather than on errors.
19624
19625 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
19626 (grub_install_newline_hook): Likewise.
19627 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
19628 * normal/menu.c (show_menu): Check line_counter to determine presence
19629 of output.
19630 * normal/term.c (grub_normal_line_counter): New variable.
19631 (grub_normal_get_line_counter): New function.
19632 (grub_install_newline_hook): Likewise.
19633
5382b1e4
VS
196342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19635
19636 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19637
5519963b
VS
196382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 * configure.ac: Update version to 1.98.
19641
72b28631
VS
196422010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19643
19644 * util/grub.d/10_linux.in (linux_entry): Don't default to
19645 gfxpayload=keep if Linux doesn't support video handover.
19646
c140a180
VS
196472010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19648
19649 Don't compile video modules on yeeloong since video subsystem is part
19650 of kernel.
19651
19652 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19653 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19654 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19655 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19656 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19657 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19658 * include/grub/bitmap_scale.h: Likewise.
19659 * include/grub/bufio.h: Likewise.
19660 * include/grub/font.h: Likewise.
19661 * include/grub/gfxterm.h: Likewise.
19662 * include/grub/video.h: Likewise.
19663 * include/grub/vbe.h: Don't include video_fb.h.
19664 * video/i386/pc/vbe.c: Include video_fb.h.
19665 * commands/i386/pc/vbetest.c: Include video.h.
19666
a0ca21c2
CW
196672010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19668
19669 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19670 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19671 default entry if GRUB_SAVEDEFAULT=true. This allows using
19672 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19673 saving a new default on every boot.
19674
4a8a763c
VS
196752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19678 * normal/term.c (read_terminal_list): Likewise.
19679 * normal/main.c (grub_normal_init_page): Likewise.
19680 (grub_normal_read_line_real): Likewise.
19681
607ffde2
VS
196822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19683
19684 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19685 memory leak.
19686 Reported by: Seth Goldberg.
19687
2b8fa975
CW
196882010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19689
19690 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19691 duplicate declaration of `start'.
19692
618307dd
VS
196932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19696 filename.
19697 Reported by: Georgy Buranov
19698
7dd05b96 196992010-02-20 Carles Pina i Estany <carles@pina.cat>
19700
19701 * util/grub-mkrawimage.c (usage): Change string formatting to
19702 improve gettext.
19703
d1484a42
MRA
197042010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19705
19706 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19707 backspace keys.
19708
42b1d186
VS
197092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19712 Reported by: Michael Suchanek.
19713
197142010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19715
19716 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19717 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19718
d9f31a41
VS
197192010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 Remove any reference to non-free fonts.
19722
19723 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19724 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19725 uses non-free components.
19726 * font/font.c (grub_font_get_name): Remove example name.
19727 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19728 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19729 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19730 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19731
2793c71e
GB
197322010-02-16 Georgy Buranov <gburanov@gmail.com>
19733
19734 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19735
402e3779
VS
197362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19739 Double divisor.
19740 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19741 features.
19742 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19743
0dd1e0dd
VS
197442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19747
6fa7cfce
ST
197482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19749
19750 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19751 * docs/grub.texi (Command-line and menu entry commands): Document play
19752 command.
19753
37c8483b
ST
197542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19755
19756 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19757 parse arguments as inline tempo and notes. Move code for playing notes
19758 to...
19759 (play): ... new function.
19760
14da0fb7
ST
197612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19762
19763 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19764 grub_uint16_t instead of short.
19765 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19766 disk from little endian to cpu endianness.
19767
04459e70
ST
197682010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19769
19770 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19771 GRUB_TICKS_PER_SECOND instead of 120.
19772
a0876943
VS
197732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19774
19775 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19776 escape sequence after \e.
19777
e29f95dc
VS
197782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19781 non-ASCII characters.
19782
d27859b2
VS
197832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19786 set root in single quotes to prevent \, from being unescaped.
19787
bc028f2f
VS
197882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 Prevent unknown commands from stopping menuentry execution.
19791
19792 * script/execute.c (grub_script_execute_cmdline): Print error after
19793 unknown command.
19794
095f5f82
VS
197952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19798 Reported by: Pavel Pisa.
19799
8c717950
VS
198002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19801
19802 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19803
904935c3
VS
198042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19805
19806 Merge grub_ieee1275_map_physical into grub_map and rename to
19807 grub_ieee1275_map
19808
19809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19810 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19811 Remove.
19812 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19813 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19814 necessary.
19815 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19816
5b59a4e3
VS
198172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19818
19819 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19820 opening and not after.
19821
69e137e8
VS
198222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19825 constants.
19826
2c0fcc36
VS
198272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19830 (alloc_phys): Use ALIGN_UP instead of align_addr.
19831
8c6052ce
VS
198322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19835
17cec782
VS
198362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19837
19838 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19839
e0128bbd
VS
198402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19843 verbose dprintf.
19844
ca62070b
VS
198452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 Fix over-4GiB seek on sparc64.
19848
19849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19850 Replace pos_i and pos_lo with pos. All users updated.
19851 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19852 New constant.
19853 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19854 Likewise.
19855 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19856 and pos_lo.
19857
bdca2607
VS
198582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19859
19860 * util/grub-mkrawimage.c (main): Call set_program_name.
19861
da278c4d
VS
198622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 Properly align 64-bit targets.
19865
19866 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19867 (generate_image): Use ALIGN_ADDR.
19868
b274d734
VS
198692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 Properly create cross-endian images.
19872
19873 * include/grub/types.h (grub_host_to_target_addr): New macro
19874 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19875
82da2062
VS
198762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19877
19878 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19879
7cae4377
VS
198802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19883
19884 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19885 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19886 (grub_linux_boot): Divide by 64K when on VESA.
19887
65a533e7
VS
198882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 Support GRUB_GFXPAYLOAD_LINUX.
19891
19892 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19893 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19894
dd01d397
VS
198952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19898 to show messages instead of discarding them.
19899 Process errors after executing command and not before. Keep old method
19900 too as precaution.
19901
660960d6
VS
199022010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * configure.ac: Check for ft2build.h.
19905
62509f04
VS
199062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19909
473df63d
VS
199102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19911
19912 * genkernsyms.sh.in: Use TARGET_CC.
19913
c98d2a13
CW
199142010-02-07 Colin Watson <cjwatson@ubuntu.com>
19915
19916 * NEWS: Update.
19917
6e14234c
VS
199182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19919
19920 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19921 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19922 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19923
b255e9cf
YB
199242010-02-07 Yves Blusseau <blusseau@zetam.org>
19925
6e14234c 19926 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19927
98e6959d
VS
199282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Fix warnings in grub-emu when compiling with maximum warning options.
19931
19932 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19933 (grub_arch_modules_addr): Return 0 and not NULL.
19934 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19935 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19937 of disk to dsk to avoid shadowing.
74e4934e
VS
19938 (find_free_slot): Fix prototype.
19939 * util/getroot.c (grub_util_is_dmraid): Make static.
19940 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19941 Add missing prototype.
19942 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19943
74e31b5c
VS
199442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19947 appropriately.
19948
6b2ad14b
VS
199492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19950
19951 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19952 code out.
19953
8f891adc
VS
199542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19957 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19958 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19959 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19960 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19961 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19962
74b45184
VS
199632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 * include/grub/err.h (grub_err_printf): Don't export.
19966
a4bced77
VS
199672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19970
007d0695
VS
199712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19974 * kern/misc.c (grub_gettext_dummy): Make static.
19975
b6c0d9c2
VS
199762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19979 by non-valid ones.
19980 * kern/term.c (grub_putchar): Likewise.
19981
f51a90d0
VS
199822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19985 buggy hook call and memory leak.
19986
6846cec5
VS
199872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19990
468d69fe
VS
199912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19994
51906b8c
VS
199952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19996
19997 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19998 modevar.
19999 Return grub_errno on allocation error.
20000
09706ce5
VS
200012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20004
911df80c
YB
200052010-02-06 Yves Blusseau <blusseau@zetam.org>
20006
20007 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20008 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20009
3746a6bc
VS
200102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20013 non-pxe disk.
20014 (grub_pxefs_open): Likewise.
20015
09706ce5
VS
200162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20017
20018 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20019 * util/grub.d/10_kfreebsd.in: Likewise.
20020 * util/grub.d/10_linux.in: Likewise.
20021
7cc192d9
VS
200222010-02-06 Colin D Bennett <colin@gibibit.com>
20023
20024 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20025 (gfxmenu_mod_SOURCES): New variable.
20026 (gfxmenu_mod_CFLAGS): Likewise.
20027 (gfxmenu_mod_LDFLAGS): Likewise.
20028 * include/grub/term.h (grub_term_set_current_output): Declare
20029 argument as const.
20030 * docs/gfxmenu-theme-example.txt: New file.
20031 * gfxmenu/gfxmenu.c: Likewise.
20032 * gfxmenu/gui_box.c: Likewise.
20033 * gfxmenu/gui_canvas.c: Likewise.
20034 * gfxmenu/gui_circular_progress.c: Likewise.
20035 * gfxmenu/gui_image.c: Likewise.
20036 * gfxmenu/gui_label.c: Likewise.
20037 * gfxmenu/gui_list.c: Likewise.
20038 * gfxmenu/gui_progress_bar.c: Likewise.
20039 * gfxmenu/gui_string_util.c: Likewise.
20040 * gfxmenu/gui_util.c: Likewise.
20041 * gfxmenu/icon_manager.c: Likewise.
20042 * gfxmenu/model.c: Likewise.
20043 * gfxmenu/named_colors.c: Likewise.
20044 * gfxmenu/theme_loader.c: Likewise.
20045 * gfxmenu/view.c: Likewise.
20046 * gfxmenu/widget-box.c: Likewise.
20047 * include/grub/gfxmenu_model.h: Likewise.
20048 * include/grub/gfxmenu_view.h: Likewise.
20049 * include/grub/gfxwidgets.h: Likewise.
20050 * include/grub/gui.h: Likewise.
20051 * include/grub/gui_string_util.h: Likewise.
20052 * include/grub/icon_manager.h: Likewise.
20053
200542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 Agglomerate scrolling in gfxterm.
20057
20058 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20059 (grub_virtual_screen_setup): Initialise 'total_screen'.
20060 (write_char): Split to ...
20061 (paint_char): ... this ...
20062 (write_char): ... and this.
20063 (paint_char): Handle delayed scrolling.
20064 (draw_cursor): Likewise.
20065 (scroll_up): Split to ...
20066 (real_scroll): ... this ...
20067 (scroll_up): ... and this.
20068 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20069 characters.
20070 (grub_gfxterm_refresh): Call real_scroll.
20071
200722010-02-06 Colin D Bennett <colin@gibibit.com>
20073
20074 * include/grub/misc.h (grub_iscntrl): New inline function.
20075 (grub_isalnum): Likewise.
20076 (grub_strtol): Likewise.
20077
200782010-02-06 Colin D Bennett <colin@gibibit.com>
20079
20080 * normal/menu_text.c (get_entry_number): Move from here ...
20081 * normal/menu.c (get_entry_number): ... moved here.
20082 * include/grub/menu.h (grub_menu_get_default_entry_index):
20083 New prototype.
20084 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20085 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20086 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20087 (grub_menu_viewer_should_return): Likewise.
20088 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20089 * normal/menu_text.c (run_menu): Enable menu switching.
20090 * normal/menu_viewer.c (should_return): New variable.
20091 (menu_viewer_changed): Likewise.
20092 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20093 (grub_menu_viewer_should_return): New function.
20094 (menuviewer_write_hook): Likewise.
20095 (grub_menu_viewer_init): Likewise.
20096
200972010-02-06 Colin D Bennet <colin@gibibit.com>
200982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20099
20100 Support for gfxterm in a window.
20101
20102 * include/grub/gfxterm.h: New file.
20103 * include/grub/video.h (struct grub_video_rect): New declaration.
20104 (grub_video_rect_t): Likewise.
20105 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20106 (refcount): New variable.
20107 (render_target): Likewise.
20108 (window): Likewise.
20109 (repaint_callback): Likewise.
20110 (grub_virtual_screen_setup): Use 'render_target'.
20111 (init_window): New function.
20112 (grub_gfxterm_init_window): Likewise.
20113 (grub_gfxterm_init): Check reference counter.
20114 Use init_window.
20115 (destroy_window): New function.
20116 (grub_gfxterm_destroy_window): Likewise.
20117 (grub_gfxterm_fini): Check reference counter.
20118 Use destroy_window.
20119 (redraw_screen_rect): Restore viewport.
20120 Use 'render_target' and 'window'.
20121 Call 'repaint_callback'.
20122 (write_char): Use 'render_target'.
20123 (draw_cursor): Likewise.
20124 (scroll_up): Restore viewport.
20125 Use 'render_target' and 'window'.
20126 Call 'repaint_callback'.
20127 (grub_gfxterm_cls): Likewise.
20128 (grub_gfxterm_refresh): Use 'window'.
20129 (grub_gfxterm_set_repaint_callback): New function.
20130 (grub_gfxterm_background_image_cmd): Use 'window'.
20131 (grub_gfxterm_get_term): New function.
20132 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
20133
201342010-02-06 Colin D Bennett <colin@gibibit.com>
20135
20136 Bitmap scaling support.
20137
20138 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
20139 (bitmap_scale_mod_SOURCES): New variable.
20140 (bitmap_scale_mod_CFLAGS): Likewise.
20141 (bitmap_scale_mod_LDFLAGS): Likewise.
20142 * include/grub/bitmap_scale.h: New file.
20143 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
20144 (background_image_cmd_options): New variable.
20145 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
20146 (cmd): Rename and change type to ...
20147 (background_image_cmd_handle): ... this. All users updated.
20148 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
20149 * video/bitmap_scale.c: New file.
20150
201512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 SDL support.
20154
20155 * Makefile.in (LIBSDL): New variable.
20156 (enable_grub_emu_sdl): Likewise.
20157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
20158 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
20159 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
20160 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
20161 * util/sdl.c: New file.
20162
201632010-02-06 Colin D Bennett <colin@gibibit.com>
201642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 Double buffering support.
20167
20168 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
20169 * include/grub/video.h: Update comment.
20170 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
20171 New type.
20172 (grub_video_fb_doublebuf_blit_init): New prototype.
20173 * term/gfxterm.c (scroll_up): Support double buffering.
20174 (grub_gfxterm_refresh): Likewise.
20175 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
20176 (grub_video_fb_doublebuf_blit_init): Likewise.
20177 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
20178 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
20179 'displayed_page', 'render_page' and 'update_screen'.
20180 (grub_video_vbe_fini): Free offscreen buffer.
20181 (doublebuf_pageflipping_commit): New function.
20182 (doublebuf_pageflipping_update_screen): Likewise.
20183 (doublebuf_pageflipping_init): Likewise.
20184 (double_buffering_init): Likewise.
20185 (grub_video_vbe_setup): Enable doublebuffering.
20186 (grub_video_vbe_swap_buffers): Implement.
20187 (grub_video_vbe_set_active_render_target): Handle double buffering.
20188 (grub_video_vbe_get_active_render_target): Likewise.
20189 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
20190 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
20191 (grub_video_vbe_enable_double_buffering): Likewise.
20192 (grub_video_vbe_swap_buffers): Use update_screen.
20193 (grub_video_set_mode): Use double buffering.
20194
201952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20196
20197 * maintainance/gentrigtables.py: Remove.
20198 * lib/trig.c: Likewise.
20199
20200 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
20201
20202 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
20203 `trigtables.c'.
20204 (trigtables.c): New rule.
20205 (gentrigtables): Likewise.
20206 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
20207
202082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20209
20210 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
20211 integer constants.
20212
202132010-02-06 Colin D Bennet <colin@gibibit.com>
20214
20215 Trigonometry support.
20216
20217 * include/grub/trig.h: New file.
20218 * lib/trig.c: Likewise.
20219 * maintainance/gentrigtables.py: Likewise.
20220 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
20221 (trig_mod_SOURCES): New variable.
20222 (trig_mod_CFLAGS): Likewise.
20223 (trig_mod_LDFLAGS): Likewise.
20224
5562834e
VS
202252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
20228 disk devices.
20229
4f8528fc
VS
202302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20231
20232 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
20233 error.
20234
2b4068e9
VS
202352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20236
20237 * util/hostdisk.c (open_device): Don't use partition device when reading
20238 before the partition.
20239 (grub_util_biosdisk_read): Don't read from partition and before the
20240 partition in single operation.
20241 (grub_util_biosdisk_write): Don't write to partition and before the
20242 partition in single operation.
20243
399f6e4d
TL
202442010-02-03 Torsten Landschoff <torsten@debian.org>
20245
20246 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20247 last sectors.
20248
996649b0
VS
202492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
20250
20251 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
20252 CDROM reads.
20253 (grub_biosdisk_write): Refuse to write to CDROM.
20254
3b205d4d
VS
202552010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20256
20257 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
20258
61e89d9d
VS
202592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
20260
20261 * font/font.c (find_glyph): Check that bmp_idx is available before
20262 using it.
20263 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
20264 with (font == NULL).
20265
bf7fcba2
CS
202662010-01-28 Christian Schmitt <chris@ilovelinux.de>
20267
20268 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
20269
f45d2663
BC
202702010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
20271
20272 * include/grub/script_sh.h (sourcecode): Add const qualifier.
20273 * util/grub-script-check.c (getline): Fix empty lines case.
20274
ec1444e6
RM
202752010-01-28 Robert Millan <rmh.grub@aybabtu.com>
20276
20277 * Makefile.in (check): Exit with fail status when one of the tests
20278 fails.
20279 * tests/example_functional_test.c (example_test): Fix reversed assert.
20280 * tests/example_unit_test.c (example_test): Likewise.
20281
2e1cb9bb
CW
202822010-01-28 Colin Watson <cjwatson@ubuntu.com>
20283
20284 * util/grub.d/10_linux.in: This script does not use any of the
20285 contents of gettext.sh, only the external command `gettext', so stop
20286 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
20287 the same prefix as GRUB.)
20288 * util/grub.d/10_kfreebsd.in: Likewise.
20289
63533ab0
VS
202902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
20293 of the line.
20294
989e1f93
VS
202952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20296
20297 * kern/disk.c (grub_disk_read): Fix offset computation when reading
20298 last sectors.
20299
e709ebe2
VS
203002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
20303 having a 4KiB and not 32KiB buffer size.
20304
27dea7ed
RM
203052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20306
20307 * util/hostfs.c: Include `<errno.h>'.
20308 (grub_hostfs_read): Handle errors from fseeko() and fread().
20309
67667b9c
RM
203102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20311
20312 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
20313 loop when using read hooks on files whose size isn't sector-aligned.
20314
c294d9d8
RM
203152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20316
20317 Remove unused parameter.
20318
20319 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
20320 (grub_iso9660_open): Remove initialization of `data->length'.
20321
af75a9f1
RM
203222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
20323
20324 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
20325 memleak conditions.
20326
254e2ce5 203272010-01-27 Carles Pina i Estany <carles@pina.cat>
20328
20329 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
20330 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
20331
b510928c 203322010-01-26 Carles Pina i Estany <carles@pina.cat>
20333
20334 * util/bin2h.c (usage): Fix warning (space after backslash).
20335
aa2f9dd2 203362010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 20337
20338 * font/font.c: Include `grub/fontformat.h.
20339 Remove font file format constants.
20340 (grub_font_load): Use the new macros.
20341 * include/grub/fontformat.h: New file.
20342 * util/grub-mkfont.c: Include `grub/fontformat.c'.
20343 (write_font_pf2): Use the new macros.
20344
94e7e712
RM
203452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20346
20347 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
20348 does.
20349
3973a59a
RM
203502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
20351
20352 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
20353
20354 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
20355 (_start): Macroify `0x7F'.
20356
20357 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
20358 (make_install_device): Use "(pxe)" as fallback prefix when booting
20359 via PXE.
20360
42e0cba3
GS
203612010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
20362
20363 * configure.ac: Reset LIBS after check for libgcc symbols.
20364
847effd8
CW
203652010-01-25 Colin Watson <cjwatson@ubuntu.com>
20366
20367 * util/hostdisk.c (open_device): Add trailing newline to debug
20368 message.
20369
ea4a7e35
GS
203702010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
20371
20372 * configure.ac: Check for `limits.h'.
20373 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
20374
67951a53
RM
203752010-01-24 Robert Millan <rmh.grub@aybabtu.com>
20376
20377 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
20378 capitalize error strings.
20379
c273d4ce
ST
203802010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
20381
20382 * util/grub.d/10_hurd.in: Add a recovery mode.
20383
69be5b74
VS
203842010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * configure.ac: Check for libgcc symbols with -nostdlib.
20387
fc9e5810
BC
203882010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
20389
20390 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
20391
4b358c0a
VS
203922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20393
20394 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
20395 stack since heap may be unavailable at that point.
20396 (grub_ofconsole_gotoxy): Likewise.
20397
454fcd1c
VS
203982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * configure.ac: Check for _restgpr_14_x.
20401 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
20402 and _savegpr_* prototypes.
20403
566863ca
RM
204042010-01-22 Robert Millan <rmh.grub@aybabtu.com>
20405
20406 Use generic grub_reboot() for i386-efi.
20407
20408 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
20409 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
20410 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
20411
bf86e59a
VS
204122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
20415 presence of "prefix" variable as it breaks when normal.mod is
20416 embedded.
20417
d645e0f8
VS
204182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
20421 stack since heap is unavailable at that point.
20422
f9ab2e25
VS
204232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
20426 (grub_freebsd_bootinfo): Rewritten.
20427 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
20428
01fc7054
VS
204292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
20432
caab4fd6
RM
204332010-01-21 Robert Millan <rmh.grub@aybabtu.com>
20434
20435 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
20436 domain now.
20437
67eb1427
FZ
204382010-01-20 Felix Zielcke <fzielcke@z-51.de>
20439
20440 * util/misc.c (make_system_path_relative_to_its_root): Change the work
20441 around for handling "/" to the correct fix. Fix a memory leak. Use
20442 xstrdup instead of strdup.
20443
a9ed4ff3
VS
204442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
20447
204482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
20449
20450 Optimise glyph lookup by Basic Multilingual Plane lookup array.
20451
20452 * font/font.c (struct grub_font): New member 'bmp_idx'.
20453 (font_init): Initialise 'bmp_idx'.
20454 (load_font_index): Fill 'bmp_idx'.
20455 (find_glyph): Make inline. Use bmp_idx for BMP characters.
20456
48209f4f
VS
204572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
20460 unnecessary calls.
20461
9f0a4bb7
VS
204622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 Move context handling out of the kernel.
20465
20466 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
20467 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
20468 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
20469 * conf/i386-efi.rmk: Likewise.
20470 * conf/i386-ieee1275.rmk: Likewise.
20471 * conf/i386-pc.rmk: Likewise.
20472 * conf/powerpc-ieee1275.rmk: Likewise.
20473 * conf/sparc64-ieee1275.rmk: Likewise.
20474 * conf/x86_64-efi.rmk: Likewise.
20475 * include/grub/env.h: Include grub/menu.h.
20476 (grub_env_var_type): Removed.
20477 (grub_env_var): Replaced field 'type' with 'global'.
20478 (grub_env_find): New prototype.
20479 (grub_env_context_open): Remove EXPORT_FUNC.
20480 (grub_env_context_close): Likewise.
20481 (grub_env_export): Likewise.
20482 (grub_env_set_data_slot): Removed.
20483 (grub_env_get_data_slot): Likewise.
20484 (grub_env_unset_data_slot): Likewise.
20485 (grub_env_unset_menu): New prototype.
20486 (grub_env_set_menu): Likewise.
20487 (grub_env_get_menu): Likewise.
20488 * include/grub/env_private.h: New file.
20489 * include/grub/normal.h (grub_context_init): New prototype.
20490 (grub_context_fini): Likewise.
20491 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
20492 * normal/context.c (grub_cmd_export): ... to here.
20493 * kern/env.c: Include env_private.h.
20494 (HASHSZ): Moved to include/grub/env_private.h.
20495 (grub_env_context): Likewise.
20496 (grub_env_sorted_var): Likewise.
20497 (current_context): Renamed from this ...
20498 (grub_current_context): ...to this. 'static' removed. All users updated.
20499 (grub_env_find): Removed 'static'.
20500 (grub_env_context_open): Moved to normal/context.c.
20501 (grub_env_context_close): Likewise.
20502 (grub_env_export): Likewise.
20503 (mangle_data_slot_name): Removed.
20504 (grub_env_set_data_slot): Likewise.
20505 (grub_env_get_data_slot): Likewise.
20506 (grub_env_unset_data_slot): Likewise.
20507 * kern/main.c (grub_set_root_dev): Don't export root.
20508 It will be done later.
20509 (grub_main): Don't export prefix.
20510 It will be done later.
20511 * normal/context.c: New file.
20512 * normal/main.c (free_menu): Use grub_env_unset_menu.
20513 (grub_normal_add_menu_entry): Use grub_env_get_menu.
20514 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
20515 (GRUB_MOD_INIT(normal)): Call grub_context_init.
20516 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
20517
8dd35b8c
VS
205182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 setpci support.
20521
20522 * commands/setpci.c: New file.
20523 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
20524 (setpci_mod_SOURCES): New variable.
20525 (setpci_mod_CFLAGS): Likewise.
20526 (setpci_mod_LDFLAGS): Likewise.
20527
449193d5
VS
205282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 Byte-addressable PCI configuration space.
20531
20532 * bus/pci.c (grub_pci_make_address): Use byte address instead of
20533 dword address.
20534 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
20535 GRUB_PCI_REG_CACHELINE.
20536 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
20537 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
20538 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
20539 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
20540 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
20541 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
20542 grub_pci_make_address.
20543 (lock_rom_area): Likewise.
20544 * commands/lspci.c (grub_lspci_iter): Use macroses
20545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
20546 of grub_pci_make_address.
20547 * disk/ata.c (grub_ata_pciinit): Likewise.
20548 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
20549 (GRUB_PCI_REG_VENDOR): Likewise.
20550 (GRUB_PCI_REG_DEVICE): Likewise.
20551 (GRUB_PCI_REG_COMMAND): Likewise.
20552 (GRUB_PCI_REG_STATUS): Likewise.
20553 (GRUB_PCI_REG_REVISION): Likewise.
20554 (GRUB_PCI_REG_CLASS): Likewise.
20555 (GRUB_PCI_REG_CACHELINE): Likewise.
20556 (GRUB_PCI_REG_LAT_TIMER): Likewise.
20557 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
20558 (GRUB_PCI_REG_BIST): Likewise.
20559 (GRUB_PCI_REG_ADDRESSES): Likewise.
20560 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20561 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20562 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20563 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20564 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20565 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
20566 (GRUB_PCI_REG_CIS_POINTER): Likewise.
20567 (GRUB_PCI_REG_SUBVENDOR): Likewise.
20568 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
20569 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
20570 (GRUB_PCI_REG_CAP_POINTER): Likewise.
20571 (GRUB_PCI_REG_IRQ_LINE): Likewise.
20572 (GRUB_PCI_REG_IRQ_PIN): Likewise.
20573 (GRUB_PCI_REG_MIN_GNT): Likewise.
20574 (GRUB_PCI_REG_MAX_LAT): Likewise.
20575 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
20576 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
20577 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 20578 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
20579 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
20580 space.
20581
96d73208
RM
205822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20583
20584 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
20585 can be reliably determined to be supported.
20586
d4484482
RM
205872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20588
20589 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
20590 that VESA is supported.
20591 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
20592 supported.
20593
00308ecf
VS
205942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
20597
f66924a4
RM
205982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * util/misc.c (make_system_path_relative_to_its_root): Work around
20601 special-casing of "/", as previous incarnation of this routine did.
20602
cbca0ada
VS
206032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 Fix any-emu compilation.
20606
20607 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
20608 * grub_bin2h_SOURCES: New variable.
20609
34a66d99
RM
206102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20611
20612 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
20613
94fabf58
RM
206142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
20615
20616 * util/grub.d/00_header.in: Fix handling of locale_dir.
20617
02cf98ca
VS
206182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
20621 as possible unifont location (Gentoo).
20622 Reported by: Alexander Brüning
20623
327dbcd7
VS
206242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20625
20626 Don't try to generate lists for kernel.img.
20627
20628 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
20629 (pkglib_MODULES): Remove kernel.img.
20630 (kernel_img_EXPORTS): Removed.
20631 (kernel_img_RELOCATABLE): New variable.
20632 * conf/x86_64-efi.rmk: Likewise.
20633 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20634
ca467290
VS
206352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20638 grub_xasprintf or grub_snprintf.
20639 (grub_vsprintf): Likewise.
20640 (grub_snprintf): New proto.
20641 (grub_vsnprintf): Likewise.
20642 (grub_xasprintf): Likewise.
20643 (grub_xvasprintf): Likewise.
20644 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20645 (grub_sprintf): Removed.
20646 (grub_vsnprintf): New function.
20647 (grub_snprintf): Likewise.
20648 (grub_xvasprintf): Likewise.
20649 (grub_xasprintf): Likewise.
20650 (grub_vsprintf): Renamed to ...
20651 (grub_vsnprintf_real): ...this. New argument max_len.
20652
aca655fd
BC
206532010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20654
20655 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20656 fix grub-script-check warning.
20657
7ee92c32
VS
206582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 * include/grub/font.h (grub_font_load): Fix prototype.
20661
f80927ca
VS
206622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20663
20664 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20665
119c50ea
VS
206662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * include/grub/x86_64/at_keyboard.h: New file.
20669
47d5f3c1
VS
206702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * loader/mips/linux.c: Include missing grub/i18n.h.
20673
55ff5266
RM
206742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20675
20676 * normal/menu.c (notify_execution_failure): Clarify error message.
20677
c893cc87
RM
206782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20679
20680 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20681 return value (and revert all return statements). Update users.
20682
917dd370
CW
206832010-01-20 Dan Merillat <debian@dan.merillat.org>
20684
20685 * kern/device.c (grub_device_iterate): Allocate new part_ent
20686 structure based on sizeof (*p) rather than sizeof (p->next), to
20687 account for structure padding.
20688
20689 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20690 disk is NULL, which might happen for LVM physical volumes with no
20691 LVM signature.
20692
d4a4ee57
RM
206932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20694
20695 * loader/mips/linux.c (grub_cmd_initrd)
20696 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20697
206982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20699
20700 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20701 (grub_video_video_init, grub_video_bitmap_init)
20702 (grub_font_manager_init, grub_term_gfxterm_init)
20703 (grub_at_keyboard_init): New extern declarations.
20704 (grub_machine_init): Initialize gfxterm and at_keyboard.
20705
20706 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20707
20708 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20709 `gfxterm.mod' into core image.
20710
20711 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20712 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20713 (kernel_img_FORMAT): Copy to ...
20714
20715 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20716 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20717 (kernel_img_FORMAT): ... here, and ...
20718
20719 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20720 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20721 (kernel_img_FORMAT): ... here.
20722
20723 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20724 and input (at_keyboard) terminals in kernel.
20725 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20726
20727 (pkglib_MODULES): Remove `pci.mod'.
20728 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20729 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20730 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20731 (at_keyboard_mod_LDFLAGS): Remove variables.
20732
207332010-01-11 Felix Zielcke <fzielcke@z-51.de>
20734
20735 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20736
207372009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20738
20739 * include/grub/mips/libgcc.h: Only export symbols for functions
20740 that libgcc provides.
20741
207422009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 MIPS support.
20745
20746 * bus/bonito.c: New file.
20747 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20748 GRUB_PCI_NUM_DEVICES.
20749 * term/i386/pc/serial.c: Move to ...
20750 * term/serial.c: ... here. All users updated.
20751 * util/i386/pc/grub-mkimage.c: Move to ...
20752 * util/grub-mkrawimage.c: ... here. All users updated.
20753 * term/i386/pc/at_keyboard.c: Move to ...
20754 * term/at_keyboard.c: ... here. All users updated.
20755 * conf/mips-qemu-mips.rmk: New file.
20756 * conf/mips-yeeloong.rmk: Likewise.
20757 * conf/mips.rmk: Likewise.
20758 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20759 mipsel-qemu-mips.
20760 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20761 to port addresses.
20762 (grub_ata_pciinit): Support CS5536.
20763 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20764 * font/font_cmd.c (loadfont_command): Open file before passing it to
20765 grub_font_load.
20766 (pseudo_file_read): New function.
20767 (pseudo_file_close): Likewise.
20768 (pseudo_fs): New structure.
20769 (load_font_module): New function.
20770 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20771 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20772 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20773 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20774 * include/grub/i386/at_keyboard.h: Split into ...
20775 * include/grub/at_keyboard.h: ... this ...
20776 * include/grub/i386/at_keyboard.h: ... and this.
20777 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20778 New prototype.
20779 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20780 updated.
20781 (grub_elf64_size): Likewise.
20782 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20783 filename.
20784 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20785 * include/grub/i386/coreboot/serial.h: Rewritten.
20786 * include/grub/i386/ieee1275/serial.h: Include
20787 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20788 * include/grub/i386/pc/serial.h: Moved from here ...
20789 * include/grub/serial.h: ... to here. All users updated.
20790 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20791 (GRUB_PCI_NUM_BUS): Likewise.
20792 (GRUB_PCI_NUM_DEVICES): Likewise.
20793 (grub_pci_device_map_range): Add missing volatile keyword.
20794 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20795 * include/grub/mips/at_keyboard.h: New file.
20796 * include/grub/mips/cache.h: Likewise.
20797 * include/grub/mips/io.h: Likewise.
20798 * include/grub/mips/kernel.h: Likewise.
20799 * include/grub/mips/libgcc.h: Likewise.
20800 * include/grub/mips/pci.h: Likewise.
20801 * include/grub/mips/qemu-mips/boot.h: Likewise.
20802 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20803 * include/grub/mips/qemu-mips/loader.h: Likewise.
20804 * include/grub/mips/qemu-mips/memory.h: Likewise.
20805 * include/grub/mips/qemu-mips/serial.h: Likewise.
20806 * include/grub/mips/qemu-mips/time.h: Likewise.
20807 * include/grub/mips/relocator.h: Likewise.
20808 * include/grub/mips/time.h: Likewise.
20809 * include/grub/mips/types.h: Likewise.
20810 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20811 * include/grub/mips/yeeloong/boot.h: Likewise.
20812 * include/grub/mips/yeeloong/kernel.h: Likewise.
20813 * include/grub/mips/yeeloong/loader.h: Likewise.
20814 * include/grub/mips/yeeloong/memory.h: Likewise.
20815 * include/grub/mips/yeeloong/pci.h: Likewise.
20816 * include/grub/mips/yeeloong/serial.h: Likewise.
20817 * include/grub/mips/yeeloong/time.h: Likewise.
20818 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20819 * kern/elf.c (grub_elf32_size): New parameter. All users
20820 updated.
20821 (grub_elf64_size): Likewise.
20822 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20823 Load modules before saying "Welcome to GRUB!".
20824 Call grub_refresh after saying "Welcome to GRUB!".
20825 * kern/mips/cache.S: New file.
20826 * kern/mips/cache_flush.S: Likewise.
20827 * kern/mips/dl.c: Likewise.
20828 * kern/mips/init.c: Likewise.
20829 * kern/mips/qemu-mips/init.c: Likewise.
20830 * kern/mips/startup.S: Likewise.
20831 * kern/mips/yeeloong/init.c: Likewise.
20832 * kern/term.c (grub_putcode): Handle NULL terminal.
20833 (grub_getcharwidth): Likewise.
20834 (grub_getkey): Likewise.
20835 (grub_checkkey): Likewise.
20836 (grub_getkeystatus): Likewise.
20837 (grub_getxy): Likewise.
20838 (grub_getwh): Likewise.
20839 (grub_gotoxy): Likewise.
20840 (grub_cls): Likewise.
20841 (grub_setcolorstate): Likewise.
20842 (grub_setcolor): Likewise.
20843 (grub_getcolor): Likewise.
20844 (grub_refresh): Likewise.
20845 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20846 (write_jump): Add hatch nop.
20847 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20848 * lib/mips/setjmp.S: New file.
20849 * loader/mips/linux.c: Likewise.
20850 * term/i386/pc/at_keyboard.c: Move from here ...
20851 * term/at_keyboard.c: ... to here.
20852 * term/i386/pc/serial.c: Moved from here ...
20853 * term/serial.c: ... to here. All users updated.
20854 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20855 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20856 (serial_translate_key_sequence): Avoid deadlock.
20857 (grub_serial_getkey): Handle backspace.
20858 (grub_serial_putchar): Fix newline handling.
20859 * util/i386/pc/grub-mkimage.c: Move from here ...
20860 * util/grub-mkrawimage.c: ... to here. All users updated.
20861 (generate_image): New parameters 'font_path' and 'format'.
20862 Support embedding font.
20863 Use grub_host_to_target* instead of grub_cpu_to_le*.
20864 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20865 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20866 (options): New option "--font".
20867 (usage): Likewise.
20868 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20869 (main): Handle "--font".
20870 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20871 (grub_virtual_screen_setup): Set bg_color_display.
20872 (redraw_screen_rect): Use bg_color_display instead of incorrect
20873 bg_color.
20874 (grub_gfxterm_cls): Likewise.
20875 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20876 Support embedding config file.
20877 (add_segments): Likewise.
20878 (options): New option "--config".
20879 (main): Handle "--config".
20880 * video/sm712.c: New file.
20881
25c2b5b3
RM
208822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20883
20884 Fix parallel builds.
20885
20886 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20887 font.c depend on ascii.h).
20888
208892010-01-12 Carles Pina i Estany <carles@pina.cat>
20890
20891 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20892
208932010-01-11 Carles Pina i Estany <carles@pina.cat>
20894
20895 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20896 By default: disabled.
20897 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20898 parameter.
20899
209002010-01-10 Carles Pina i Estany <carles@pina.cat>
20901
20902 * font/font.c: Update copyright years.
20903 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20904
209052010-01-10 Carles Pina i Estany <carles@pina.cat>
20906
20907 * font/font.c: Include `ascii.h'.
20908 (ASCII_BITMAP_SIZE): New macro.
20909 (ascii_font_glyph): Define.
20910 (ascii_glyph_lookup): New function.
20911 (grub_font_get_string_width): Change comment. If glyph not found, use
20912 ascii_glyph_lookup.
20913 (grub_font_get_glyph_with_fallback): If glyph not available returns
20914 ascii_glyph_lookup.
20915 * util/grub-mkfont.c (file_formats): New enum.
20916 (options): Add `ascii-bitmaps' new option.
20917 (usage): Add `asii-bitmaps' new option.
20918 (write_font_ascii_bitmap): New function.
20919 (write_font): Rename to ...
20920 (write_font_p2): ... this. Remove print_glyphs call.
20921 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20922 used. Call print_glyphs.
20923 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20924
209252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20926
20927 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20928 (grub_bin2h_SOURCES): New variable.
20929 * util/bin2h.c: New file.
20930
915fc1b8
VS
209312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20932
20933 * include/multiboot.h: Resynced with spec.
20934 * include/multiboot2.h: Likewise.
20935 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20936 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20937
9444b678
RM
209382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20939
20940 * include/grub/term.h (grub_term_register_input,
20941 grub_term_register_output): Check return of terminal init()
20942 routines, and abort if errors are raised.
20943
20944 * commands/terminal.c: Update copyright year.
20945
cba98e8d
RM
209462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20947
20948 * commands/terminal.c (grub_cmd_terminal_input)
20949 (grub_cmd_terminal_output): Check return of terminal init()
20950 routines, and abort if errors are raised.
20951
6f7db5d6
VS
209522010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20953
20954 * include/grub/i386/bsd.h: Fix include pathes.
20955
262bff8d
VS
209562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 Add missing *BSD copyright headers.
20959
20960 * include/grub/aout.h: Add BSD licence.
20961 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20962 * include/grub/i386/freebsd_linker.h: ... here,
20963 * include/grub/i386/freebsd_reboot.h: ... here,
20964 * include/grub/i386/netbsd_bootinfo.h: ... here,
20965 * include/grub/i386/netbsd_reboot.h: ... here,
20966 * include/grub/i386/openbsd_bootarg.h: ... here,
20967 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20968 licence to each file.
20969
b2cab848
RM
209702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20971
20972 * acinclude.m4: Remove `nop' assembly instruction; it's not
20973 implemented by all architectures.
20974
2cb6be4b
RM
209752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20976
20977 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20978 ELILO. This is no longer necessary.
20979
a2eaee15
BC
209802010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20981
20982 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20983
20984 * util/grub-script-check.c: grub-script-check tool.
20985 * conf/common.rmk: Make rules for grub-script-check.
20986
88d17012
RM
209872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20988
20989 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20990 spotting it back in 2008. Shame on me for forgetting he did.
20991
20992 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20993
8040619d
RM
209942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20995
20996 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20997 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20998 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20999 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21000 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21001 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21002
a0c2a0f6
RM
210032010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21004
21005 * include/grub/test.h: Add license header.
21006 * tests/example_functional_test.c: Likewise.
21007 * tests/example_unit_test.c: Likewise.
21008 * tests/lib/functional_test.c: Likewise.
21009 * tests/lib/test.c: Likewise.
21010 * tests/lib/unit_test.c: Likewise.
21011
b0b13907
VS
210122010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 Use flag-based instead of hook-based video mode selection and "auto"
21015 keyword.
21016
21017 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21018 (grub_video_set_mode): Changed prototype. All users updated.
21019 (grub_video_check_mode_flag): New inline function.
21020 * video/video.c (parse_modespec): New function.
21021 (grub_video_set_mode): Parse flags and keywords.
21022
ea379330 210232010-01-17 Carles Pina i Estany <carles@pina.cat>
21024
21025 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21026 fprintf call.
21027
e15c215e
FZ
210282010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21029
21030 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21031
409ae1c9 210322010-01-16 Carles Pina i Estany <carles@pina.cat>
21033
21034 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21035 string.
21036 * util/grub-emu.c (usage): Likewise.
21037 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21038 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21039 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21040 * util/i386/pc/grub-setup.c (usage): Likewise.
21041
70a14d3d 210422010-01-16 Carles Pina i Estany <carles@pina.cat>
21043
21044 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21045 the message.
21046 (grub_util_info): Likewise.
21047 (grub_util_error): Likewise.
21048 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21049 and/or new lines in `grub_util_warna', `grub_util_info',
21050 `grub_util_error' calls.
21051 * util/getroot.c: Likewise.
21052 * util/grub-editenv.c: Likewise.
21053 * util/grub-emu.c: Likewise.
21054 * util/grub-fstest.c: Likewise.
21055 * util/grub-mkdevicemap.c: Likewise.
21056 * util/grub-mkfont.c: Likewise.
21057 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21058 * util/grub-mkrelpath.c: Likewise.
21059 * util/grub-pe2elf.c: Likewise.
21060 * util/grub-probe.c: Likewise.
21061 * util/hostdisk.c: Likewise.
21062 * util/i386/efi/grub-mkimage.c: Likewise.
21063 * util/i386/pc/grub-mkimage.c: Likewise.
21064 * util/i386/pc/grub-setup.c: Likewise.
21065 * util/ieee1275/ofpath.c: Likewise.
21066 * util/mkisofs/eltorito.c: Likewise.
21067 * util/mkisofs/rock.c: Likewise.
21068 * util/mkisofs/write.c: Likewise.
21069 * util/raid.c: Likewise.
21070 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21071 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21072
a0b766fc
VS
210732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 Enable multiboot on non-pc.
21076
21077 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21078 multiboot.mod and multiboot2.mod to ...
21079 * conf/i386.rmk (pkglib_MODULES): ... here.
21080 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21081 Moved to ...
21082 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21083 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21084 Moved to ...
21085 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21086 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21087 Moved to ...
21088 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21089 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21090 Moved to ...
21091 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21092 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21093 relocator.mod.
21094 (ata_mod_SOURCES): Removed.
21095 (ata_mod_CFLAGS): Likewise.
21096 (ata_mod_LDFLAGS): Likewise.
21097 (relocator_mod_SOURCES): Removed.
21098 (relocator_mod_CFLAGS): Likewise.
21099 (relocator_mod_ASFLAGS): Likewise.
21100 (relocator_mod_LDFLAGS): Likewise.
21101 Include i386.mk.
21102 * include/grub/x86_64/multiboot.h: New file.
21103 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21104 Terminate EFI.
21105
884ade56
VS
211062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21107
21108 Video multiboot support.
21109
21110 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21111 New prototype.
21112 * include/multiboot.h: Resynced with multiboot specification.
21113 * include/multiboot2.h: Likewise.
21114 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21115 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21116 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21117 (HAS_VGA_TEXT): Likewise.
21118 (accepts_video): New variable.
21119 (grub_multiboot_set_accepts_video): New function.
21120 (grub_multiboot_get_mbi_size): Account for video structures.
21121 (set_video_mode): New function.
21122 (retrieve_video_parameters): Likewise.
21123 (grub_multiboot_make_mbi): Fill video fields.
21124
0d90e8a6
VS
211252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 Video driver ids.
21128
21129 * include/grub/video.h (grub_video_driver_id): New type.
21130 (grub_video_adapter): New member 'id'. All users updated.
21131 (grub_video_get_driver_id): New proto.
21132 * video/video.c (grub_video_get_driver_id): New function.
21133
5c71db1b 211342010-01-14 Carles Pina i Estany <carles@pina.cat>
21135
21136 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
21137 `var=val'.
21138
cca15b52 211392010-01-14 Carles Pina i Estany <carles@pina.cat>
21140
21141 * normal/cmdline.c (print_completion): Gettextizze.
21142
c586fbb2 211432001-01-14 Carles Pina i Estany <carles@pina.cat>
21144
21145 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
21146
ba2f6848 211472010-01-14 Carles Pina i Estany <carles@pina.cat>
21148
21149 * gettext/gettext.c (grub_gettext_translate): Push and pop
21150 grub_errno.
21151 (grub_gettext_delete_list): Change comment style.
21152 * kern/err.c (grub_error): Gettextizze.
21153 (grub_fatal): Gettextizze.
21154
0a46429a
RM
211552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21156
21157 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
21158 (grub_linux16_real_boot): ... this.
21159 * kern/i386/loader.S: Likewise.
21160 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
21161 (grub_linux16_boot): New function. Switches to text mode and calls
21162 grub_linux16_real_boot().
21163
21164 * loader/i386/bsd.c: Include `<grub/video.h>'.
21165 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
21166 text mode before calling grub_unix_real_boot().
21167
21168 * loader/i386/multiboot.c: Include `<grub/video.h>'.
21169 (grub_multiboot_boot): Switch to text mode before calling
21170 grub_relocator32_boot().
21171
21172 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
21173 (grub_chainloader_boot): Switch to text mode before calling
21174 grub_chainloader_real_boot().
21175
d6f93a66
RM
211762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
211772010-01-05 Colin Watson <cjwatson@ubuntu.com>
21178
21179 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
21180 non-empty value.
21181
211822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
211832010-01-05 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * util/grub.d/00_header.in: Define a "savedefault" function for use
21186 in menu entries.
21187 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
21188
211892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
211902010-01-05 Colin Watson <cjwatson@ubuntu.com>
21191
21192 * util/grub-mkconfig_lib.in (save_default_entry): Only set
21193 saved_entry if boot_once is unset.
21194 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
21195 previous saved entry (i.e. grub-reboot).
21196
211972009-12-08 Colin Watson <cjwatson@ubuntu.com>
21198
21199 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
21200
212012009-12-08 Colin Watson <cjwatson@ubuntu.com>
21202
21203 * util/grub.d/00_header.in: Use `set var=val' rather than plain
21204 `var=val'.
21205 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
21206
212072009-12-08 Colin Watson <cjwatson@ubuntu.com>
21208
21209 * util/grub-reboot.in: Fix --version output.
21210 * util/grub-set-default.in: Likewise.
21211
212122009-12-08 Colin Watson <cjwatson@ubuntu.com>
21213
21214 * util/grub.d/00_header.in: Silently ignore zero-sized environment
21215 blocks.
21216
212172009-12-08 Colin Watson <cjwatson@ubuntu.com>
21218
21219 * util/grub.d/00_header.in: Quote the value assigned to `default',
21220 in case it contains spaces.
21221
212222009-12-08 Colin Watson <cjwatson@ubuntu.com>
21223
21224 * util/grub.d/30_os-prober.in: Fix merge error that moved a
21225 `save_default_entry' call from the macosx case to the linux case.
21226
212272009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
212282009-10-25 Colin Watson <cjwatson@ubuntu.com>
21229
21230 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
21231 in `chosen' environment variable.
21232 * normal/menu_text.c (get_entry_number): Check if the variable
21233 matches the title of a menu entry.
21234 (run_menu): Pass menu to get_entry_number.
21235
21236 * util/grub-reboot.in: New file.
21237 * util/grub-set-default.in: New file.
21238 * conf/common.rmk (grub-reboot): New utility.
21239 (grub-set-default): New utility.
21240
21241 * util/grub-mkconfig_lib.in (save_default_entry): New function.
21242 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
21243 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
21244 move it to `saved_entry' for the next boot. Load environment on
21245 initialisation.
21246 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
21247 * util/grub.d/10_hurd.in: Likewise.
21248 * util/grub.d/10_linux.in (linux_entry): Likewise.
21249 * util/grub.d/10_windows.in: Likewise.
21250 * util/grub.d/30_os-prober.in: Likewise.
21251
21252 * util/grub-install.in: Create environment block.
21253 * util/i386/efi/grub-install.in: Likewise.
21254 * util/ieee1275/grub-install.in: Likewise.
21255 * util/sparc64/ieee1275/grub-install.in: Likewise.
21256
0934d184
BC
212572010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
21258
21259 Unit testing framework for GRUB.
21260
21261 * Makefile.in: Test framework build rules for 'make check'.
21262 * conf/tests.rmk: Build rules for individual tests and framework.
21263
21264 * include/grub/test.h: Header file for whitebox tests.
21265 * tests/lib/functional_test.c: Framework support for whitebox
21266 functional tests.
21267 * tests/lib/test.c: Common whitebox testing code for unit and
21268 functional tests.
21269 * tests/lib/unit_test.c: Framework support for whitebox unit
21270 tests.
21271
21272 * tests/util/grub-shell-tester.in: Support utility for grub-script
21273 tests.
21274 * tests/util/grub-shell.in: Utility to execute grub-script
21275 commands in a Qemu instance.
21276
21277 * tests/example_functional_test.c: Example whitebox functional
21278 test.
21279 * tests/example_grub_script_test.in: Example grub-script test.
21280 * tests/example_scripted_test.in: Example scripted test.
21281 * tests/example_unit_test.c: Example whitebox unit test.
21282
9c4ffeeb
VS
212832010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
21286 Add loader/i386/multiboot_mbi.c.
21287 (multiboot2_mod_SOURCES): Likewise.
21288 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
21289 (multiboot2_mod_SOURCES): Likewise.
21290 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
21291 (grub_multiboot_make_mbi): Likewise.
21292 (grub_multiboot_free_mbi): Likewise.
21293 (grub_multiboot_init_mbi): Likewise.
21294 (grub_multiboot_add_module): Likewise.
21295 (grub_multiboot_set_bootdev): Likewise.
21296 * loader/i386/multiboot.c (mbi): Removed.
21297 (mbi_dest): Likewise.
21298 (alloc_mbi): New variable.
21299 (grub_multiboot_payload_size): Removed. All users updated.
21300 (grub_multiboot_pure_size): New variable.
21301 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
21302 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
21303 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
21304 (grub_fill_multiboot_mmap): Likewise.
21305 (grub_multiboot_get_bootdev): Likewise.
21306 (grub_multiboot): Use multiboot_mbi functions.
21307 * loader/i386/multiboot_mbi.c: New file.
21308
17383dfe
VS
213092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
21312 it would result in module crash.
21313
c1f28820
VS
213142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
21317 (grub_ofconsole_getwh): Split to ...
21318 (grub_ofconsole_getwh): ... this.
21319 (grub_ofconsole_dimensions): ...and this.
21320 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
21321
58655a16
RM
213222010-01-13 Robert Millan <rmh.grub@aybabtu.com>
21323
21324 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
21325
10891398
VS
213262010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 * loader/i386/pc/multiboot2.c: Removed stalled file.
21329
0b8a223c
VS
213302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
21333 Reported by: Grégoire Sutre
21334
92ab12b0
RM
213352010-01-11 Robert Millan <rmh.grub@aybabtu.com>
21336
21337 * util/misc.c (canonicalize_file_name): New function.
21338 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
21339 instead of realpath().
21340
a788afb6
CW
213412010-01-11 Colin Watson <cjwatson@ubuntu.com>
21342
21343 * util/grub-install.in (usage): Clarify meaning of --root-directory,
21344 and make it clearer that it's optional. Based on confusion
21345 witnessed on IRC.
21346
ffa8e3d2
VS
213472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21348
21349 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
21350 in premature implicit newline.
21351
e9060a9d
VS
213522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21353
21354 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
21355 which resulted in garbled command line at the end of screen.
21356
f0d0c0b7
RM
213572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21358
21359 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
21360 initialization with similar approach as with other Linux loaders.
21361
0e60bae7
RM
213622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
21363
21364 Fix i386-ieee1275 build.
21365
21366 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
21367 and grub_term_height() for video_{width,height} initialization.
21368
213692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
21370
21371 Fix grub-emu build.
21372
21373 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
21374
cdb3f378
RM
213752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
213762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21377
21378 Support for multiple terminals.
21379
21380 * Makefile.in (pkglib_DATA): terminal.lst.
21381 (terminal.lst): New target.
21382 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
21383 (GRUB_MOD_INIT(handler)): Likewise.
21384 (GRUB_MOD_FINI(handler)): Likewise.
21385 * commands/help.c (grub_cmd_help): Handle multiple terminals.
21386 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
21387 * commands/sleep.c (do_print): Use grub_term_restore_pos.
21388 (grub_cmd_sleep): Use grub_term_save_pos.
21389 * commands/terminal.c: New file.
21390 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
21391 commands/terminal.c and lib/charset.c.
21392 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
21393 (pkglib_MODULES): Add terminal.mod.
21394 (terminal_mod_SOURCES): New variable.
21395 (terminal_mod_CFLAGS): Likewise.
21396 (terminal_mod_LDFLAGS): Likewise.
21397 * genhandlerlist.sh: Don't handle terminals.
21398 * genmk.rb: Generate terminal-*.lst.
21399 * genterminallist.sh: New file.
21400 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
21401 (grub_is_valid_utf8): Likewise.
21402 (grub_utf8_to_ucs4_alloc): Likewise.
21403 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
21404 (grub_menu_register_viewer): Changed argument.
21405 (grub_menu_try_text): New proto.
21406 (grub_gfxmenu_try_hook): New declaration.
21407 * include/grub/normal.h (grub_normal_exit_level): New declaration.
21408 (grub_menu_init_page): Additional argument term.
21409 (grub_normal_init_page): Likewise.
21410 (grub_cmdline_get): Arguments simplified.
21411 (grub_utf8_to_ucs4_alloc): Removed.
21412 (grub_print_ucs4): Additional argument term.
21413 (grub_getstringwidth): Likewise.
21414 (grub_print_message_indented): Likewise.
21415 (grub_menu_text_register_instances): New proto.
21416 (grub_show_menu): Likewise.
21417 (read_terminal_list): Likewise.
21418 (grub_set_more): Likewise.
21419 * include/grub/parser.h: Include handler.h.
21420 * include/grub/reader.h: Rewritten.
21421 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
21422 (GRUB_TERM_WIDTH): Changed to function.
21423 (GRUB_TERM_HEIGHT): Likewise.
21424 (GRUB_TERM_BORDER_WIDTH): Likewise.
21425 (GRUB_TERM_BORDER_HEIGHT): Likewise.
21426 (GRUB_TERM_NUM_ENTRIES): Likewise.
21427 (GRUB_TERM_ENTRY_WIDTH): Likewise.
21428 (GRUB_TERM_CURSOR_X): Likewise.
21429 (grub_term_input_class): Likewise.
21430 (grub_term_output_class): Likewise.
21431 (grub_term_outputs_disabled): New declaration.
21432 (grub_term_inputs_disabled): Likewise.
21433 (grub_term_outputs): Likewise.
21434 (grub_term_inputs): Likewise.
21435 (grub_term_register_input): Rewritten.
21436 (grub_term_register_output): Likewise.
21437 (grub_term_unregister_input): Likewise.
21438 (grub_term_unregister_output): Likewise.
21439 (FOR_ACTIVE_TERM_INPUTS): New macro.
21440 (FOR_DISABLED_TERM_INPUTS): Likewise.
21441 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21442 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21443 * include/grub/terminfo.h: Add oterm argument to all protypes.
21444 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
21445 Use grub_rescue_run.
21446 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
21447 All users updated.
21448 * kern/reader.c: Removed. All users updated.
21449 * kern/rescue_reader.c (grub_rescue_init): Removed.
21450 (grub_rescue_reader): Likewise.
21451 (grub_register_rescue_reader): Likewise.
21452 (grub_rescue_run): New function based on kern/reader.c.
21453 * kern/term.c: Adapted for multiterm.
21454 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
21455 (grub_is_valid_utf8): Likewise.
21456 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
21457 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
21458 right terminal.
21459 * loader/i386/linux.c (grub_linux_boot): Likewise.
21460 * normal/auth.c (grub_username_get): New function.
21461 (grub_auth_check_authentication): Use grub_username_get.
21462 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
21463 * normal/color.c: Adapt for multiterm.
21464 * normal/main.c (read_config_file): Don't use grub_reader_loop.
21465 (grub_normal_init_page): Additional argument term.
21466 (read_lists): Call read_terminal_lists.
21467 (grub_enter_normal_mode): Call grub_cmdline_run.
21468 Handle grub_normal_exit_level.
21469 (grub_cmd_normal): Make reentrant.
21470 (grub_cmd_normal_exit): New function.
21471 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
21472 * normal/menu.c: Adapt for multiterm.
21473 * normal/menu_entry.c: Likewise.
21474 * normal/menu_text.c: Likewise.
21475 * normal/menu_viewer.c: Removed. All users updated.
21476 * normal/term.c: New file.
21477 * util/console.c: Change order of includes to workaround a bug in
21478 ncurses headers.
21479 * term/terminfo.c: New argument oterm on all exported functions.
21480 All users updated.
21481 * util/grub-editenv.c (grub_term_input_class): Removed.
21482 (grub_term_output_class): Likewise.
21483
1a064917
RM
214842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
21485
21486 Make loader output a bit more user-friendly.
21487
21488 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
21489 is being loaded. Likewise for the Hurd.
21490
21491 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
21492 that kernel of FreeBSD ${version} is being loaded.
21493
21494 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
21495 grub_dprintf().
21496 (grub_cmd_initrd): Likewise.
21497 * util/grub.d/10_linux.in (linux_entry): Print message indicating
21498 that Linux ${version} is being loaded. Likewise for initrd.
21499
5ce0a83a 215002010-01-09 Carles Pina i Estany <carles@pina.cat>
21501
21502 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
21503
809bbfeb 215042010-01-08 Carles Pina i Estany <carles@pina.cat>
21505
21506 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
21507 (GRUB_MOD_INIT): Gettextizze.
21508 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
21509 (GRUB_MOD_INIT): Gettextizze.
21510 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
21511 (grub_cmd_linux): Capitalise Linux.
21512 (GRUB_MOD_INIT): Gettextizze.
21513 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
21514 (grub_cmd_linux): Capitalise Linux.
21515 (GRUB_MOD_INIT): Gettextizze.
21516 * loader/i386/linux.c: Include `<grub/i18n.h>'.
21517 (grub_cmd_linux): Capitalise Linux.
21518 (GRUB_MOD_INIT): Gettextizze.
21519 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
21520 (GRUB_MOD_INIT): Gettextizze.
21521 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
21522 (grub_cmd_linux): Capitalise Linux.
21523 (GRUB_MOD_INIT): Gettextizze.
21524 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
21525 (grub_cpu_xnu_init): Gettextizze.
21526 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
21527 (GRUB_MOD_INIT): Gettextizze.
21528 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
21529 (GRUB_MOD_INIT): Gettextizze.
21530 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
21531 (grub_linux_load64): Capitalise Linux.
21532 (GRUB_MOD_INIT): Gettextizze.
21533 * loader/xnu.c: Include `<grub/i18n.h>'.
21534 (GRUB_MOD_INIT): Gettextizze.
21535 * po/POTFILES: Add `loader/efi/appleloader.c',
21536 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
21537 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
21538 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
21539 `loader/i386/xnu.c', `loader/multiboot_loader.c',
21540 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
21541 and `loader/xnu.c'.
21542
b394b2ca
RM
215432010-01-08 Robert Millan <rmh.grub@aybabtu.com>
21544
21545 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
21546
215472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
21548
21549 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
21550 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
21551 * util/mkisofs/mkisofs.c (main): Readjust --version output.
21552
bc8b32b3
RM
215532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21554
21555 Reset Multiboot 2 support. New loader implements the draft in
21556 /branches/multiboot2 and shares as much code as possible with the
21557 production Multiboot 1 implementation.
21558
21559 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
21560 * loader/multiboot2.c: Likewise.
21561 * loader/i386/multiboot_helper.S: Likewise.
21562 * include/multiboot2.h: Replace with latest version from the draft
21563 in /branches/multiboot2.
21564
21565 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
21566 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
21567 and `loader/multiboot2.c'.
21568 (pkglib_MODULES): Add `multiboot2.mod'.
21569 (multiboot2_mod_SOURCES): New variable.
21570 (multiboot2_mod_LDFLAGS): Likewise.
21571 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
21572
21573 * conf/i386-pc.rmk: Likewise.
21574
21575 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21576 (multiboot_mod_SOURCES): Remove variable.
21577 (multiboot_mod_LDFLAGS): Likewise.
21578 (multiboot_mod_CFLAGS): Likewise.
21579
21580 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
21581 `<multiboot2.h>' instead of `<multiboot.h>'.
21582 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
21583 (MULTIBOOT_HEADER_MAGIC): New macros.
21584
21585 * loader/multiboot_loader.c (module_version_status): Remove variable.
21586 (find_multi_boot2_header): Remove function.
21587 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
21588 logic. Always check for the Multiboot version we're compiling for.
21589 (grub_cmd_module_loader): Likewise.
21590 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
21591 command instead of `multiboot'.
21592
5d2c52b8
RM
215932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21594
21595 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
21596 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
21597 all users.
21598
53108d92
RM
215992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
216002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 Fix breakage introduced with previous commit.
21603
21604 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
21605 commands.
21606 * normal/handler.c (read_handler_list): Revert part of previous commit
21607 affecting this file.
21608 * normal/main.c (read_lists): Move read_handler_list() call back to ...
21609 (grub_normal_execute): ... here.
21610
e2e936b2
RM
216112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
21612
21613 Merge prefix-redefinition-fix branch.
21614
21615 * normal/autofs.c (read_fs_list): Make function capable of being
21616 run multiple times, gracefuly replacing the previous data
21617 structures.
21618 * normal/dyncmd.c (read_command_list): Likewise.
21619 * normal/handler.c (read_handler_list): Likewise.
21620 * normal/main.c (read_lists): New function. Calls all the
21621 list reading functions.
21622 (grub_normal_execute): Use read_lists() instead of calling all
21623 list reading functions explicitly. Register read_lists() as a
21624 variable hook attached to ${prefix}.
21625
607a3701
VS
216262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 Merge crypto branch.
21629
21630 * Makefile.in (pkglib_DATA): Add crypto.lst.
21631 (crypto.lst): New target.
21632 * commands/hashsum.c: New file.
21633 * commands/password.c (check_password): Use grub_crypto_memcmp.
21634 * commands/password_pbkdf2.c: New file.
21635 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21636 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21637 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21638 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21639 -I$(srcdir)/lib/libgcrypt_wrap.
21640 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21641 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21642 password_pbkdf2.mod.
21643 (crypto_mod_SOURCES): New variable.
21644 (crypto_mod_CFLAGS): Likewise.
21645 (crypto_mod_LDFLAGS): Likewise.
21646 (hashsum_mod_SOURCES): New variable.
21647 (hashsum_mod_CFLAGS): Likewise.
21648 (hashsum_mod_LDFLAGS): Likewise.
21649 (pbkdf2_mod_SOURCES): New variable.
21650 (pbkdf2_mod_CFLAGS): Likewise.
21651 (pbkdf2_mod_LDFLAGS): Likewise.
21652 (password_pbkdf2_mod_SOURCES): New variable.
21653 (password_pbkdf2_mod_CFLAGS): Likewise.
21654 (password_pbkdf2_mod_LDFLAGS): Likewise.
21655 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21656 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21657 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21658 Include conf/gcry.rmk.
21659 * include/grub/auth.h: Rewritten.
21660 * include/grub/crypto.h: New file.
21661 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21662 * include/grub/normal.h (read_crypto_list): New prototype.
21663 * lib/crypto.c: New file.
21664 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21665 * lib/pbkdf2.c: Likewise.
21666 * normal/auth.c (grub_auth_strcmp): Removed.
21667 (grub_iswordseparator): Likewise.
21668 (grub_auth_strword): Likewise.
21669 (is_authenticated): Use grub_strword.
21670 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21671 and grub_strword. Pass entered password to authentication callback.
21672 * normal/crypto.c: New file.
21673 * normal/main.c: Call read_crypto_list.
21674 * util/grub-mkpasswd-pbkdf2.c: New file.
21675 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21676
42841caa
VS
216772010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 Fix descent and ascent calculation.
21680
21681 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21682 (options): New option "asce".
21683 (usage): Likewise.
21684 (add_char): Ignore invalid glyphs for descent calculation.
21685 Calculate ascent from actual content.
21686 (print_glyphs): Use 'asce'.
21687 (write_font): Likewise. Allow ascent override.
21688 (main): Handle "asce" option.
21689
e7730de7 216902010-01-06 Carles Pina i Estany <carles@pina.cat>
21691
21692 * kern/err.c: Include `<grub/i18n.h>'.
21693 (grub_print_error): Add full stop. Gettextizze.
21694 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21695 (grub_bsd_load_elf): Capitalise ELF.
21696 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21697 (grub_cmd_freebsd_module): Likewise.
21698 (grub_cmd_freebsd_module_elf): Likewise.
21699 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21700
40e3a41f 217012010-01-06 Carles Pina i Estany <carles@pina.cat>
21702
21703 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21704 * commands/search_file.c (HELP_MESSAGE): New macro.
21705 * commands/search_label.c (HELP_MESSAGE): Likewise.
21706 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21707 * po/POTFILES: Add `commands/search_file.c',
21708 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21709 `commands/search.c'.
21710
83507e68
RM
217112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21712
21713 * config.rpath: Update from Gnulib.
21714
465c787b
YB
217152010-01-05 Yves Blusseau <blusseau@zetam.org>
21716
21717 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21718
6581dd3a
YB
217192010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21720
21721 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21722
3bff18c5
CW
217232010-01-05 Colin Watson <cjwatson@ubuntu.com>
21724
21725 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21726 arguments to fread so that we get a return value in bytes, rather
21727 than something that will normally be rounded down to 0.
21728 Adjust error handling to avoid producing garbage when size_t is not
21729 the same size as long long.
21730
a1368118
CW
217312010-01-05 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * util/mkisofs/write.c (padblock_write): Check return value of
21734 fread.
21735
7c302978
RM
217362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21737
21738 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21739 floppy images now.
21740
21741 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21742
e33ace06
RM
217432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21744
21745 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21746 instead of manual alignment.
21747 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21748 verbose). Avoid attempts to read past end of the device
21749 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21750 but GRUB_DISK_CACHE_SIZE may exceed that).
21751
4b856776
RM
217522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21753
21754 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21755 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21756 it to upper layer.
21757
52c2d97f
VS
217582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21761 New constant.
21762 (grub_efi_piwg_device_path): New structure
21763 (grub_efi_piwg_device_path_t): New type.
21764 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21765 (devpath_1): Transform to a structure. All users updated.
21766 (devpath_2): Likewise.
21767 (devpath_3): Likewise.
21768 (devpath_4): Likewise.
21769 (devpath_5): Likewise.
21770
98ff6a54
VS
217712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * loader/efi/appleloader.c: Restored. Update all users.
21774
3a73dcb6
RM
217752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21776
21777 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21778
21779 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21780 (struct boot_blocklist): Move from here ...
21781 * include/grub/i386/pc/boot.h [ASM_FILE]
21782 (struct grub_boot_blocklist): ... to here. Update all users.
21783 (setup): Only initialize `start' member of `first_block'
21784 structure. Add assert() calls to verify the other members.
21785
21786 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21787 (generate_image): Fix broken blocklist length initialization.
21788 Add assert() call to verify blocklist `segment' field.
21789
ab0eeb0c
RM
217902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21791
21792 * loader/efi/appleloader.c: Remove. Update all users.
21793
58bc8bd5
RM
217942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21795
21796 * boot/i386/pc/boot.S: Update copyright year.
21797 * boot/i386/pc/cdboot.S: Likewise.
21798 * boot/i386/pc/diskboot.S: Likewise.
21799 * boot/i386/pc/lnxboot.S: Likewise.
21800 * boot/i386/pc/pxeboot.S: Likewise.
21801 * bus/pci.c: Likewise.
21802 * commands/cmp.c: Likewise.
21803 * commands/help.c: Likewise.
21804 * commands/hexdump.c: Likewise.
21805 * commands/i386/pc/halt.c: Likewise.
21806 * commands/i386/pc/play.c: Likewise.
21807 * commands/i386/pc/vbeinfo.c: Likewise.
21808 * commands/ls.c: Likewise.
21809 * commands/test.c: Likewise.
21810 * disk/dmraid_nvidia.c: Likewise.
21811 * disk/i386/pc/biosdisk.c: Likewise.
21812 * disk/ieee1275/nand.c: Likewise.
21813 * disk/ieee1275/ofdisk.c: Likewise.
21814 * disk/lvm.c: Likewise.
21815 * disk/raid.c: Likewise.
21816 * disk/raid6_recover.c: Likewise.
21817 * disk/scsi.c: Likewise.
21818 * fs/affs.c: Likewise.
21819 * fs/cpio.c: Likewise.
21820 * fs/ext2.c: Likewise.
21821 * fs/hfs.c: Likewise.
21822 * fs/iso9660.c: Likewise.
21823 * fs/ntfs.c: Likewise.
21824 * fs/sfs.c: Likewise.
21825 * fs/udf.c: Likewise.
21826 * fs/ufs.c: Likewise.
21827 * fs/xfs.c: Likewise.
21828 * gencmdlist.sh: Likewise.
21829 * genmk.rb: Likewise.
21830 * include/grub/disk.h: Likewise.
21831 * include/grub/efi/api.h: Likewise.
21832 * include/grub/efi/efi.h: Likewise.
21833 * include/grub/efi/pe32.h: Likewise.
21834 * include/grub/elf.h: Likewise.
21835 * include/grub/fs.h: Likewise.
21836 * include/grub/i386/at_keyboard.h: Likewise.
21837 * include/grub/i386/pc/memory.h: Likewise.
21838 * include/grub/i386/pc/vbe.h: Likewise.
21839 * include/grub/i386/pci.h: Likewise.
21840 * include/grub/i386/tsc.h: Likewise.
21841 * include/grub/ieee1275/ieee1275.h: Likewise.
21842 * include/grub/ntfs.h: Likewise.
21843 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21844 * include/grub/sparc64/libgcc.h: Likewise.
21845 * include/grub/symbol.h: Likewise.
21846 * include/grub/types.h: Likewise.
21847 * include/multiboot2.h: Likewise.
21848 * io/gzio.c: Likewise.
21849 * kern/device.c: Likewise.
21850 * kern/disk.c: Likewise.
21851 * kern/efi/efi.c: Likewise.
21852 * kern/efi/mm.c: Likewise.
21853 * kern/elf.c: Likewise.
21854 * kern/file.c: Likewise.
21855 * kern/i386/dl.c: Likewise.
21856 * kern/i386/pc/init.c: Likewise.
21857 * kern/i386/pc/startup.S: Likewise.
21858 * kern/ieee1275/ieee1275.c: Likewise.
21859 * kern/ieee1275/init.c: Likewise.
21860 * kern/main.c: Likewise.
21861 * kern/mm.c: Likewise.
21862 * kern/powerpc/dl.c: Likewise.
21863 * kern/sparc64/dl.c: Likewise.
21864 * kern/x86_64/dl.c: Likewise.
21865 * lib/hexdump.c: Likewise.
21866 * loader/efi/appleloader.c: Likewise.
21867 * loader/i386/ieee1275/linux.c: Likewise.
21868 * loader/i386/pc/chainloader.c: Likewise.
21869 * loader/i386/pc/linux.c: Likewise.
21870 * loader/i386/pc/multiboot2.c: Likewise.
21871 * loader/ieee1275/multiboot2.c: Likewise.
21872 * loader/multiboot2.c: Likewise.
21873 * loader/multiboot_loader.c: Likewise.
21874 * loader/powerpc/ieee1275/linux.c: Likewise.
21875 * normal/completion.c: Likewise.
21876 * normal/menu_entry.c: Likewise.
21877 * partmap/apple.c: Likewise.
21878 * util/grub.d/10_hurd.in: Likewise.
21879 * util/hostfs.c: Likewise.
21880 * video/readers/png.c: Likewise.
21881
e2d70b5c
CW
218822010-01-03 Colin Watson <cjwatson@ubuntu.com>
21883
21884 * include/grub/misc.h (GNUC_PREREQ): New macro.
21885 (ATTRIBUTE_ERROR): New macro.
21886 * include/grub/list.h (grub_bad_type_cast_real): Use
21887 ATTRIBUTE_ERROR.
21888
a173283f 218892010-01-03 Carles Pina i Estany <carles@pina.cat>
21890
21891 * normal/menu_text.c (print_message): Change messages.
21892
7fa7ff74 218932010-01-03 Carles Pina i Estany <carles@pina.cat>
21894
21895 * normal/menu_entry.c (store_completion): Gettextizze.
21896
136d24f6 218972010-01-03 Carles Pina i Estany <carles@pina.cat>
21898
21899 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21900
f936862e 219012010-01-03 Carles Pina i Estany <carles@pina.cat>
21902
21903 * po/POTFILES: Sort correctly.
21904
29c44ad1 219052010-01-03 Carles Pina i Estany <carles@pina.cat>
21906
21907 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21908 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21909 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21910 full stop.
21911 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21912 summary. Gettextizze the strings.
21913 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21914 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21915 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21916 full stop.
21917 (GRUB_MOD_INIT): Remove command name from summary.
21918 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21919 summary.
21920 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21921 * term/i386/pc/serial.c (options): Add full stops.
21922 (GRUB_MOD_INIT): Remove command name from the summary.
21923
77a79592 219242010-01-03 Carles Pina i Estany <carles@pina.cat>
21925
21926 * commands/acpi.c: Gettextizze help strings and/or options. Include
21927 `grub/i18n.h' if needed.
21928 * commands/blocklist.c: Likewise.
21929 * commands/boot.c: Likewise.
21930 * commands/cat.c: Likewise.
21931 * commands/cmp.c: Likewise.
21932 * commands/configfile.c: Likewise.
21933 * commands/crc.c: Likewise.
21934 * commands/date.c: Likewise.
21935 * commands/echo.c: Likewise.
21936 * commands/efi/fixvideo.c: Likewise.
21937 * commands/efi/loadbios.c: Likewise.
21938 * commands/gptsync.c: Likewise.
21939 * commands/halt.c: Likewise.
21940 * commands/handler.c: Likewise.
21941 * commands/hdparm.c: Likewise.
21942 * commands/hexdump.c: Likewise.
21943 * commands/i386/cpuid.c: Likewise.
21944 * commands/i386/pc/drivemap.c: Likewise.
21945 * commands/i386/pc/halt.c: Likewise.
21946 * commands/i386/pc/pxecmd.c: Likewise.
21947 * commands/i386/pc/vbeinfo.c: Likewise.
21948 * commands/i386/pc/vbetest.c: Likewise.
21949 * commands/ieee1275/suspend.c: Likewise.
21950 * commands/keystatus.c: Likewise.
21951 * commands/loadenv.c: Likewise.
21952 * commands/ls.c: Likewise.
21953 * commands/lsmmap.c: Likewise.
21954 * commands/lspci.c: Likewise.
21955 * commands/memrw.c: Likewise.
21956 * commands/minicmd.c: Likewise.
21957 * commands/parttool.c: Likewise.
21958 * commands/password.c: Likewise.
21959 * commands/probe.c: Likewise.
21960 * commands/read.c: Likewise.
21961 * commands/reboot.c: Likewise.
21962 * commands/search.c: Likewise.
21963 * commands/sleep.c: Likewise.
21964 * commands/test.c: Likewise.
21965 * commands/true.c: Likewise.
21966 * commands/usbtest.c: Likewise.
21967 * commands/videotest.c: Likewise.
21968 * commands/xnu_uuid.c: Likewise.
21969 * disk/loopback.c: Likewise.
21970 * hello/hello.c: Likewise.
21971 * loader/i386/bsd.c: Likewise.
21972 * term/i386/pc/serial.c: Likewise.
21973 * po/POTFILES: Add new files.
21974
da8d5c53
CW
219752010-01-02 Colin Watson <cjwatson@ubuntu.com>
21976
21977 * term/i386/pc/at_keyboard.c
21978 (keyboard_controller_wait_untill_ready): Rename to ...
21979 (keyboard_controller_wait_until_ready): ... this. Update all users.
21980
33937904 219812010-01-01 Carles Pina i Estany <carles@pina.cat>
21982
21983 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21984 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21985 string using string width.
21986 * normal/menu_text.c (grub_print_message_indented): Use
21987 grub_print_spaces and not print_spaces.
21988 (print_timeout): Likewise.
21989 (print_spaces): Move to...
21990 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21991
3fd3b8d8
RM
219922010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 Import from Gnulib.
21995
21996 * gnulib/getdelim.c: New file.
21997 * gnulib/getline.c: Likewise.
21998
33433555
VS
219992009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22000
22001 * include/grub/list.h (grub_assert_fail): Removed.
22002 (grub_bad_type_cast_real): New function.
22003 (grub_bad_type_cast): New macro.
22004 (GRUB_AS_LIST): Use grub_bad_type_cast.
22005 (GRUB_AS_LIST_P): Likewise.
e44721e8 22006 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22007 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22008 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22009 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22010 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22011
f5a51306
VS
220122009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22015 Fix syntax error.
22016
90d1e879
RM
220172009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22018
22019 * configure.ac: Check for TARGET_CFLAGS initialization before we
22020 initialize it ourselves (sigh).
22021 Move a few modifications to TARGET_CFLAGS to be unconditional
22022 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22023 eh_frame)
22024
22025 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22026 * term/i386/pc/at_keyboard.c
22027 (keyboard_controller_wait_untill_ready): Likewise.
22028 (keyboard_controller_led): Rename `led_status' paramter to avoid
22029 name conflict.
22030
465b5a81 220312009-12-28 Carles Pina i Estany <carles@pina.cat>
22032
22033 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22034 quotes.
22035
c181849b
VS
220362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22037
22038 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22039
9c8739a4
VS
220402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22041
22042 * normal/menu_text.c (grub_print_message_indented): Prevent
22043 past-the-end-of-array dereference.
22044
3e74249c
VS
220452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22048 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22049
64fd18ed 220502009-12-27 Carles Pina i Estany <carles@pina.cat>
22051
22052 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22053 * normal/main.c (grub_normal_read_line): Remove a space from the
22054 default prompt.
22055
714af9b9 220562009-12-27 Carles Pina i Estany <carles@pina.cat>
22057
22058 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22059 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22060 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22061 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22062 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22063 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22064 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22065
82f3e412 220662009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22067
22068 * video/readers/jpeg.c (cmd): Declare.
22069 (grub_cmd_jpegtest): Use `grub_command_t' type.
22070 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22071 Assign to `cmd'.
22072 (GRUB_MOD_FINI): Use `cmd' to unregister.
22073 * video/readers/png.c (cmd): Declare.
22074 (grub_cmd_pngtest): Use `grub_command_t' type.
22075 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22076 Assign to `cmd'.
22077 (GRUB_MOD_FINI): Use `cmd' to unregister.
22078 * video/readers/tga.c (cmd): Declare.
22079 (grub_cmd_tgatest): Use `grub_command_t' type.
22080 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22081 Assign to `cmd'.
22082 (GRUB_MOD_FINI): Use `cmd' to unregister.
22083
82f3e412 220842009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22085
22086 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22087 stops.
22088 * kern/corecmd.c (grub_register_core_commands): Likewise.
22089 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22090 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22091 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22092 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22093 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22094 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22095 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22096 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22097 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22098 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22099 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22100 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22101 * normal/handler.c (insert_handler): Likewise.
22102 * normal/main.c (GRUB_MOD_INIT): Likewise.
22103 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22104
fdcdbb66 221052009-12-26 Carles Pina i Estany <carles@pina.cat>
22106
22107 * commands/help.c (grub_cmd_help): Print the command name before the
22108 summary.
22109 (GRUB_MOD_INIT): Remove command name from the summary.
22110 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22111 string as summary.
fdcdbb66 22112 * lib/arg.c (find_long): Print the command name before the summary.
22113 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22114 summary.
22115 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22116 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22117 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22118 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22119 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22120 * commands/date.c (GRUB_MOD_INIT): Likewise.
22121 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22122 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22123 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22124 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22125 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22126 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22127 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22128 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22129 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22130 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
22131 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
22132 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
22133 * commands/ls.c (GRUB_MOD_INIT): Likewise.
22134 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22135 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22136 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22137 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
22138 * commands/password.c (GRUB_MOD_INIT): Likewise.
22139 * commands/probe.c (GRUB_MOD_INIT): Likewise.
22140 * commands/read.c (GRUB_MOD_INIT): Likewise.
22141 * commands/search.c (GRUB_MOD_INIT): Likewise.
22142 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
22143 * commands/test.c (GRUB_MOD_INIT): Likewise.
22144 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
22145 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22146 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22147 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
22148 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22149 * lib/arg.c (GRUB_MOD_INIT): Likewise.
22150 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
22151 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22152 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22153 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22154 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22155 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
22156 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
22157 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
22158
9c288be2
VS
221592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22160
22161 Use search command for preliminar UUID search.
22162
22163 * commands/search.c: Split into ...
22164 * commands/search_wrap.c: ...this
22165 * commands/search.c: ...and this.
22166 * commands/search_file.c: New file.
22167 * commands/search_label.c: New file.
22168 * commands/search_uuid.c: New file.
22169 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
22170 Add commands/search_wrap.c, commands/search_file.c,
22171 commands/search_label.c and commands/search_uuid.c.
22172 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
22173 (search_mod_SOURCES): Set to commands/search_wrap.c.
22174 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
22175 search_label.mod.
22176 (search_fs_file_mod_SOURCES): New variable.
22177 (search_fs_file_mod_CFLAGS): Likewise.
22178 (search_fs_file_mod_LDFLAGS): Likewise.
22179 (search_label_mod_SOURCES): Likewise.
22180 (search_label_mod_CFLAGS): Likewise.
22181 (search_label_mod_LDFLAGS): Likewise.
22182 (search_fs_uuid_mod_SOURCES): New variable.
22183 (search_fs_uuid_mod_CFLAGS): Likewise.
22184 (search_fs_uuid_mod_LDFLAGS): Likewise.
22185 (fs_file_mod_SOURCES): Removed.
22186 (fs_file_mod_CFLAGS): Likewise.
22187 (fs_file_mod_LDFLAGS): Likewise.
22188 (fs_uuid_mod_SOURCES): Removed.
22189 (fs_uuid_mod_CFLAGS): Likewise.
22190 (fs_uuid_mod_LDFLAGS): Likewise.
22191 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
22192 Set to util/grub-install.in.
22193 * disk/fs_file.c: Removed.
22194 * disk/fs_uuid.c: Likewise.
22195 * include/grub/search.h: New file.
22196 * util/grub-install.in: Handle sparc64.
22197 Create and use load.cfg.
22198 * util/sparc64/ieee1275/grub-install.in: Removed.
22199
db943399
VS
222002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
22203 Ignore return status if CF is cleared.
22204 (grub_biosdisk_get_diskinfo_standard): Likewise.
22205
3fdae612
RM
222062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22207
22208 * term/i386/pc/at_keyboard.c
22209 (keyboard_controller_wait_untill_ready): New function.
22210 (grub_keyboard_controller_write, grub_keyboard_controller_read)
22211 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
22212 for keyboard polling, rather than duplicate the same loop. This
22213 saves a few bytes in code size.
22214
7ebaa2b4
VS
222152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
22216
22217 Support for (pxe[:server[:gateway]]) syntax and
22218 use environment variable for PXE.
22219
22220 * commands/i386/pc/pxecmd.c (options): Removed.
22221 (print_ip): Removed.
22222 (grub_cmd_pxe): Removed
22223 (grub_cmd_pxe_unload): New function.
22224 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
22225 (grub_pxe_your_ip): Made static.
22226 (grub_pxe_default_server_ip): Likewise.
22227 (grub_pxe_default_gateway_ip): Likewise.
22228 (grub_pxe_blksize): Likewise.
22229 (parse_ip): New function.
22230 (grub_pxe_open): Support server and gateway specification.
22231 (grub_pxe_close): Free disk->data.
22232 (grub_pxefs_open): Use disk->data.
22233 (grub_pxefs_read): Likewise.
22234 (grub_env_write_readonly): New function.
22235 (set_mac_env): Likewise.
22236 (set_env_limn_ro): Likewise.
22237 (parse_dhcp_vendor): Likewise.
22238 (grub_pxe_detect): Set the environment variables.
22239 (set_ip_env): New function.
22240 (write_ip_env): Likewise.
22241 (grub_env_write_pxe_default_server): Likewise.
22242 (grub_env_write_pxe_default_gateway): Likewise.
22243 (grub_env_write_pxe_blocksize): Likewise.
22244 (GRUB_MOD_INIT(pxe)): Set environment variables.
22245 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
22246 (grub_pxe_mac_addr_t): ... this. All users updated.
22247 (grub_pxe_your_ip): Removed.
22248 (grub_pxe_server_ip): Likewise.
22249 (grub_pxe_gateway_ip): Likewise.
22250 (grub_pxe_blksize): Likewise.
22251
ec5f98ab 222522009-12-25 Carles Pina i Estany <carles@pina.cat>
22253
22254 * commands/help.c: Include `<grub/i18n.h>'.
22255 (grub_cmd_help): Gettextizze.
22256 (GRUB_MOD_INIT): Likewise.
22257 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
22258 (GRUB_MOD_INIT): Gettextizze.
22259 * commands/search.c: Include `<grub/i18n.h>'.
22260 (options): Gettextizze.
22261 (GRUB_MOD_INIT): Gettextizze.
22262 * lib/arg.c: Include `<grub/i18n.h>'.
22263 (help_options): Gettextizze.
22264 (find_long): Likewise.
22265 (grub_arg_show_help): Likewise.
22266 * normal/dyncmd.c: Include `<grub/i18n.h>'.
22267 (read_command_list): Gettextizze.
22268 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 22269 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 22270
22815526
RM
222712009-12-25 Robert Millan <rmh.grub@aybabtu.com>
22272
22273 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
22274 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
22275 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
22276 (led_status): New variable.
22277 (keyboard_controller_led): New function.
22278 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
22279 update led status for caps lock, num lock and scroll lock.
22280
0ad46fd7
FZ
222812009-12-25 Felix Zielcke <fzielcke@z-51.de>
22282
22283 * util/hostdisk.c (open_device): Fix a comment.
22284
d0e158c2
RM
222852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22286
22287 * util/grub-install.in (host_os): New variable.
22288 * util/i386/efi/grub-install.in (host_os): Likewise.
22289
401c0ad6
RM
222902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22291
22292 * util/mkisofs/write.c (padblock_write): Abort when given an
22293 excedingly large embed image, instead of silently truncating it.
22294
d14d3370
RM
222952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22296
22297 * include/multiboot.h: Indentation fixes.
22298
eeed10b4
RM
222992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22300
22301 * include/multiboot.h (struct multiboot_aout_symbol_table)
22302 (struct multiboot_elf_section_header_table): New structure
22303 declarations (stolen from GRUB Legacy).
22304 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
22305 table information.
22306
22307 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
22308 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
22309 type aliases.
22310
681c70ab
RM
223112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22312
22313 * include/multiboot.h: Make comments src2texi-friendly.
22314
e4d47d8d
RM
223152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22316
22317 For consistency with [multiboot]/docs/boot.S.
22318
22319 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
22320 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
22321 (MULTIBOOT_MAGIC2): Rename from this ...
22322 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
22323
a0b70bda
RM
223242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
22325
22326 * include/multiboot.h: Remove `<grub/types.h>'.
22327 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
22328 types. Update all users.
22329
61ba42be 223302009-12-25 Carles Pina i Estany <carles@pina.cat>
22331
22332 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
22333 `couldn't' and `can not' by `cannot'.
22334 * commands/i386/pc/drivemap.c: Likewise.
22335 * disk/ata.c: Likewise.
22336 * disk/ieee1275/nand.c: Likewise.
22337 * fs/affs.c: Likewise.
22338 * fs/fat.c: Likewise.
22339 * fs/hfs.c: Likewise.
22340 * fs/hfsplus.c: Likewise.
22341 * fs/iso9660.c: Likewise.
22342 * fs/jfs.c: Likewise.
22343 * fs/minix.c: Likewise.
22344 * fs/reiserfs.c: Likewise.
22345 * fs/sfs.c: Likewise.
22346 * fs/udf.c: Likewise.
22347 * fs/ufs.c: Likewise.
22348 * fs/xfs.c: Likewise.
22349 * loader/powerpc/ieee1275/linux.c: Likewise.
22350 * loader/sparc64/ieee1275/linux.c: Likewise.
22351 * util/grub-probe.c: Likewise.
22352 * util/misc.c: Likewise.
22353
7fd0baee 223542009-12-24 Carles Pina i Estany <carles@pina.cat>
22355
22356 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
22357 grub_errno calls.
22358 * commands/acpi.c: Likewise.
22359 * commands/blocklist.c: Likewise.
22360 * commands/efi/loadbios.c: Likewise.
22361 * commands/i386/pc/drivemap.c: Likewise.
22362 * commands/loadenv.c: Likewise.
22363 * commands/memrw.c: Likewise.
22364 * commands/password.c: Likewise.
22365 * commands/videotest.c: Likewise.
22366 * disk/ata.c: Likewise.
22367 * disk/ata_pthru.c: Likewise.
22368 * disk/dmraid_nvidia.c: Likewise.
22369 * disk/ieee1275/nand.c: Likewise.
22370 * disk/ieee1275/ofdisk.c: Likewise.
22371 * disk/loopback.c: Likewise.
22372 * disk/lvm.c: Likewise.
22373 * disk/mdraid_linux.c: Likewise.
22374 * disk/raid.c: Likewise.
22375 * disk/raid6_recover.c: Likewise.
22376 * disk/scsi.c: Likewise.
22377 * efiemu/main.c: Likewise.
22378 * efiemu/mm.c: Likewise.
22379 * efiemu/pnvram.c: Likewise.
22380 * efiemu/symbols.c: Likewise.
22381 * font/font.c: Likewise.
22382 * fs/cpio.c: Likewise.
22383 * fs/hfsplus.c: Likewise.
22384 * fs/iso9660.c: Likewise.
22385 * fs/jfs.c: Likewise.
22386 * fs/minix.c: Likewise.
22387 * fs/ntfs.c: Likewise.
22388 * fs/ntfscomp.c: Likewise.
22389 * fs/reiserfs.c: Likewise.
22390 * fs/ufs.c: Likewise.
22391 * fs/xfs.c: Likewise.
22392 * gettext/gettext.c: Likewise.
22393 * include/grub/auth.h: Likewise.
22394 * kern/elf.c: Likewise.
22395 * kern/file.c: Likewise.
22396 * kern/ieee1275/init.c: Likewise.
22397 * kern/ieee1275/mmap.c: Likewise.
22398 * kern/ieee1275/openfw.c: Likewise.
22399 * kern/powerpc/dl.c: Likewise.
22400 * kern/sparc64/dl.c: Likewise.
22401 * lib/arg.c: Likewise.
22402 * loader/i386/bsd.c: Likewise.
22403 * loader/i386/bsdXX.c: Likewise.
22404 * loader/i386/efi/linux.c: Likewise.
22405 * loader/i386/efi/xnu.c: Likewise.
22406 * loader/i386/ieee1275/linux.c: Likewise.
22407 * loader/i386/linux.c: Likewise.
22408 * loader/i386/multiboot.c: Likewise.
22409 * loader/i386/pc/linux.c: Likewise.
22410 * loader/i386/pc/multiboot2.c: Likewise.
22411 * loader/i386/xnu.c: Likewise.
22412 * loader/ieee1275/multiboot2.c: Likewise.
22413 * loader/macho.c: Likewise.
22414 * loader/machoXX.c: Likewise.
22415 * loader/multiboot2.c: Likewise.
22416 * loader/multiboot_loader.c: Likewise.
22417 * loader/powerpc/ieee1275/linux.c: Likewise.
22418 * loader/sparc64/ieee1275/linux.c: Likewise.
22419 * loader/xnu.c: Likewise.
22420 * loader/xnu_resume.c: Likewise.
22421 * mmap/i386/pc/mmap.c: Likewise.
22422 * normal/menu_viewer.c: Likewise.
22423 * partmap/acorn.c: Likewise.
22424 * partmap/amiga.c: Likewise.
22425 * partmap/apple.c: Likewise.
22426 * script/lexer.c: Likewise.
22427 * term/gfxterm.c: Likewise.
22428 * term/i386/pc/serial.c: Likewise.
22429 * term/i386/pc/vga.c: Likewise.
22430 * term/ieee1275/ofconsole.c: Likewise.
22431 * term/terminfo.c: Likewise.
22432 * video/bitmap.c: Likewise.
22433 * video/efi_gop.c: Likewise.
22434 * video/efi_uga.c: Likewise.
22435 * video/fb/video_fb.c: Likewise.
22436 * video/i386/pc/vbe.c: Likewise.
22437 * video/readers/tga.c: Likewise.
22438 * video/video.c: Likewise.
22439
0ad46fd7 224402009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
22441
22442 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
22443 * commands/lspci.c: Likewise.
22444 * commands/probe.c: Likewise.
22445 * commands/xnu_uuid.c: Likewise.
22446 * conf/i386-coreboot.rmk: Likewise.
22447 * conf/i386-efi.rmk: Likewise.
22448 * conf/i386-ieee1275.rmk: Likewise.
22449 * conf/i386-pc.rmk: Likewise.
22450 * conf/powerpc-ieee1275.rmk: Likewise.
22451 * conf/sparc64-ieee1275.rmk: Likewise.
22452 * conf/x86_64-efi.rmk: Likewise.
22453 * fs/i386/pc/pxe.c: Likewise.
22454 * gettext/gettext.c: Likewise.
22455 * include/grub/efi/graphics_output.h: Likewise.
22456 * include/grub/i386/pc/memory.h: Likewise.
22457 * kern/env.c: Likewise.
22458 * kern/i386/qemu/startup.S: Likewise.
22459 * lib/i386/pc/biosnum.c: Likewise.
22460 * lib/i386/relocator.c: Likewise.
22461 * lib/i386/relocator_asm.S: Likewise.
22462 * lib/relocator.c: Likewise.
22463 * loader/i386/bsd.c: Likewise.
22464 * loader/i386/multiboot.c: Likewise.
22465 * loader/i386/pc/chainloader.c: Likewise.
22466 * loader/i386/xnu.c: Likewise.
22467 * loader/xnu.c: Likewise.
22468 * normal/main.c: Likewise.
22469 * normal/menu_text.c: Likewise.
22470 * util/getroot.c: Likewise.
22471 * util/grub-mkconfig_lib.in: Likewise.
22472 * util/grub.d/00_header.in: Likewise.
22473 * util/i386/pc/grub-mkimage.c: Likewise.
22474 * util/mkisofs/eltorito.c: Likewise.
22475 * util/mkisofs/exclude.h: Likewise.
22476 * util/mkisofs/hash.c: Likewise.
22477 * util/mkisofs/iso9660.h: Likewise.
22478 * util/mkisofs/joliet.c: Likewise.
22479 * util/mkisofs/mkisofs.c: Likewise.
22480 * util/mkisofs/mkisofs.h: Likewise.
22481 * util/mkisofs/multi.c: Likewise.
22482 * util/mkisofs/name.c: Likewise.
22483 * util/mkisofs/rock.c: Likewise.
22484 * util/mkisofs/tree.c: Likewise.
22485 * util/mkisofs/write.c: Likewise.
22486 * video/efi_gop.c: Likewise.
22487
009ec743
VS
224882009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
22489
22490 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
22491 size counting.
22492
0ad46fd7 224932009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
22494
22495 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
22496 * genmk.rb (class SCRIPT): Modify the target file instead of source.
22497
d3d30ea0
VS
224982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
22501 (GRUB_MOD_INIT(memrw)): Update help line.
22502
a34f5c70
VS
225032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22504
22505 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
22506 Use grub_extcmd_t. All users updated.
22507 (options): New variable.
22508 (grub_cmd_read): Restructure for readability. Support "-v" option.
22509 (grub_cmd_write): Restructure for readability.
22510
0ad46fd7 225112009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
22512
22513 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
22514
0ad46fd7 225152009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
22516
22517 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
22518 with the actual contents of the correspondending make variable.
22519 * util/grub-mkrescue.in (pkglib_DATA): New variable.
22520 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
22521 specifying `*.lst' and `efiemu??.o'
22522
0ad46fd7 225232009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
22524
22525 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
22526 after function name.
22527 Noticed by Rene Engelhard <rene@debian.org>.
22528
dc77a799
VS
225292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22530
22531 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
22532 (options): New variable.
22533 (iospace): Likewise.
22534 (grub_lspci_iter): List IO spaces if "-i" was given.
22535 (grub_cmd_lspci): Parse options.
22536 (GRUB_MOD_INIT(lspci)): Use extcmd.
22537 (GRUB_MOD_FINI(lspci)): Likewise.
22538
0ad46fd7 225392009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
22540
22541 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
22542 `function' keyword.
22543 Patch by Tony Mancill <tmancill@debian.org>.
22544
b5d5993b
VS
225452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
22546
22547 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
22548 (grub_uhci_portstatus): Likewise.
22549 (grub_uhci_portstatus): Add necessary delay.
11d18281 22550 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 22551
941903f2 225522009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 22553
941903f2 22554 * commands/acpi.c (options): Fix capitalizations and/or full stops.
22555 (GRUB_MOD_INIT): Likewise.
22556 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 22557 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
22558 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 22559 * commands/efi/loadbios.c (enable_rom_area): Likewise.
22560 (enable_rom_area): Likewise.
22561 (GRUB_MOD_INIT): Likewise.
22562 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22563 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
22564 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22565 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
22566 * commands/hexdump.c (options): Likewise.
22567 * commands/i386/cpuid.c (options): Likewise.
22568 (GRUB_MOD_INIT): Likewise.
22569 * commands/i386/pc/drivemap.c (options): Likewise.
22570 (GRUB_MOD_INIT): Likewise.
22571 * commands/i386/pc/halt (options): Likewise.
22572 (GRUB_MOD_INIT): Likewise.
22573 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
22574 * commands/i386/pc/pxecmd.c (options): Likewise.
22575 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
22576 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
22577 * commands/keystatus.c (options): Likewise.
22578 (GRUB_MOD_INIT): Likewise.
22579 * commands/loadenv.c (options): Likewise.
22580 * commands/ls.c (options): Likewise.
22581 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
22582 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
22583 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
22584 * commands/parttool.c (helpmsg): Likewise.
22585 * commands/probe.c (options): Likewise.
22586 * commands/read.c (GRUB_MOD_INIT): Likewise.
22587 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
22588 * commands/search.c (options): Likewise.
22589 * commands/sleep.c (options): Likewise.
22590 * commands/test.c (GRUB_MOD_INIT): Likewise.
22591 * commands/true.c (GRUB_MOD_INIT): Likewise.
22592 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
22593 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
22594 * lib/arg.c (help_options): Likewise.
e9bbb4e7 22595 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
22596 `$(XGETTEXT)'.
98a50553 22597 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 22598
0ad46fd7 225992009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 22600
ef3c2c3a 22601 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
22602 instead of specifying them explicit.
22603
7922f68b
RM
226042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22605
22606 * NEWS: Add grub-probe support for GNU/Hurd.
22607
537ce47f
RM
226082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22609
22610 * NEWS: gettext was added after 1.97.
22611
9b214e3a
RM
226122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22613
22614 * util/mkisofs/msdos_partition.h: New file (based on
22615 include/grub/msdos_partition.h).
22616 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
22617 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
22618 (ld_options, main): Recognize --protective-msdos-label.
22619 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
22620 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
22621 (padblock_write): If `use_protective_msdos_label' is set, patch a
22622 protective DOS-style label in the output image.
22623
22624 * util/grub-mkrescue.in: Use --protective-msdos-label.
22625
e9309813
RM
226262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22627
22628 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
22629 boot.
22630
0ae56929
RM
226312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22632
22633 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22634 variables.
22635 (ld_options, main): Recognize `--embedded-boot'.
22636 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22637 declarations.
22638 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22639 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22640 (padblock_write): Likewise. Rewrite to support embedded boot image.
22641
22642 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22643 for BIOS-based disk boot instead of only ElTorito.
22644
b15937b1
RM
226452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22646
22647 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22648 build (not needed for bootstrap).
22649
52cc3ce0
RM
226502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22651
22652 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22653 from i386-pc build (not needed for bootstrap).
22654 Rewrite a pair of strings.
22655
36f5ff04
RM
226562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22657
22658 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22659
973c6c85 226602009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22661
22662 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22663
05d21547
AB
226642009-12-21 Andreas Born <futur.andy@googlemail.com>
22665
22666 * kern/env.c (grub_env_context_open): Mark exported variable for
22667 reexport.
22668
0175d51f
AB
226692009-12-21 Andreas Born <futur.andy@googlemail.com>
22670
22671 * kern/env.c (grub_env_export): Create nonexistent variables before
22672 exporting.
22673
7f39d92f 226742009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22675
7f39d92f 22676 * include/grub/auth.h: Include `<grub/i18n.h>'.
22677 (GRUB_GET_PASSWORD): Gettextizze string.
22678 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22679 menu_text.c.
22680 (grub_utf8_to_ucs4_alloc): Fix indentation.
22681 (grub_print_ucs4): Likewise.
22682 (grub_getstringwidth): Likewise.
22683 (print_message_indented): New declaration.
22684 * normal/auth.c: Include `<grub/i18n.h>'.
22685 (grub_auth_check_authentication): Gettexttize string.
22686 * normal/cmdline.c: Include `<grub/i18n.h>'.
22687 (grub_cmdline_get): Gettextizze.
22688 * normal/color.c: Include `<grub/i18n.h>'.
22689 (grub_parse_color_name_pair): Gettexttize strings.
22690 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22691 string (use `print_message_indented').
22692 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22693 `include/grub/normal.h'.
22694 (print_message_indented): Renamed to ...
22695 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22696 used in normal/main.c).
22697 (print_message): Use `grub_print_message_indented' instead of
22698 `print_message_indented'.
22699 (print_timeout): Likewise.
22700 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22701 (grub_normal_print_device_info): Gettexttize strings.
22702 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22703
3041d898
VS
227042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22707 of arguments. Return number of tokens and not arguments. All users
22708 updated.
22709
de15bf8e
VS
227102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22711
22712 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22713 non-MSDOS paritions.
22714
e0a6ca52
VS
227152009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22716
22717 * include/grub/types.h (UNUSED): Removed since it conflicts with
22718 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22719 Reported by Grégoire Sutre.
22720
b99518d1 227212009-12-19 Carles Pina i Estany <carles@pina.cat>
22722
22723 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22724 (grub_print_ucs4_alloc): Likewise.
22725 (grub_getstringwidth): Likewise.
22726 * normal/main.c (grub_normal_init_page): Gettextize version string.
22727 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22728 (getstringwidth): Renamed to ...
22729 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22730 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22731 (grub_print_ucs4): Remove `static' qualifer (now used in
22732 normal/main.c).
22733 * po/POTFILES: Add normal/main.c.
22734
bfd5e52b 227352009-12-19 Carles Pina i Estany <carles@pina.cat>
22736
22737 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22738 (print_message_indented): Add `margin_left' and `margin_right'
22739 parameters.
22740 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22741 strings.
22742 (print_timeout): Use `print_message_indented' to print the message.
22743 Deletes `second_stage' parameter.
22744 (run_menu): Update `print_timeout' calls.
22745
5a1ad2b9
VS
227462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 Fix console palette on OpenFirmware.
22749
22750 * term/ieee1275/ofconsole.c (MAX): Removed.
22751 (colors): Redone based on VGA palette.
22752 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22753 colors are supported.
22754 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22755
b045f00a
VS
227562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 Fix potential EfiEmu double prepare.
22759
22760 * efiemu/main.c (prepared): New variable
22761 (grub_efiemu_unload): Set prepare to '0'.
22762 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22763
22764 set_virtual_address_map support.
22765
22766 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22767 prototype.
22768 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22769 prototype.
22770 (grub_efiemu_crc32): Likewise.
22771 (grub_efiemu_crc64): Likewise.
22772 (grub_efiemu_set_virtual_address_map): Likewise.
22773 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22774 New definition.
22775 (grub_autoefi_set_virtual_address_map): Likewise.
22776 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22777 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22778 Restructure flow to accomodate it.
22779 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22780 (grub_efiemu_crc): Recompute CRC32.
22781 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22782 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22783 * efiemu/symbols.c (relocated_handle): New variable.
22784 (grub_efiemu_free_syms): Free relocated_handle.
22785 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22786 (grub_efiemu_write_sym_markers): New function.
22787 (grub_efiemu_set_virtual_address_map): Likewise.
22788
22789 Newer XNU parameters.
22790
22791 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22792 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22793 (grub_xnu_fill_devicetree): New prototype.
22794 (grub_xnu_heap_real_start): New variable.
22795 * loader/xnu.c (get_name_ptr): New function.
22796 (grub_xnu_load_driver): Fill namelen and name.
22797
22798 64-bit xnu support.
22799
22800 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22801 and 'loader/macho64.c'.
22802 * conf/i386-pc.rmk: Likewise.
22803 * conf/x86_64-efi.rmk: Likewise.
22804 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22805 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22806 * include/grub/macho.h (grub_macho_segment64): New structure.
22807 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22808 (grub_macho_size32): ... to this.
22809 (grub_macho32_get_entry_point): Renamed from ...
22810 (grub_macho_get_entry_point32): ... to this.
22811 (grub_macho_contains_macho64): New prototype.
22812 (grub_macho_size64): Likewise.
22813 (grub_macho_get_entry_point64): Likewise.
22814 (grub_macho32_load): Renamed from ...
22815 (grub_macho_load32): ... to this.
22816 (grub_macho32_filesize): Renamed from ...
22817 (grub_macho_filesize32): ... to this.
22818 (grub_macho32_readfile): Renamed from ...
22819 (grub_macho_readfile32): ... to this.
22820 (grub_macho_filesize64): New prototype.
22821 (grub_macho_readfile64): Likewise.
22822 (grub_macho_parse32): Likewise.
22823 (grub_macho_parse64): Likewise.
22824 * loader/macho.c: Split into ...
22825 * loader/machoXX.c: ... and this. Replace 32 with XX.
22826 * loader/macho32.c: New file.
22827 * loader/macho64.c: Likewise.
22828 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22829 (grub_cmd_xnu_kernel): Make 32-bit only.
22830 (grub_cmd_xnu_kernel64): New function.
22831 (grub_xnu_load_driver): Support Mach-O 64.
22832 (grub_cmd_xnu_mkext): Likewise.
22833 * util/grub.d/30_os-prober.in (osx_entry): New function.
22834 Generate entries for 64-bit boot too.
22835
22836 Eliminate ad-hoc tree format in XNU and EfiEmu.
22837
22838 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22839 * efiemu/pnvram.c: Rewritten to use environment variables.
22840 All users updated.
22841
22842 Inline utf16_to_utf8.
22843
22844 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22845 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22846 All users updated.
22847 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22848
22849 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22850 * commands/usbtest.c (grub_usb_get_string): ... move here.
22851 (usb_print_str): Fix error handling.
22852 * include/grub/usb.h (grub_usb_get_string): Remove.
22853
22854 UTF-8 to UTF-16 transformation.
22855
22856 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22857 (charset_mod_SOURCES): New variable.
22858 (charset_mod_CFLAGS): Likewise.
22859 (charset_mod_LDFLAGS): Likewise.
22860 * include/grub/utf.h: New file.
22861 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22862
22863 Support for device properties.
22864
22865 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22866 (grub_xnu_devprop_device_header): Likewise.
22867 (grub_xnu_devprop_device_descriptor): Likewise.
22868 (grub_xnu_devprop_add_device): New prototype.
22869 (grub_xnu_devprop_remove_device): Likewise.
22870 (grub_xnu_devprop_remove_property): Likewise.
22871 (grub_xnu_devprop_add_property_utf8): Likewise.
22872 (grub_xnu_devprop_add_property_utf16): Likewise.
22873 (grub_cpu_xnu_init): Likewise.
22874 (grub_cpu_xnu_fini): Likewise.
22875 (grub_cpu_xnu_unload): Likewise.
22876 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22877 (property_descriptor): Likewise.
22878 (devices): New variable.
22879 (grub_xnu_devprop_remove_property): New function.
22880 (grub_xnu_devprop_add_device): Likewise.
22881 (grub_xnu_devprop_remove_device): Likewise.
22882 (grub_xnu_devprop_add_property): Likewise.
22883 (grub_xnu_devprop_add_property_utf8): Likewise.
22884 (grub_xnu_devprop_add_property_utf16): Likewise.
22885 (hextoval): Likewise.
22886 (grub_cpu_xnu_fill_devprop): Likewise.
22887 (grub_cmd_devprop_load): Likewise.
22888 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22889 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22890 (cmd_devprop_load): New variable.
22891 (grub_cpu_xnu_init): New function.
22892 (grub_cpu_xnu_fini): Likewise.
22893 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22894 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22895 (grub_cmd_xnu_devtree): Likewise.
22896 (hextoval): New function.
22897 (unescape): Likewise.
22898 (grub_xnu_fill_devicetree): Likewise.
22899
22900 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22901 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22902
0945f181
VS
229032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 Workaround for broken ATI VBE.
22906
22907 * video/i386/pc/vbe.c (last_set_mode): New variable.
22908 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22909 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22910 (grub_video_vbe_setup): Don't check for reserved flag.
22911
0ad46fd7 229122009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22913
22914 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22915 the `find' command.
22916
c179ebe4
VS
229172009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 UUID support for HFS.
22920
22921 * fs/hfs.c (grub_hfs_uuid): New function.
22922 (grub_hfs_fs): New value .uuid.
22923 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22924
0ad46fd7 229252009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22926
22927 Fix a segfault with parsing unknown long options.
22928
22929 * util/grub-mkrelpath.c (options): Zero terminate it.
22930
c4a3e41a
CPE
229312009-12-13 Carles Pina i Estany <carles@pina.cat>
22932
22933 * include/grub/misc.h (grub_puts): New declaration.
22934 (grub_puts_): Likewise.
a22008a6 22935 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22936 (grub_puts_): Likewise.
22937
2e8a7602
RM
229382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22939
22940 * util/grub-probe.c (probe): Improve error message.
22941
b50b77b9
RM
229422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22943
22944 * loader/i386/multiboot_elfxx.c
22945 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22946 initialization.
22947
229482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22949
22950 Relocator framework
22951
22952 * loader/i386/xnu_helper.S: Removed. All users updated.
22953 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22954 (relocator_mod_SOURCES): New variable.
22955 (relocator_mod_CFLAGS): Likewise.
22956 (relocator_mod_LDFLAGS): Likewise.
22957 (relocator_mod_ASFLAGS): Likewise.
22958 * conf/x86_64.rmk: Likewise.
22959 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22960 (grub_multiboot_payload_entry_offset): Likewise.
22961 (grub_multiboot_forward_relocator): Likewise.
22962 (grub_multiboot_forward_relocator_end): Likewise.
22963 (grub_multiboot_backward_relocator): Likewise.
22964 (grub_multiboot_backward_relocator_end): Likewise.
22965 (grub_multiboot_payload_eip): New variable.
22966 (grub_multiboot_payload_orig): Likewise.
22967 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22968 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22969 * include/grub/i386/memory.h
22970 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22971 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22972 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22973 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22974 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22975 * include/grub/i386/relocator.h: New file.
22976 * include/grub/x86_64/relocator.h: Likewise.
22977 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22978 (XNU_RELOCATOR): New macro.
22979 (grub_xnu_launcher_start): Remove.
22980 (grub_xnu_launcher_end): Likewise.
22981 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22982 (grub_xnu_heap_real_start): Remove.
22983 (grub_xnu_heap_start): Change to void *. All users updated.
22984 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22985 * lib/i386/relocator.c: New file.
22986 * lib/i386/relocator_asm.S: Likewise.
22987 * lib/i386/relocator_backward.S: Likewise.
22988 * lib/mips/relocator.c: Likewise.
22989 * lib/mips/relocator_asm.S: Likewise.
22990 * lib/relocator.c: Likewise.
22991 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22992 (entry): Removed.
22993 (playground): Likewise.
22994 (grub_multiboot_payload_orig): New variable.
22995 (grub_multiboot_payload_dest): Likewise.
22996 (grub_multiboot_payload_size): Likewise.
22997 (grub_multiboot_payload_eip): Likewise.
22998 (grub_multiboot_payload_esp): Likewise.
22999 (grub_multiboot_boot): Use grub_relocator32_boot.
23000 (grub_multiboot_unload): Free relocators.
23001 (grub_multiboot): Setup stack. Use relocators.
23002 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23003 (grub_multiboot_load_elfXX): Use relocators.
23004 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23005 (grub_multiboot_payload_size): Likewise.
23006 (grub_multiboot_payload_dest): Likewise.
23007 (grub_multiboot_payload_entry_offset): Likewise.
23008 (grub_multiboot_forward_relocator): Likewise.
23009 (grub_multiboot_backward_relocator): Likewise.
23010 (grub_multiboot_real_boot): Likewise.
23011 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23012 (grub_xnu_entry_point): Likewise.
23013 (grub_xnu_arg1): Likewise.
23014 (grub_xnu_stack): Likewise.
23015 (grub_xnu_launch): Removed.
23016 (grub_xnu_boot_resume): New function.
23017 (grub_xnu_boot): Use relocators.
23018 * loader/i386/xnu_helper.S: Removed.
23019 * loader/xnu.c (grub_xnu_heap_start): New variable.
23020 (grub_xnu_heap_size): Likewise.
23021 (grub_xnu_heap_malloc): Use relocators.
23022 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23023
29eb90c6
VS
230242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23025
23026 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23027 anything.
23028
31027430
CPE
230292009-12-13 Carles Pina i Estany <carles@pina.cat>
23030
23031 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23032 GRUB_ERR_NONE before calling grub_env_set.
23033
dc0c71d9
RM
230342009-12-12 Robert Millan <rmh@aybabtu.com>
23035
23036 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23037 * genmk.rb (video): New variable.
23038 (CLEANFILES, VIDEOFILES): Add #{video}.
23039 (#{video}): New target rule.
23040 * genvideolist.sh: New file.
23041 * Makefile.in (pkglib_DATA): Add video.lst.
23042 (video.lst): New target rule.
23043 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23044 `video.lst'.
23045 * util/grub.d/30_os-prober.in: Replace `vbe' with
23046 ${GRUB_VIDEO_BACKEND}.
23047
2a4bfcf0
RM
230482009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23049
23050 * THANKS: Add David Miller.
23051
2a3aa4d5
RM
230522009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 libpciaccess support.
23055
23056 * Makefile.in (LIBPCIACCESS): New variable.
23057 (enable_grub_emu_pci): Likewise.
23058 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23059 util/pci.c and commands/lspci.c.
23060 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23061 * configure.ac (grub-emu-pci): New option.
23062 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23063 (grub_pci_device_unmap_range): Likewise.
23064 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23065 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23066 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23067 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23068 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23069 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23070 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23071 * include/grub/pciutils.h: New file.
23072 * util/pci.c: Likewise.
23073
0ad46fd7 230742009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23075
23076 * util/misc.c: Don't include <errno.h> twice.
23077
0ad46fd7 230782009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23079
23080 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23081 name in an error message.
23082 (grub_biosdisk_rw): Likewise.
23083
2e59983c
VS
230842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 Eliminate NTFS 4Gib barrier.
23087
23088 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23089 (read_run_data): Likewise.
23090 (grub_ntfs_read_run_list): Likewise.
23091 (grub_ntfs_read_block): Likewise.
23092 (grub_ntfs_iterate_dir): Likewise.
23093 (read_mft): Likewise.
23094 (read_data): Likewise.
23095 Use COM_LOG_LEN.
23096 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23097 to avoid 64-bit division
23098 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23099 (grub_ntfs_rlst): Use grub_disk_addr_t.
23100
71ee178a
VS
231012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 Eliminate grub-fstest 4Gib barrier.
23104
23105 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23106 (read_file): Fix error reporting.
23107
2520d4b8
VS
231082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23109
23110 Eliminate hexdump 4Gib barrier.
23111
23112 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23113 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23114
e1f27065
VS
231152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23118 Fixes amarsh bug.
23119
1a0f7f45
RM
231202009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23121
23122 Remove miscellaneous files in distclean target.
23123
23124 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23125
c631d9fb
CW
231262009-12-09 Colin Watson <cjwatson@ubuntu.com>
23127
23128 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23129 if they're already set. This resolves the conflict between my
23130 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
23131 fixing the --grub-probe option again.
23132 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
23133 change on 2009-10-06, so that we now once again source
23134 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23135
7c7b6106
RM
231362009-12-08 Robert Millan <rmh.grub@aybabtu.com>
23137
23138 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
23139 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
23140 `util/devicemap.c'.
23141
e3069ec1
CPE
231422009-12-08 Carles Pina i Estany <carles@pina.cat>
23143
23144 * include/grub/misc.h (grub_printf_): New declaration.
23145 * kern/misc.c (grub_printf_): New definition.
23146 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
23147 instead of `grub_printf' and `_'.
23148 * normal/menu_entry.c (store_completion): Likewise.
23149 (run): Likewise.
23150 (grub_menu_entry_run): Likewise.
23151 * normal/menu_text.c (grub_wait_after_message): Likewise.
23152 (notify_booting): Likewise.
23153 (notify_fallback): Likewise.
23154 (notify_execution_failure): Likewise.
23155
d6ceebf1
CW
231562009-12-07 Colin Watson <cjwatson@ubuntu.com>
23157
23158 * configure.ac: Check for vasprintf.
23159 * util/misc.c (asprintf): Move allocation from here ...
23160 (vasprintf): ... to here. New function.
23161 (xasprintf): New function.
23162 * include/grub/util/misc.h (vasprintf, xasprintf): Add
23163 prototypes.
23164 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
23165 * util/grub-mkfont.c (write_font): Likewise.
23166 * util/grub-probe.c (probe): Likewise.
23167 * util/hostdisk.c (make_device_name): Likewise.
23168
de6daa8b
DM
231692009-12-06 David S. Miller <davem@sunset.davemloft.net>
23170
23171 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
23172 anything even prefixed with 'cdrom' as a cdrom.
23173
0ad46fd7 231742009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
23175
23176 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
23177 mount points.
23178
98d3dc02
CPE
231792009-12-05 Carles Pina i Estany <carles@pina.cat>
23180
23181 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
23182 grub_gettext_msg_list.
23183 (grub_gettext_gettranslation_from_position): Return const char *
23184 and not char *.
a2c1332b 23185 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
23186 returns from the list if existing there.
23187 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
23188 (grub_gettext_delete_list): Delete the list.
23189 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
23190 lang environment variable is changed.
23191 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
23192
b283f108
VS
231932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 Rename kernel.mod to kernel.img.
23196
23197 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
23198 (kernel_mod_EXPORTS): Rename to ...
23199 (kernel_img_EXPORTS): ... this.
23200 (kernel_mod_SOURCES): Rename to ...
23201 (kernel_img_SOURCES): ... this.
23202 (kernel_mod_HEADERS): Rename to ...
23203 (kernel_img_HEADERS): ... this. All users updated.
23204 (kernel_mod_CFLAGS): Rename to ...
23205 (kernel_img_CFLAGS): ... this.
23206 (kernel_mod_ASFLAGS): Rename to ...
23207 (kernel_img_ASFLAGS): ... this.
23208 (kernel_mod_LDFLAGS): Rename to ...
23209 (kernel_img_LDFLAGS): ... this.
23210 * conf/x86_64-efi.rmk: Likewise.
23211 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
23212 (read_kernel_image): ... this. All users updated.
23213 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
23214
69055f8a
CPE
232152009-12-05 Carles Pina i Estany <carles@pina.cat>
23216
23217 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
23218 (print_spaces): New function.
23219 (grub_print_ucs4): New function.
23220 (getstringwidth): New function.
23221 (print_message_indented): New function.
23222 (print_message): Gettexttize strings using print_message_indented.
23223 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
23224 width.
23225 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 23226 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
23227 Gettextize.
23228 * normal/menu_entry.c (store_completion): Cleanup the gettextized
23229 string.
23230 (run): Likewise.
23231 (grub_menu_entry_run): Likewise.
23232 * PO/POTFILES: Add normal/menu_entry.c.
23233
f616f51c
VS
232342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
23235
23236 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
23237
57bbe3be
CPE
232382009-12-05 Carles Pina i Estany <carles@pina.cat>
23239
23240 * util/grub-install.in: Install gettext .mo files.
23241 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
23242
013d67a1
CPE
232432009-12-05 Carles Pina i Estany <carles@pina.cat>
23244
23245 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
23246 grub_dprintf.
23247
fb954db0
RM
232482009-12-05 Robert Millan <rmh.grub@aybabtu.com>
23249
23250 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
23251 non-firmware-dependant one in realmode.S takes precedence.
23252
6b8474f8
RM
232532009-12-04 Robert Millan <rmh.grub@aybabtu.com>
23254
23255 * commands/halt.c: Replace misc arch-specific headers with
23256 `<grub/misc.h>'.
23257 * commands/reboot.c: Likewise.
23258 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
23259 `<grub/misc.h>'.
23260 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
23261 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
23262 (kernel_img_SOURCES): ... to here.
23263
23264 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
23265 * include/grub/i386/pc/init.h: Likewise.
23266 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23267 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23268
23269 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
23270
23271 * include/grub/i386/halt.h: Remove.
23272 * include/grub/i386/reboot.h: Likewise.
23273
23274 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
23275
4b2e6ca2
DM
232762009-12-03 David S. Miller <davem@sunset.davemloft.net>
23277
23278 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
23279 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
23280 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
23281 "progname.h"
23282 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23283 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23284 (usage): Add missing comma in printf.
23285
5239348f
RM
232862009-12-02 Robert Millan <rmh.grub@aybabtu.com>
23287
23288 Use the same reboot approach on i386 coreboot and qemu as we do on
23289 BIOS.
23290
23291 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
23292 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
23293 * kern/i386/reboot.c: Remove.
23294 * include/grub/i386/reboot.h (grub_reboot): Export function.
23295 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
23296 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
23297 0xf000:0xfff0 instead of 0xffff:0x0000.
23298 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
23299 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
23300
ef34cbd4
RM
233012009-11-30 Robert Millan <rmh.grub@aybabtu.com>
23302
23303 Fix $srcdir != $objdir build.
23304
23305 * Makefile.in (po/%.po): Rewrite as ...
23306 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
23307
dc9837ea
ST
233082009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
23309
23310 Fix GNU/Hurd grub-install crash.
23311 * util/grub-probe.c (probe): Try to access `path' only when it is not
23312 NULL.
23313
2f857f98
VS
233142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 Correct module naming.
23317
23318 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23319 (GRUB_MOD_INIT(efi_uga)): ... to this
23320 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23321 (GRUB_MOD_FINI(efi_uga)): ... to this
23322 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
23323 (GRUB_MOD_INIT(efi_gop)): ... to this
23324 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
23325 (GRUB_MOD_FINI(efi_gop)): ... to this
23326
c5448046
RM
233272009-11-28 Robert Millan <rmh.grub@aybabtu.com>
23328
23329 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
23330 translatable.
23331 (usage): Translate `arg' strings using gettext().
23332 Thanks to Jordi Mallach for the suggestion.
23333
c85184ad
VS
233342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 GOP support. Based on patch from Bean
23337 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23338
23339 * video/efi_gop.c: New file.
23340 * include/grub/efi/graphics_output.h: Likewise.
23341 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
23342 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23343 variables.
23344 * conf/x86_64-efi.rmk: Likewise.
23345
8a4c48d8
VS
233462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
23347
23348 Rename efi_fb to efi_uga.
23349
23350 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23351 'efi_uga.mod'.
23352 (efi_fb_mod_SOURCES): Rename this ...
23353 (efi_uga_mod_SOURCES): ... to this.
23354 (efi_fb_mod_CFLAGS): Rename this ...
23355 (efi_uga_mod_CFLAGS): ... to this.
23356 (efi_fb_mod_LDFLAGS): Rename this ...
23357 (efi_uga_mod_LDFLAGS): ... to this.
23358 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
23359 'efi_uga.mod'.
23360 (efi_fb_mod_SOURCES): Rename this ...
23361 (efi_uga_mod_SOURCES): ... to this.
23362 (efi_fb_mod_CFLAGS): Rename this ...
23363 (efi_uga_mod_CFLAGS): ... to this.
23364 (efi_fb_mod_LDFLAGS): Rename this ...
23365 (efi_uga_mod_LDFLAGS): ... to this.
23366 * video/efi_fb.c: Move this ...
23367 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
23368
fb6c1a7b
RM
233692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23370
23371 * po/README: New file. Explain our PO file workflow.
23372
3bc7896c
RM
233732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23374
23375 * po/ChangeLog: Remove. Move relevant entries back to ...
23376 * ChangeLog: ... here.
23377 * po/ca.po: Remove (now handled by TLP).
23378 * po/id.po: Likewise.
23379 * po/zh_CN.po: Likewise.
23380 * Makefile.in (LINGUAS): Initialize in a way that supports
23381 empty set.
23382
9ed4841d
RM
233832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
23384
23385 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
23386 reliing on po/LINGUAS.
23387 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
23388 (po/%.po): ... this.
23389
0ad46fd7 233902009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
23391
23392 * util/i386/efi/grub-mkimage.c: Include "progname.h".
23393 (main): Use `program_name' instead of nonexistent `progname'.
23394
e30dd392
FZ
233952009-11-26 Felix Zielcke <fzielcke@z-51.de>
23396
23397 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23398 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
23399
7656de4f
RM
234002009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23401
23402 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
23403 commit.
23404 * conf/i386-efi.rmk: Likewise.
23405 * conf/i386-ieee1275.rmk: Likewise.
23406 * conf/powerpc-ieee1275.rmk: Likewise.
23407 * conf/sparc64-ieee1275.rmk: Likewise.
23408 * conf/x86_64-efi.rmk: Likewise.
23409
db77c4d4
FZ
234102009-11-26 Felix Zielcke <fzielcke@z-51.de>
23411
23412 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
23413
a755bb04
FZ
234142009-11-26 Felix Zielcke <fzielcke@z-51.de>
23415
23416 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
23417
8a4c07fd
RM
234182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
23419
23420 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
23421 (grub_mkdevicemap_SOURCES): New variable.
23422 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
23423 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
23424 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
23425 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
23426 (grub_mkdevicemap_SOURCES): Remove.
23427 * conf/i386-efi.rmk: Likewise.
23428 * conf/i386-ieee1275.rmk: Likewise.
23429 * conf/i386-pc.rmk: Likewise.
23430 * conf/powerpc-ieee1275.rmk: Likewise.
23431 * conf/sparc64-ieee1275.rmk: Likewise.
23432 * conf/x86_64-efi.rmk: Likewise.
23433 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
23434 (usage): Fix strings to use `program_name'.
23435 (main): Initialize gettext.
23436 * util/grub-editenv.c: Likewise.
23437 * util/grub-emu.c: Likewise.
23438 * util/grub-fstest.c: Likewise.
23439 * util/grub-mkdevicemap.c: Likewise.
23440 * util/grub-mkfont.c: Likewise.
23441 * util/grub-mkrelpath.c: Likewise.
23442 * util/grub-pe2elf.c: Likewise.
23443 * util/grub-probe.c: Likewise.
23444 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23445 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
23446 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23447
23448 * util/misc.c: Include `"progname.h"'.
23449 (progname): Remove variable.
23450 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
23451
6f61ed55
FZ
234522009-11-25 Felix Zielcke <fzielcke@z-51.de>
23453
23454 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
23455 printf and print a newline after the menuentry header line.
23456 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23457
f022876b
FZ
234582009-11-25 Felix Zielcke <fzielcke@z-51.de>
23459
23460 autoconf >= 2.60 support $(localedir).
23461
23462 * INSTALL: Note that autoconf 2.60 is required.
23463 * configure.ac (AC_PREREQ): Bump to 2.60.
23464 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
23465 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23466
6717926e
YB
234672009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
23468
23469 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
23470 aclocal is run.
23471
08806a54
RM
234722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23473
23474 * normal/main.c (grub_normal_read_line): Fix off-by-one
23475 buffer overflow.
23476
13b33fba
RM
234772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
23478
23479 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
23480 "parser.grub" in grub_command_execute() call.
23481
4a8572e9
CPE
234822009-11-24 Carles Pina i Estany <carles@pina.cat>
23483
23484 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
23485 * conf/i386-efi.rmk: Likewise.
23486 * conf/i386-ieee1275.rmk: Likewise.
23487 * conf/i386-pc.rmk: Likewise.
23488 * conf/powerpc-ieee1275.rmk: Likewise.
23489 * conf/sparc64-ieee1275.rmk: Likewise.
23490 * conf/x86_64-efi.rmk: Likewise.
23491 * gettext/gettex.c: Include <grub/i18n.h>.
23492 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
23493 here ...
23494 * include/grub/i18n.h: ... to here
23495 * include/grub/i18n.h: ... to here.
23496 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 23497 (grub_gettext_dummy): Move above user.
4a8572e9 23498
bee48093
FZ
234992009-11-24 Felix Zielcke <fzielcke@z-51.de>
23500
23501 * util/Makefile.in (install-local): Convert a `for' into a normal
23502 shell expansion.
23503
a031e91c
RM
235042009-11-24 Robert Millan <rmh.grub@aybabtu.com>
23505
23506 * autogen.sh: Add automake call.
23507 * config.guess: Remove.
23508 * config.sub: Likewise.
23509 * install-sh: Likewise.
23510
26bec39d
FZ
235112009-11-24 Felix Zielcke <fzielcke@z-51.de>
23512
23513 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
23514
8e2532fd
FZ
235152009-11-24 Felix Zielcke <fzielcke@z-51.de>
23516
23517 * util/Makefile.in (install-local): Convert a make `$(foreach)'
23518 function to a normal shell `for'.
23519
fefa1b7d
FZ
235202009-11-24 Felix Zielcke <fzielcke@z-51.de>
23521
23522 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23523
4501250b
FZ
235242009-11-24 Felix Zielcke <fzielcke@z-51.de>
23525
23526 * util/grub-mkrelpath.c: New file.
23527 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
23528 (grub_mkrelpath_SOURCES): New variable.
23529 * include/grub/util/misc.h: New function prototype.
23530 * util/misc.c (make_system_path_relative_to_its_root): New function.
23531
23532 * util/grub-mkconfig_lib.in (bindir): New variable.
23533 (grub_mkrelpath): Likewise.
23534 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
23535
23536 * util/probe.c (probe): Make the file path relative to its root.
23537 Change a info message to use the GRUB path. Enable again the
23538 check if we can read the file with GRUB facilities.
23539
23540 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
23541 to its root.
23542
11d9778b
FZ
235432009-11-24 Felix Zielcke <fzielcke@z-51.de>
23544
23545 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
23546 platform.
23547
4465287d
FZ
235482009-11-24 Felix Zielcke <fzielcke@z-51.de>
23549
23550 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
23551 strncmp().
23552
62b47f22
FZ
235532009-11-24 Felix Zielcke <fzielcke@z-51.de>
23554
23555 * util/getroot.c (grub_util_is_dmraid): New function.
23556 (grub_util_get_dev_abstraction): Treat dmraid and multipath
23557 devices as normal ones, not as LVM.
23558
1eafb9b9 235592009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
23560
23561 * conf/common.rmk: Add grub-gettext_lib target and updates
23562 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
23563 LDFLAGS.
23564 * gettext/gettext.c: New file. (Reads mo files).
23565 * include/grub/file.h (grub_file_pread): New prototype.
23566 * include/grub/i18n.h (_): New prototype.
23567 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
23568 prototypes.
23569 * kern/misc.c (grub_gettext_dummy): New function.
23570 * normal/menu_text.c: Include <grub/i18n.h>.
23571 * normal/menu_text.c (print_timeout): Gettexttize string.
23572 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
23573 * po/POTFILES: Add `normal/menu_text.c'.
23574 * po/ca.po: Add new translations.
c3ea6bd4
CPE
23575 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
23576 gettext module and defines locale_dir and lang in grub.cfg.
23577 * NEWS: Add gettext support.
23578
0fdb2568
RM
235792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23580
23581 * util/hostdisk.c: Include `<grub/i18n.h>'.
23582 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
23583 (make_device_name): Rewrite using asprintf.
23584 (convert_system_partition_to_system_disk): Replace 0 with NULL.
23585 (find_system_device): If a device is not found, generate one just
23586 by reusing the OS path name.
23587 (read_device_map): Make it permissible for device.map not to exist.
23588
f515aa62
RM
235892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23590
23591 * script/sh/execute.c: Move from here ...
23592 * script/execute.c: ... to here. Update all users.
23593 * script/sh/function.c: Move from here ...
23594 * script/function.c: ... to here. Update all users.
23595 * script/sh/lexer.c: Move from here ...
23596 * script/lexer.c: ... to here. Update all users.
23597 * script/sh/main.c: Move from here ...
23598 * script/main.c: ... to here. Update all users.
23599 * script/sh/parser.y: Move from here ...
23600 * script/parser.y: ... to here. Update all users.
23601 * script/sh/script.c: Move from here ...
23602 * script/script.c: ... to here. Update all users.
23603
f84b481b
RM
236042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23605
23606 * configure.ac: Detect all `emu' platforms. Define
23607 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
23608 --enable-grub-emu logic. Disable include/grub/machine
23609 symlink on `emu' platforms.
23610
23611 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
23612 * gensymlist.sh.in: Likewise.
23613
23614 * include/grub/i386/coreboot/machine.h: Remove file.
23615 * include/grub/i386/efi/machine.h: Likewise.
23616 * include/grub/i386/ieee1275/machine.h: Likewise.
23617 * include/grub/i386/pc/machine.h: Likewise.
23618 * include/grub/i386/qemu/machine.h: Likewise.
23619 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23620 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23621 * include/grub/x86_64/efi/machine.h: Likewise.
23622
23623 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
23624 * commands/halt.c: Likewise.
23625 * commands/reboot.c: Likewise.
23626 * include/grub/autoefi.h: Likewise.
23627 * include/grub/i386/at_keyboard.h: Likewise.
23628 * include/grub/i386/kernel.h: Likewise.
23629 * include/grub/i386/loader.h: Likewise.
23630 * include/grub/i386/pc/memory.h: Likewise.
23631 * kern/dl.c: Likewise.
23632 * kern/i386/coreboot/init.c: Likewise.
23633 * loader/i386/bsd.c: Likewise.
23634 * loader/i386/linux.c: Likewise.
23635 * loader/multiboot_loader.c: Likewise.
23636 * term/i386/pc/serial.c: Likewise.
23637 * term/usb_keyboard.c: Likewise.
23638
23639 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23640 `<grub/machine/machine.h>'
23641 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23642 * util/misc.c: Remove `<grub/machine/machine.h>' and
23643 `<grub/machine/time.h>'.
23644
23645 * Makefile.in (enable_grub_emu): Remove variable.
23646 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23647
23648 * conf/any-emu.rmk: New file.
23649 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23650 (grub_emu_init.c): Move from here ...
23651 * conf/any-emu.rmk: ... to here.
23652
23653 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23654 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23655 * conf/any-emu.rmk: ... to here.
23656
4efeab03
RM
236572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23658
23659 * include/grub/parser.h (grub_parser_register): Document need
23660 of `name' parameter.
23661 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23662 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23663 "sh" to "grub".
23664
ea1dd8bf
RM
236652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23666
23667 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23668 `$(XGETTEXT)'.
23669 * include/grub/i18n.h (N_): New macro.
23670 * util/mkisofs/mkisofs.h: Likewise.
23671 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23672 around N_().
23673 (usage): Use gettext() to translate help strings when printing them.
23674
0c140626
RM
236752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23676
23677 Based on patch from Bean
23678 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23679
23680 * video/efi_fb.c: New file.
23681 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23682 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23683 variables.
23684 * conf/x86_64-efi.rmk: Likewise.
23685
87d58298
RM
236862009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23687
23688 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23689 * util/i386/pc/grub-setup.c: Likewise.
23690
994cc3a3
ST
236912009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23692
23693 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23694 <hurd/fs.h>
23695 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23696 file_get_storage_info to implement grub_guess_root_device.
23697
26a61d6a
FZ
236982009-11-21 Felix Zielcke <fzielcke@z-51.de>
23699
23700 * Makefile.in (target): Use make's builtin $(shell) function
23701 instead of calling directly $(SHELL) to create the locale directories,
23702 inside the $(foreach) function.
23703
74ff1dd5
FZ
237042009-11-21 Felix Zielcke <fzielcke@z-51.de>
23705
23706 * util/grub-mkrescue.in: Print an error and usage if output option
23707 has not been given.
23708
0b787d0e
FZ
237092009-11-21 Felix Zielcke <fzielcke@z-51.de>
23710
23711 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23712 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23713 root and /boot are on different devices.
23714
1164b270
RM
237152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23716
23717 Fix build for srcdir != objdir.
23718
23719 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23720 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23721 $(srcdir).
23722 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23723 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23724 reference for input.
23725
13774a2f
RM
237262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23727
23728 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23729 or hardlinking it). Remove -J option, Joliet is not compatible with
23730 multiple source directories.
23731
efda854e
RM
237322009-11-21 Carles Pina i Estany <carles@pina.cat>
237332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23734
23735 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23736 (process_input_dir): New function. Process an arbitrary input
23737 directory.
23738 Misc adjustments to support both "override mode" and system-wide mode.
23739
6c09890c
FZ
237402009-11-20 Felix Zielcke <fzielcke@z-51.de>
23741
23742 * configure.ac (UNIFONT_BDF): Rename to ...
23743 (FONT_SOURCE): ... this. Update all users.
23744
a797824f
FZ
237452009-11-20 Felix Zielcke <fzielcke@z-51.de>
23746
23747 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23748 to the list of unifont files to look for.
23749
cd4f42b0
RM
237502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23751
23752 Patch from Joe Auricchio <jauricchio@gmail.com>
23753 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23754 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23755 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23756
393c783d
FZ
237572009-11-19 Felix Zielcke <fzielcke@z-51.de>
23758
23759 * Makefile.in (install-local): Add a missing backslash.
23760
b2f1e327
FZ
237612009-11-19 Felix Zielcke <fzielcke@z-51.de>
23762
23763 * include/grub/x86_64/io.h: New file.
23764
f577f7a0
RM
237652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23766
23767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23768 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23769 Include `"progname.h"'.
23770 (main): Initialize gettext.
23771 * util/i386/pc/grub-setup.c: Gettexttize.
23772 * util/i386/pc/grub-mkimage.c: Likewise.
23773
23774 * Makefile.in (po/*.po): Redefine as ...
23775 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23776
3bc7896c
RM
23777 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23778
c37943b6
RM
237792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23780
23781 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23782 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23783 (program_name): Remove.
23784 (main): Initialize gettext support.
6323f705
RM
23785 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23786 Include `<libintl.h>'.
23787 (_): New macro.
c37943b6
RM
23788
23789 * util/mkisofs/eltorito.c: Gettexttize.
23790 * util/mkisofs/joliet.c: Likewise.
23791 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23792 * util/mkisofs/multi.c: Likewise.
23793 * util/mkisofs/rock.c: Likewise.
23794 * util/mkisofs/tree.c: Likewise.
23795 * util/mkisofs/write.c: Likewise.
23796
3bc7896c
RM
23797 * po/POTFILES: Update with new files.
23798
5ce77c6e
RM
237992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23802 * util/mkisofs/iso9660.h: Likewise.
23803 * util/mkisofs/joliet.c: Likewise.
23804 * util/mkisofs/mkisofs.c: Likewise.
23805 * util/mkisofs/mkisofs.h: Likewise.
23806 * util/mkisofs/rock.c: Likewise.
23807 * util/mkisofs/tree.c: Likewise.
23808 * util/mkisofs/write.c: Likewise.
23809
23810 * util/mkisofs/eltorito.c (rcsid): Remove.
23811 * util/mkisofs/hash.c: Likewise.
23812 * util/mkisofs/joliet.c: Likewise.
23813 * util/mkisofs/name.c: Likewise.
23814 * util/mkisofs/rock.c: Likewise.
23815 * util/mkisofs/tree.c: Likewise.
23816 * util/mkisofs/write.c: Likewise.
23817
1dabbc77
RM
238182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23819
23820 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23821 instead of static allocation.
23822 * util/mkisofs/match.h: Likewise.
23823
633877cb
RM
238242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23825
3bc7896c
RM
23826 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23827 and `util/grub.d/10_linux.in'.
633877cb
RM
23828 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23829 translatable Shell files.
23830
af1c0c85
RM
238312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23832
23833 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23834
769ae37b
RM
238352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23836
23837 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23838 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23839 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23840 Add gettext initialization.
23841 (kfreebsd_entry): Make menuentry output translatable.
23842
238432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23844
23845 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23846 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23847 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23848 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23849 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23850 * po/LINGUAS: New file.
769ae37b
RM
23851
238522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23855 other things).
23856 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23857 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23858 bindtextdomain() calls for gettext initialization.
23859
238602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23861
23862 * gnulib/progname.c: New file (imported from Gnulib).
23863 * gnulib/progname.h: Likewise.
23864 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23865 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23866 (usage): Replace `progname' with `program_name'.
23867 (main): Use set_program_name() for program name initialization.
23868
238692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23870
23871 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23872 from here ...
23873 * Makefile.in (CPPFLAGS): ... to here.
23874
238752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23876
23877 * aclocal.m4: Move from here ...
23878 * acinclude.m4: ... to here.
23879 * autogen.sh: Add call to `aclocal'.
23880 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23881
238822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23883
23884 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23885 (LINGUAS): New variable.
23886 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23887 (install-local): Install MO files.
23888 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23889 * include/grub/i18n.h: New file.
3bc7896c
RM
23890 * po/POTFILES: New file.
23891 * po/ca.po: New file.
769ae37b
RM
23892 * util/grub.d/10_linux.in (bindir): New variable.
23893 Add gettext initialization.
23894 (linux_entry): Make menuentry output translatable.
23895 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23896 (usage): Make --help output translatable.
23897 (main): Initialize gettext.
23898
02c0a6ad
RM
238992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23900
23901 * import_gcry.py: New file (written by Vladimir with minor
23902 adjustments).
23903 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23904 ciphers.
23905 * INSTALL: Document that Python is required for bootstrap.
23906
239072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 Import ciphers from libgcrypt 1.4.4.
23910
23911 * lib/libgcrypt/cipher/ChangeLog
23912 * lib/libgcrypt/cipher/ac.c
23913 * lib/libgcrypt/cipher/arcfour.c
23914 * lib/libgcrypt/cipher/bithelp.h
23915 * lib/libgcrypt/cipher/blowfish.c
23916 * lib/libgcrypt/cipher/camellia-glue.c
23917 * lib/libgcrypt/cipher/camellia.c
23918 * lib/libgcrypt/cipher/camellia.h
23919 * lib/libgcrypt/cipher/cast5.c
23920 * lib/libgcrypt/cipher/cipher.c
23921 * lib/libgcrypt/cipher/crc.c
23922 * lib/libgcrypt/cipher/des.c
23923 * lib/libgcrypt/cipher/dsa.c
23924 * lib/libgcrypt/cipher/ecc.c
23925 * lib/libgcrypt/cipher/elgamal.c
23926 * lib/libgcrypt/cipher/hash-common.c
23927 * lib/libgcrypt/cipher/hash-common.h
23928 * lib/libgcrypt/cipher/hmac-tests.c
23929 * lib/libgcrypt/cipher/md.c
23930 * lib/libgcrypt/cipher/md4.c
23931 * lib/libgcrypt/cipher/md5.c
23932 * lib/libgcrypt/cipher/primegen.c
23933 * lib/libgcrypt/cipher/pubkey.c
23934 * lib/libgcrypt/cipher/rfc2268.c
23935 * lib/libgcrypt/cipher/rijndael-tables.h
23936 * lib/libgcrypt/cipher/rijndael.c
23937 * lib/libgcrypt/cipher/rmd.h
23938 * lib/libgcrypt/cipher/rmd160.c
23939 * lib/libgcrypt/cipher/rsa.c
23940 * lib/libgcrypt/cipher/seed.c
23941 * lib/libgcrypt/cipher/serpent.c
23942 * lib/libgcrypt/cipher/sha1.c
23943 * lib/libgcrypt/cipher/sha256.c
23944 * lib/libgcrypt/cipher/sha512.c
23945 * lib/libgcrypt/cipher/tiger.c
23946 * lib/libgcrypt/cipher/twofish.c
23947 * lib/libgcrypt/cipher/whirlpool.c
23948
af2f93ac
RM
239492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23950
23951 Fix build for systems without error().
23952
23953 * gnulib/error.c: New file (imported from Gnulib).
23954 * gnulib/error.h: Likewise.
23955 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23956 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23957 (this variable is now used by error()).
23958
73fb3dd5
FZ
239592009-11-16 Felix Zielcke <fzielcke@z-51.de>
23960
814f5e96
FZ
23961 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23962 instead of relying that char is signed.
73fb3dd5 23963
a691ca33
VS
239642009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23967 blocksize different from specified.
23968 (grub_pxefs_read): Likewise.
23969
2af8f0f4
FZ
239702009-11-16 Felix Zielcke <fzielcke@z-51.de>
23971
23972 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23973
23974 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23975 (grub_ata_readwrite): Likewise. Update 2 format strings.
23976 (grub_atapi_read): Likewise.
23977
23978 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23979 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23980 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23981 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23982 (ata_mod_LDFLAGS): Move from here ...
23983 * conf/i386.rmk: ... to here ...
23984 * conf/x86_64-efi.rmk: ... and here.
23985 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23986 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23987
83bdecaf
RM
239882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23989
23990 Relicense multiboot.h, with RMS' blessing.
23991
23992 * include/multiboot.h: Change to X11 license.
23993
fd6fd3d7
RM
239942009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23995
23996 Support --version in grub-mkisofs.
23997
23998 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23999 (OPTION_VERSION): New macro.
24000 (ld_options): Recognize --version.
24001 (usage): Move `program_name' from here ...
24002 (program_name): ... to here. Add `static' qualifier.
24003 (main): Recognize `OPTION_VERSION'.
24004
16a88c49
FZ
240052009-11-15 Felix Zielcke <fzielcke@z-51.de>
24006
24007 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24008 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24009
a4158476
RM
240102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24011
24012 Fix help2man generation for mkisofs.
24013
24014 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24015 (usage): Send output to stdout (rather than stderr).
24016
fc2208b0
RM
240172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24018
24019 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24020 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24021 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24022 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24023 (bin_SCRIPTS): Add `grub-mkfloppy'.
24024 (grub_mkfloppy_SOURCES): New variable.
24025
24026 * util/grub-mkrescue.in: New file.
24027 * util/i386/pc/grub-mkfloppy.in: New file.
24028
24029 * util/i386/coreboot/grub-mkrescue.in: Remove.
24030 * util/i386/pc/grub-mkrescue.in: Remove.
24031
8d0edf4a
RM
240322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24033
24034 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24035 from here ...
24036 * include/multiboot.h (struct multiboot_header): ... to here. Update
24037 all users.
24038 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24039 from here ...
24040 * include/multiboot.h (struct multiboot_info): ... to here. Update
24041 all users.
24042 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24043 from here ...
24044 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24045 Update all users.
24046 * include/grub/multiboot.h (struct grub_mod_list): Move
24047 from here ...
24048 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24049 Update all users.
24050
a73f5969
RM
240512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24052
24053 * include/multiboot2.h (multiboot_word): Rename from this ...
24054 (multiboot2_word): ... to this. Update all users.
24055 (multiboot_header): Rename from this ...
24056 (multiboot2_header): ... to this. Update all users.
24057 (multiboot_tag_header): Rename from this ...
24058 (multiboot2_tag_header): ... to this. Update all users.
24059 (multiboot_tag_start): Rename from this ...
24060 (multiboot2_tag_start): ... to this. Update all users.
24061 (multiboot_tag_name): Rename from this ...
24062 (multiboot2_tag_name): ... to this. Update all users.
24063 (multiboot_tag_module): Rename from this ...
24064 (multiboot2_tag_module): ... to this. Update all users.
24065 (multiboot_tag_memory): Rename from this ...
24066 (multiboot2_tag_memory): ... to this. Update all users.
24067 (multiboot_tag_unused): Rename from this ...
24068 (multiboot2_tag_unused): ... to this. Update all users.
24069 (multiboot_tag_end): Rename from this ...
24070 (multiboot2_tag_end): ... to this. Update all users.
24071
1c8927f0
RM
240722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24073
24074 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24075 this platform we should support Multiboot1 first.
24076
24077 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24078 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24079 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24080
6e1e0d89
RM
240812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24084 of write calls (converting them to fwrite() if they aren't already).
24085 (get_torito_desc): Likewise.
24086 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24087
7f2b34d8
RM
240882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24089
24090 * util/i386/pc/grub-install.in: Move from here ...
24091 * util/grub-install.in: ... to here. Update all users.
24092
c0ef3311
CW
240932009-11-11 Colin Watson <cjwatson@ubuntu.com>
24094
24095 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24096
e1f240ff
RM
240972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 Support for El Torito without floppy emulation.
24100
24101 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24102 (init_boot_catalog): Improve error handling.
24103 (get_torito_desc): Don't use floppy emulation unless requested by
24104 user. Patch boot information table when requested via
24105 `-boot-info-table'.
24106 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24107 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24108 (use_boot_info_table): New variables.
24109 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24110 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24111 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24112 `--eltorito-emul-floppy'.
24113 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24114 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24115 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24116 (use_boot_info_table, get_731): New prototypes.
24117 * util/mkisofs/write.c (get_731): New function.
24118
af7d4de5
FZ
241192009-11-11 Felix Zielcke <fzielcke@z-51.de>
24120
24121 Fix the generation of the man page.
24122
24123 * util/pc/i386/grub-install.in: Source
24124 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24125
2c55dbc0
RM
241262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24127
24128 Large file support for grub-mkisofs.
24129
24130 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
24131 * util/mkisofs/mkisofs.c (next_extent, last_extent)
24132 (session_start): Upgrade type to `uint64_t'. Update all users.
24133 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
24134 (struct directory_entry): Upgrade type of `starting_block' and
24135 `size' to `uint64_t'. Update all users.
24136 (struct deferred): Remove unused structure.
24137 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
24138 Update all users.
24139 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
24140 file is larger than `UINT32_MAX'.
24141 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
24142 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
24143 return value.
24144 (struct deferred_write): Upgrade type of `extent' and `size' to
24145 `uint64_t'. Update all users.
24146 (last_extent_written): Upgrade type to `uint64_t'. Update all
24147 users.
24148 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
24149 Update all users. Upgrade type of `remain' to `int64_t' and
24150 `use' to `size_t'. Use error() to handle fread() errors.
24151 (write_files): Rely on write_one_file() rather than calling
24152 xfwrite() directly.
24153
6a9cead5
FZ
241542009-11-09 Felix Zielcke <fzielcke@z-51.de>
24155
24156 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
24157
4825d790
RM
241582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24159
24160 * util/mkisofs/fnmatch.c: Remove.
24161 * util/mkisofs/getopt1.c: Likewise.
24162 * util/mkisofs/getopt.c: Likewise.
24163 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
24164 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
24165 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
24166 `gnulib/getopt1.c' and `gnulib/getopt.c'.
24167 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
24168
24169 * configure.ac: Detect `mingw32msvc' host_os.
24170 Check for lstat(), getuid() and getgid().
24171
24172 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
24173 instances of `u_char' with `uint8_t'.
24174
24175 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
24176 [!HAVE_GETUID] (getuid): New function (stub).
24177 [!HAVE_GETGID] (getgid): Likewise.
24178 [!HAVE_LSTAT] (lstat): Likewise.
24179 [!S_IROTH] (S_IROTH): New macro (dummy).
24180 [!S_IRGRP] (S_IRGRP): Likewise.
24181
84b860d8
RM
241822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24183
24184 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
24185 conditional expression).
24186
66e9b712
RM
241872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24188
24189 Import from Gnulib.
24190
24191 * gnulib/fnmatch.c: New file.
24192 * gnulib/fnmatch.h: Likewise.
24193 * gnulib/fnmatch_loop.c: Likewise.
24194 * gnulib/getopt.c: Likewise.
24195 * gnulib/getopt.h: Likewise.
24196 * gnulib/getopt1.c: Likewise.
24197 * gnulib/getopt_int.h: Likewise.
24198 * gnulib/gettext.h: Likewise.
24199
34f4a5b0
RM
242002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24201
24202 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
24203 * normal/handler.c (read_handler_list): Likewise.
24204
ac451143
RM
242052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24206
24207 Misc cleanup.
24208
24209 * kern/command.c (grub_register_command_prio): Use
24210 grub_zalloc() instead of explicitly zeroing data.
24211 * kern/list.c: Include `<grub/mm.h>'.
24212 (grub_named_list_find): Replace `0' with `NULL'.
24213 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
24214 (fs_module_list): Change type to `grub_named_list_t'. Update all
24215 users.
24216 * normal/dyncmd.c (read_command_list): Add space between function
24217 call and parenthesis.
24218 * normal/handler.c (read_handler_list): Likewise.
24219
4089b167
RM
242202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24221
24222 * normal/auth.c (punishment_delay): Moved from here ...
24223 (grub_auth_strcmp): ... to here (inside function).
24224
325f5037
RM
242252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24226
24227 * include/grub/list.h (struct grub_named_list): Remove `const'
24228 qualifier from `name'.
24229 (struct grub_prio_list): Likewise.
24230
7aea29a3
RM
242312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24232
24233 * normal/auth.c: Include `<grub/time.h>'.
24234 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
24235
3fd6f044
RM
242362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24237
24238 * normal/auth.c (punishment_delay): New variable.
24239 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
24240 (grub_auth_check_authentication): Punish failed login attempts with
24241 an incremental (2^N) delay.
24242
a4cd68e4
RM
242432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24244
24245 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
24246 path with $(srcdir).
24247
7ad12f43
VS
242482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24249
24250 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
24251
c1129f03
RM
242522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
24253
24254 * util/i386/coreboot/grub-mkrescue.in: New file.
24255 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
24256 variables.
24257
24258 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
24259 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
24260 * configure.ac: Add header and function checks to satisfy grub-mkisofs
24261 requirements.
24262 * util/mkisofs/defaults.h: New file.
24263 * util/mkisofs/eltorito.c: Likewise.
24264 * util/mkisofs/exclude.h: Likewise.
24265 * util/mkisofs/fnmatch.c: Likewise.
24266 * util/mkisofs/getopt.c: Likewise.
24267 * util/mkisofs/getopt1.c: Likewise.
24268 * util/mkisofs/hash.c: Likewise.
24269 * util/mkisofs/include/fctldefs.h: Likewise.
24270 * util/mkisofs/include/mconfig.h: Likewise.
24271 * util/mkisofs/include/prototyp.h: Likewise.
24272 * util/mkisofs/include/statdefs.h: Likewise.
24273 * util/mkisofs/iso9660.h: Likewise.
24274 * util/mkisofs/joliet.c: Likewise.
24275 * util/mkisofs/match.c: Likewise.
24276 * util/mkisofs/match.h: Likewise.
24277 * util/mkisofs/mkisofs.c: Likewise.
24278 * util/mkisofs/mkisofs.h: Likewise.
24279 * util/mkisofs/multi.c: Likewise.
24280 * util/mkisofs/name.c: Likewise.
24281 * util/mkisofs/rock.c: Likewise.
24282 * util/mkisofs/tree.c: Likewise.
24283 * util/mkisofs/write.c: Likewise.
24284
ec8bb77d
VS
242852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
24286
24287 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
24288 being insecure.
24289
3716b12c
RM
242902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24291
24292 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
24293 `grub-mkimage' (and use $0 when possible).
24294
b97b7b91
RM
242952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24296
24297 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
24298 error message for excessively large memory map.
24299
04114812
RM
243002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24301
24302 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
24303 executable bit.
24304
e4eb2373
RM
243052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
24306
24307 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
24308 message for coreboot users.
24309
c926e1d5 243102009-11-07 Robert Millan <rmh.grub@aybabtu.com>
24311
24312 Fix build with GNU gold.
24313
24314 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
24315 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
24316 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
24317 link addresses.
24318 * aclocal.m4: Likewise.
24319
86e5b1db 243202009-11-04 Felix Zielcke <fzielcke@z-51.de>
24321
24322 * configure.ac (AC_PREREQ): Bump to 2.59d.
24323 * INSTALL: Make it more clear when Autoconf and Ruby are
24324 needed and when to run `./autogen.sh'.
24325
246cd78f 243262009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
24327
24328 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
24329 OSes.
24330
4f9dfb37 243312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24332
24333 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
24334
b82bd5e1 243352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24336
24337 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
24338 giving it to GNU Mach.
24339
ff1a9bca 243402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24341
24342 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
24343 GNU partition number to get internal GRUB partition number.
24344
61697d9c 243452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
24346
24347 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
24348 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
24349
a50569e1 243502009-11-01 Robert Millan <rmh.grub@aybabtu.com>
24351
24352 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
24353 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
24354 case.
24355
5b153867 243562009-11-01 Felix Zielcke <fzielcke@z-51.de>
24357
24358 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
24359
d9e2cd70 243602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 Fix build problem.
24363
24364 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
24365 `-isystem=$(srcdir)/include'.
24366
805111a4 243672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
24368
24369 * util/i386/pc/grub-install.in: Remove hint that device.map should be
24370 checked (grub-install doesn't currently rely on it).
24371
fa6e945f 243722009-10-29 Robert Millan <rmh.grub@aybabtu.com>
24373
24374 Revert SVN r2660.
24375
24376 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
24377 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24378 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
24379 * conf/i386-ieee1275.rmk: Likewise.
24380 * conf/i386-pc.rmk: Likewise.
24381 * conf/powerpc-ieee1275.rmk: Likewise.
24382 * conf/sparc64-ieee1275.rmk: Likewise.
24383 * conf/x86_64-efi.rmk: Likewise.
24384
cee15086 243852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24386
24387 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
24388
95b9239e 243892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24390
24391 * include/grub/misc.h: Stop checking for APPLE_CC.
24392
2ed19dfd 243932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
24394
24395 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
24396 doesn't cause an infinite call loop.
24397
fdcdde19 243982009-10-28 Felix Zielcke <fzielcke@z-51.de>
24399
24400 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
24401 strings.
24402
cefabfe1 244032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24404
24405 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
24406 variable.
24407 * Makefile.in: Likewise.
24408
ed96ab6d 244092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24410
24411 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
24412
0579b753 244132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24414
24415 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
24416
478df409 244172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24418
24419 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
24420
083d1679 244212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24422
24423 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
24424 from here ...
24425 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
24426
5947ae32 244272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24428
24429 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
24430 in $(MAKEINFO) invocation. This makes it clear in output that
24431 errors are being ignored.
24432
94180ff6 244332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24434
24435 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
24436 from here ...
24437 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
24438 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
24439 * conf/i386-ieee1275.rmk: Likewise.
24440 * conf/i386-pc.rmk: Likewise.
24441 * conf/powerpc-ieee1275.rmk: Likewise.
24442 * conf/sparc64-ieee1275.rmk: Likewise.
24443 * conf/x86_64-efi.rmk: Likewise.
24444
9031b03a 244452009-10-26 Colin Watson <cjwatson@ubuntu.com>
24446
24447 * util/grub-editenv.c (main): If only a command is given, use
24448 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
24449 (usage): FILENAME is now optional and has a default.
24450
e4f6809b 244512009-10-26 Colin Watson <cjwatson@ubuntu.com>
24452
24453 Improve grub-mkconfig performance when there are several menu
24454 entries on a single filesystem.
24455
24456 * util/grub.d/10_linux.in (linux_entry): Cache the output of
24457 prepare_grub_to_access_device.
24458 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24459 * util/grub.d/30_os-prober.in: Likewise.
24460
67937d4d 244612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24462
24463 * util/grub.d/10_freebsd.in: Remove.
24464 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
24465 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
24466
ee3756cc 244672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
24468
5c35048e 24469 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 24470
4dea1c6f 244712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24472
24473 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
24474 grub_util_error() call.
24475
042484d7 244762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24477
24478 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
24479 `reserved_first_sector' member.
24480 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
24481 `reserved_first_sector' to 1.
24482 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
24483 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
24484 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
24485 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
24486 filesystems which begin at first sector.
24487 (options): New option --skip-fs-probe.
24488 (main): Handle --skip-fs-probe and pass it to setup().
24489
d64448a7 244902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24491
24492 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
24493 (memset): Fix function prototype.
24494
508d42ec 244952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
244962009-10-25 Vasily Averin <vvs@parallels.com>
24497
24498 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
24499 `dirent.direntlen == 0'.
24500
b240e30c 245012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24502
24503 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
24504 `cpio'.
24505 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
24506
346e7fbe 245072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24508
24509 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
24510 `__trampoline_setup' and `__ucmpdi2'.
24511 * include/grub/powerpc/libgcc.h: Only export symbols for functions
24512 that libgcc provides.
24513
cdb308b0 245142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24515
24516 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
24517 * include/grub/sparc64/libgcc.h (memset): Likewise.
24518 * include/grub/misc.h (memset, memcmp): New function prototypes.
24519
fb26abc2 245202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24521
24522 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
24523 `cpio'.
24524 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
24525
f6693890 245262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
24529 * docs/grub.cfg: Compensate for recent change in multiboot
24530 loader (since 2009-08-14 it won't pass filename to payload).
24531 * util/grub.d/10_hurd.in: Likewise.
24532
0933cdc0 245332009-10-21 Felix Zielcke <fzielcke@z-51.de>
24534
24535 * config.guess: Update to latest version from config git
24536 repository.
24537 * config.sub: Likewise.
24538
3b2fe8c2 245392009-10-20 Robert Millan <rmh.grub@aybabtu.com>
24540
24541 Fix build on sparc64.
24542
24543 * configure.ac: Perform checks for libgcc symbols before
24544 adding `-nostdlib' to LDFLAGS.
24545
46695a62 245462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 Let user specify OpenBSD root device.
24549
24550 * loader/i386/bsd.c (openbsd_root): New variable.
24551 (openbsd_opts): New option 'root'.
24552 (OPENBSD_ROOT_ARG): New macro.
24553 (grub_openbsd_boot): Use 'openbsd_root'.
24554 (grub_cmd_openbsd): Fill 'openbsd_root'.
24555
d2b6b7fc 245562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24557
24558 * NEWS: Misc adjustments.
24559
421bd7ac 245602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
24561
24562 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
24563
f1d29d87 245642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
24565
24566 * configure.ac: Bump version to 1.97.
24567
6f3cd880 245682009-10-16 Colin Watson <cjwatson@ubuntu.com>
24569
24570 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
24571 -mno-3dnow on x86 architectures. Some toolchains enable these
24572 features by default, but they rely on registers that aren't enabled
24573 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
24574
035f7122 245752009-10-15 Robert Millan <rmh.grub@aybabtu.com>
24576
24577 Make entry text a bit more readable.
24578
24579 * util/grub.d/10_linux.in: Add `with' before `Linux'.
24580
44998e58 245812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
24584
cd2851b3 245852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24586
24587 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
24588 operations.
24589
c6f3b249 245902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24591
24592 * configure.ac: Add missing dollar.
24593
6b5886ba 245942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
24597
24598 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
24599 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
24600 exports.
24601 * include/grub/sparc64/libgcc.h: Likewise. Use
24602 preprocessor conditionals.
24603
e9d66f6d 246042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24605
24606 * conf/common.rmk (grub-dumpbios): Remove rule.
24607 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
24608 * util/grub-dumpbios.in: Remove file.
24609
9155bc17 246102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
24611
24612 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
24613 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
24614
24615 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
24616 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
24617 users.
24618
24619 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
24620 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
24621 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
24622 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
24623 users.
24624
bf7f7a18 246252009-10-12 Robert Millan <rmh.grub@aybabtu.com>
24626
24627 * term/tparm.c: Switch to GPLv3.
24628
86564c26 246292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24630
24631 * include/grub/i386/cpuid.h: Add header protection.
24632
5c936493 246332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24634
24635 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24636
24637 * include/grub/i386/cpuid.h: New file.
24638 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24639 (has_longmode): Rename to ...
24640 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24641 `static' attribute.
24642 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24643 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24644 on a CPU that doesn't implement AMD64 instruction set.
24645
186e7cf2 246462009-10-06 Colin Watson <cjwatson@ubuntu.com>
24647
24648 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24649 that version.texi is rebuilt on version number changes.
24650
83b65c4a 246512009-10-06 Colin Watson <cjwatson@ubuntu.com>
24652
24653 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24654 Fixes bug #27602.
24655
d244281c 246562009-10-06 Colin Watson <cjwatson@ubuntu.com>
24657
24658 * util/i386/pc/grub-install.in: Source
24659 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24660 that the --grub-probe option will work.
24661 * util/sparc64/ieee1275/grub-install.in: Likewise.
24662
da25306d 246632009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24664
24665 * configure.ac: Bump version to 1.97~beta4.
24666
e8ee83c0 246672009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 Resync grub-mkdevicemap in x86_64-efi.
24670
24671 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24672 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24673 `util/devicemap.c'.
24674
50dcabcf 246752009-10-01 Colin Watson <cjwatson@ubuntu.com>
24676
24677 * util/grub-editenv.c (create_envblk_file): Write new block with a
24678 .new suffix and then rename it into place, to ensure atomic
24679 creation.
24680
0e51c3a7 246812009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24682
24683 Do not automatically install headers.
24684
24685 * Makefile.in (include_DATA): Remove. Update all users.
24686
31299a95 246872009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24688
24689 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24690 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24691
24692 * util/osdetect.lua: Remove.
24693 * script/lua/lauxlib.c: Likewise.
24694 * script/lua/ldebug.c: Likewise.
24695 * script/lua/grub_main.c: Likewise.
24696 * script/lua/lauxlib.h: Likewise.
24697 * script/lua/ldebug.h: Likewise.
24698 * script/lua/ltablib.c: Likewise.
24699 * script/lua/liolib.c: Likewise.
24700 * script/lua/lstrlib.c: Likewise.
24701 * script/lua/lualib.h: Likewise.
24702 * script/lua/ldo.c: Likewise.
24703 * script/lua/ldump.c: Likewise.
24704 * script/lua/ldo.h: Likewise.
24705 * script/lua/loslib.c: Likewise.
24706 * script/lua/lundump.c: Likewise.
24707 * script/lua/grub_lib.c: Likewise.
24708 * script/lua/ldblib.c: Likewise.
24709 * script/lua/lundump.h: Likewise.
24710 * script/lua/lmem.c: Likewise.
24711 * script/lua/grub_lib.h: Likewise.
24712 * script/lua/lmathlib.c: Likewise.
24713 * script/lua/lstate.c: Likewise.
24714 * script/lua/ltm.c: Likewise.
24715 * script/lua/lvm.c: Likewise.
24716 * script/lua/lmem.h: Likewise.
24717 * script/lua/lstate.h: Likewise.
24718 * script/lua/ltm.h: Likewise.
24719 * script/lua/ltable.c: Likewise.
24720 * script/lua/lvm.h: Likewise.
24721 * script/lua/llex.c: Likewise.
24722 * script/lua/lgc.c: Likewise.
24723 * script/lua/grub_lua.h: Likewise.
24724 * script/lua/loadlib.c: Likewise.
24725 * script/lua/lfunc.c: Likewise.
24726 * script/lua/lopcodes.c: Likewise.
24727 * script/lua/lparser.c: Likewise.
24728 * script/lua/ltable.h: Likewise.
24729 * script/lua/llex.h: Likewise.
24730 * script/lua/lgc.h: Likewise.
24731 * script/lua/lfunc.h: Likewise.
24732 * script/lua/lbaselib.c: Likewise.
24733 * script/lua/lopcodes.h: Likewise.
24734 * script/lua/lparser.h: Likewise.
24735 * script/lua/lzio.c: Likewise.
24736 * script/lua/linit.c: Likewise.
24737 * script/lua/lobject.c: Likewise.
24738 * script/lua/llimits.h: Likewise.
24739 * script/lua/lstring.c: Likewise.
24740 * script/lua/lzio.h: Likewise.
24741 * script/lua/lapi.c: Likewise.
24742 * script/lua/lcode.c: Likewise.
24743 * script/lua/lua.h: Likewise.
24744 * script/lua/lobject.h: Likewise.
24745 * script/lua/lstring.h: Likewise.
24746 * script/lua/lapi.h: Likewise.
24747 * script/lua/lcode.h: Likewise.
24748 * script/lua/luaconf.h: Likewise.
24749
cb8a2c38 247502009-09-26 Colin Watson <cjwatson@ubuntu.com>
24751
24752 * docs/grub.texi (Command-line and menu entry commands): Document
24753 date and echo commands.
24754
6b9b6276 247552009-09-24 Pavel Roskin <proski@gnu.org>
24756
24757 * include/grub/kernel.h (struct grub_module_header): Remove
24758 `grub_module_header_types'. Make `type' unsigned. Make `size'
24759 32-bit on all platforms.
24760 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24761 8-bit field. Use grub_host_to_target32() for `size'.
24762 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24763 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24764 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24765
4e5a02a7 247662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24767
24768 Fix "lost keypress" bug in at_keyboard.
24769
24770 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24771 Checks for readyness of input buffer (without flushing it).
24772 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24773 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24774
c6dcedf6 247752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24776
24777 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24778 size check within GRUB_MACHINE_PCBIOS section.
24779
74c958b1 247802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24781
24782 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24783 return value.
24784 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24785 KEYBOARD_ISREADY check.
24786 (grub_at_keyboard_checkkey): Rename to ...
24787 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24788 Remove gratuitous cast.
24789
ff420223 247902009-09-23 Colin Watson <cjwatson@ubuntu.com>
24791
24792 * configure.ac: Call AC_PROG_MKDIR_P.
24793 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24794 version.texi in $(builddir) rather than $(srcdir).
24795 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24796 to makeinfo's @include search path.
24797
d96875df 247982009-09-23 Felix Zielcke <fzielcke@z-51.de>
24799
24800 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24801
9b3f8365 248022009-09-23 Felix Zielcke <fzielcke@z-51.de>
24803
24804 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24805 for `*.dpkg-new'.
24806
c44c90db 248072009-09-21 Colin Watson <cjwatson@ubuntu.com>
24808
24809 Build info documentation. Some code borrowed from Automake.
24810
24811 * configure.ac: Check for makeinfo.
24812 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24813 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24814 docs/version.texi.
24815 (MOSTLYCLEANFILES): Add vti.tmp.
24816 (docs/version.texi, docs/stamp-vti): Update automatically.
24817 (docs/grub.info): Build info documentation. Use --force and ignore
24818 errors for now.
24819 (all-local): Add $(INFOS).
24820 (install-local): Install info files.
24821 (uninstall): Uninstall info files.
24822 * docs/version.texi: Remove from revision control. This file is
24823 automatically generated on build now.
24824 * gendistlist.sh: Add `*.info'.
24825
e0b37bb5 248262009-09-21 Felix Zielcke <fzielcke@z-51.de>
24827
24828 * kern/term.c: Fix indentation.
24829
5a78865b 248302009-09-21 Felix Zielcke <fzielcke@z-51.de>
24831
24832 * util/hostdisk.c: Fix a comment.
24833
dace7e8a 248342009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24835
24836 Fix regression introduced in r2539.
24837
24838 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24839 to 0xA1.
24840
a83d079b 248412009-09-19 Colin Watson <cjwatson@ubuntu.com>
24842
24843 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24844 os-prober. Under normal operation, it does not print anything to
24845 stderr; if it does, we need to debug it, and throwing away stderr
24846 makes that excessively difficult.
a83d079b 24847
be94a509 248482009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24849
24850 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24851
63f745e8 248522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24853
24854 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24855 AC_LANG_PROGRAM from autoconf.
24856 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24857 prototypes (fixes warning).
24858
24859 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24860 `--disable-werror' was used.
24861
bbb2a70f 248622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24863
24864 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24865 uninitialized `lastaddr'.
24866
77c24f1d 248672009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24868
0f0b8c87 24869 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24870
07197f23 248712009-09-14 Colin Watson <cjwatson@ubuntu.com>
24872
24873 * commands/test.c (get_fileinfo): Return immediately if
24874 grub_fs_probe fails.
24875
dabf1798 248762009-09-14 José Martínez <xosemp@gmail.com>
24877
24878 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24879
d52109a7 248802009-09-14 Colin Watson <cjwatson@ubuntu.com>
24881
24882 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24883 output.
24884
56532179 248852009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24886
24887 * configure.ac: Remove --enable-grub-pe2elf. Only build
24888 grub-pe2elf when needed by the build system itself.
24889 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24890
8ef070f5 248912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24892
24893 * configure.ac: Bump version to 1.97~beta3.
24894 * docs/version.texi: Likewise.
24895
61229557 248962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24897
24898 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24899 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24900 from here ...
24901 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24902 (grub_linux_setup_video): ... to here (with some adjustments).
24903
5c9f8d84 249042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24905
24906 Fix memory corruption issue (spotted by Colin Watson).
24907
24908 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24909 causing returned size to be stored in an incorrect memory location.
24910 Fix use of uninitialized value when storing the returned size.
24911
e8f5d6e9 249122009-09-12 Yves Blusseau <blusseau@zetam.org>
24913
24914 Change clean rules to properly remove files
24915
24916 * genmk.rb: add new clean rules
24917 * Makefile.in (clean): add the new targets
24918 (mostlyclean): likewise
24919
cda2a409 249202009-09-11 Colin Watson <cjwatson@ubuntu.com>
24921
24922 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24923 to grub_uint64_t.
24924 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24925 non-resident files.
24926
86695375 249272009-09-11 Colin Watson <cjwatson@ubuntu.com>
24928
24929 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24930 part of bug #27349.
24931
8aa1541a 249322009-09-10 Felix Zielcke <fzielcke@z-51.de>
24933
24934 * util/grub-mkconfig.in: Make the created config mode 400 and
24935 print a warning if it fails.
24936
48d9bb0a 249372009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24938
24939 * util/grub.d/40_custom.in: Ask user to type custom entries below
24940 comment, rather than below 'exec tail' line.
24941
3b0521be 249422009-09-10 Colin Watson <cjwatson@ubuntu.com>
24943
24944 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24945 visible in grub.cfg.
24946
50051d55 249472009-09-10 Colin Watson <cjwatson@ubuntu.com>
24948
24949 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24950 file.
24951
c0d34387 249522009-09-10 Felix Zielcke <fzielcke@z-51.de>
24953
24954 * docs/grub.cfg: Add an example menu entry for memtest86+.
24955
80a608f3 249562009-09-09 Felix Zielcke <fzielcke@z-51.de>
24957
a2094832 24958 * config.guess: Update to latest version from config git.
80a608f3 24959 * config.sub: Likewise.
24960
99423078 249612009-09-08 Colin Watson <cjwatson@ubuntu.com>
24962
24963 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24964 unknown-command case. Fixes bug #27320.
24965
44454e4c 249662009-09-08 Felix Zielcke <fzielcke@z-51.de>
24967
24968 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24969 `help' if the command exists.
24970
e30d87ad 249712009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24972
24973 * INSTALL: Require GCC 4.1.3 or later.
24974
9a86f1ec 249752009-09-06 Yves Blusseau <blusseau@zetam.org>
24976
24977 * Makefile.in (RMKFILES): add i386-qemu.rmk
24978 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24979 $(srcdir)/stamp-h.in
24980
7f26d466 249812009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24982
24983 * util/grub-probe.c (probe): Comment out buggy codepath, which
24984 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24985 should be re-enabled after 1.97.
24986
3a613259 249872009-09-05 Felix Zielcke <fzielcke@z-51.de>
24988
24989 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24990 find searches for.
24991
197f76c7 249922009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24993
24994 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24995 unnecessary calls to grub_error.
24996
70ba68ce 249972009-09-04 Colin Watson <cjwatson@ubuntu.com>
24998
24999 * NEWS: Mention `keystatus' and Unicode fonts.
25000
4ff0d7a4 250012009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25002
25003 * configure.ac: Bump version to 1.97~beta2.
25004 * docs/version.texi: Likewise.
25005
77c55a87 250062009-09-03 Colin Watson <cjwatson@ubuntu.com>
25007
25008 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25009 containing unwind information in some cases where it previously did
25010 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25011 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25012 discussion.
25013
f79572cd 250142009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25015
25016 Embedding loadenv module into grub-emu
25017
25018 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25019 commands/loadenv.c
25020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25026
93a81088 250272009-09-03 Magnus Granberg <zorry@ume.nu>
25028
25029 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25030 include -fPIE in the default specs.
25031 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25032 to TARGET_CFLAGS.
25033
160034b2 250342009-09-03 Felix Zielcke <fzielcke@z-51.de>
25035
25036 * INSTALL: Note that GNU Bison 2.3 or later is required.
25037
087c07c4 250382009-09-03 Colin Watson <cjwatson@ubuntu.com>
25039
25040 * kern/i386/pc/startup.S: Fix typo.
25041
cbf978c0 250422009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25043
25044 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25045 according to GCS.
25046
250472009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25048
25049 * docs/grub.texi (Naming convention): Describe one-based partition
25050 numbering.
25051 (Device syntax): Likewise.
25052 (File name syntax): Likewise.
25053 (Block list syntax): Likewise.
25054 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25055 menu.lst.
25056 (File name syntax): Likewise.
25057 (Command-line and menu entry commands): Document acpi, blocklist,
25058 crc, export, insmod, keystatus, ls, set, and unset commands.
25059
f3e8cdfd 250602009-09-02 Colin Watson <cjwatson@ubuntu.com>
25061
25062 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25063 to avoid implying that only one of --shift, --ctrl, or --alt may be
25064 used.
25065
c0bc232b 250662009-09-02 Colin Watson <cjwatson@ubuntu.com>
25067
25068 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25069 rather than comparing against S_IFREG, which will almost never work.
25070
aa0f752d 250712009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25074 (write_blocklists): Likewise.
25075
ecb3166a 250762009-09-01 Colin Watson <cjwatson@ubuntu.com>
25077
25078 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25079 argument to grub_printf.
25080
c403a125 250812009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25082
25083 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25084 non GNU test.
31aba781 25085
b5e7312c 250862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25087
25088 * kern/file.c (grub_file_read): Spelling fix
25089
fe00f472 250902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25091
25092 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25093 loading of headers in some cases.
25094
cc55302e 250952009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25096
25097 * configure.ac: Bump version to 1.97~beta1.
25098 * docs/version.texi: Likewise.
25099
5c90cdd2 251002009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25101
25102 * include/grub/i386/xnu.h: Add license header.
25103 include grub/err.h explicitly.
25104
c90edae4 251052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25106
25107 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25108 to `ufs' in the vfs.root.mountfrom kernel parameter.
25109
d8888b5c 251102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25111
25112 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25113
25114 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25115 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25116
25117 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25118 `ARRAY_SIZE' macro.
25119
6f07b921 251202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25121
25122 * kern/file.c (grub_file_read): Check offset.
25123 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25124 * fs/jfs.c (grub_jfs_read_file): Likewise.
25125 * fs/ntfs.c (grub_ntfs_read): Likewise.
25126 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25127 * fs/minix.c (grub_minix_read_file): Correct offset check.
25128 * fs/ufs.c (grub_ufs_read_file): Likewise.
25129
b4f34077 251302009-08-28 Colin Watson <cjwatson@ubuntu.com>
25131
25132 * term/i386/pc/console.c (bios_data_area): Cast
25133 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
25134
e7c69859 251352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25136
25137 1-bit optimised blitters.
25138
25139 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
25140 prototype.
25141 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25142 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25143 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25144 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25145 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25146 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25147 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
25148 function.
25149 (grub_video_fbblit_replace_24bit_1bit): Likewise.
25150 (grub_video_fbblit_replace_16bit_1bit): Likewise.
25151 (grub_video_fbblit_replace_8bit_1bit): Likewise.
25152 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
25153 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
25154 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
25155 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
25156 when possible.
25157 * video/video.c (grub_video_get_blit_format): Return
25158 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
25159
a57da43f 251602009-08-28 Colin Watson <cjwatson@ubuntu.com>
25161
25162 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
25163 the first argument to grub_printf.
25164
4cbe67e5 251652009-08-28 Colin Watson <cjwatson@ubuntu.com>
251662009-08-28 Robert Millan <rmh.grub@aybabtu.com>
25167
25168 Add `getkeystatus' terminal method. Add a new `keystatus' command
25169 to query it.
25170
25171 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
25172 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
25173 modifier key bitmasks.
25174 (struct grub_term_input): Add `getkeystatus' member.
25175 (grub_getkeystatus): Add prototype.
25176 * kern/term.c (grub_getkeystatus): New function.
25177
25178 * include/grub/i386/pc/memory.h
25179 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
25180 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
25181 Data Area layout.
25182 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
25183 (grub_console_term_input): Set `getkeystatus' member.
25184 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
25185 constants.
25186 (grub_usb_keyboard_getreport): Likewise.
25187 (grub_usb_keyboard_checkkey): Likewise.
25188 (grub_usb_keyboard_getkeystatus): New function.
25189 (grub_usb_keyboard_term): Set `getkeystatus' member.
25190
25191 * commands/keystatus.c: New file.
25192 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
25193 (keystatus_mod_SOURCES): New variable.
25194 (keystatus_mod_CFLAGS): Likewise.
25195 (keystatus_mod_LDFLAGS): Likewise.
25196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
25197 commands/keystatus.c.
25198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25200 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 25204
6e2a9085 252052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 Split befs.mod and afs.mod into *_be.mod and *.mod
25208
25209 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
25210 (grub_fstest_SOURCES): Likewise.
25211 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
25212 (afs_be_mod_SOURCES): New variable.
25213 (afs_be_mod_CFLAGS): Likewise.
25214 (afs_be_mod_LDFLAGS): Likewise.
25215 (befs_be_mod_SOURCES): Likewise.
25216 (befs_be_mod_CFLAGS): Likewise.
25217 (befs_be_mod_LDFLAGS): Likewise.
25218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
25219 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25221 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25222 (grub_emu_SOURCES): Likewise.
25223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25226 * fs/afs_be.c: New file.
25227 * fs/befs_be.c: New file.
25228 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
25229 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
25230 (U16): Replaced with ...
25231 (grub_afs_to_cpu16): ...this. All users updated.
25232 (U32): Replaced with ...
25233 (grub_afs_to_cpu32): ...this. All users updated.
25234 (U64): Replaced with ...
25235 (grub_afs_to_cpu64): ...this. All users updated.
25236 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
25237 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 25238 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 25239 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25240 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25241 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25242 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25243 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
25244 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
25245 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
25246 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
25247
32a71655 252482009-08-26 Bean <bean123ch@gmail.com>
25249
25250 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
25251 64-bit number.
25252 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
25253 (grub_xfs_inode_block): Change return type to grub_uint64_t.
25254 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
25255
552bf6c5 252562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25257
25258 NetBSD memory map support.
25259
25260 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
25261 (grub_netbsd_btinfo_mmap_header): New structure.
25262 (grub_netbsd_btinfo_mmap_entry): Likewise.
25263 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
25264
1ae2078c 252652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 Enable bsd.mod on coreboot.
25268
25269 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
25270 (bsd_mod_SOURCES): New variable.
25271 (bsd_mod_CFLAGS): Likewise.
25272 (bsd_mod_LDFLAGS): Likewise.
25273 (bsd_mod_ASFLAGS): Likewise.
25274 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
25275 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
25276
beefc598 252772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25278
25279 Cleanup NetBSD root support.
25280
25281 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
25282 grub_bsd_get_device.
25283 Fix typo.
25284
3b76e68b 252852009-08-25 Felix Zielcke <fzielcke@z-51.de>
25286
25287 * util/grub.d/00_header.in: Move check for the video backend of
25288 gfxterm from here ...
25289 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
25290 a suitable video backend.
25291
aea664ea 252922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25293
25294 Fix breakage in grub-setup.
25295
25296 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
25297 "msdos_partition_map".
25298
ff747d50 252992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 Fix breakage in normal/auth.c.
25302
25303 * normal/auth.c (grub_iswordseparator): New function.
25304
e7e1f93f 253052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25306
25307 Authentication support.
25308
25309 * commands/password.c: New file.
25310 * conf/common.rmk (pkglib_MODULES): Add password.mod.
25311 (password_mod_SOURCES): New variable.
25312 (password_mod_CFLAGS): Likewise.
25313 (password_mod_LDFLAGS): Likewise.
25314 (normal_mod_SOURCES): Add normal/auth.c.
25315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
25316 normal/auth.c.
25317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25321 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25323 * include/grub/auth.h: New file.
25324 * include/grub/err.h (grub_err_t): New enum value
25325 GRUB_ERR_ACCESS_DENIED.
25326 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
25327 'users'.
25328 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
25329 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
25330 users updated.
25331 * normal/auth.c: New file.
25332 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
25333 (grub_cmdline_run): Don't allow to go to command line without
25334 authentication.
25335 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
25336 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
25337 menuentry without superuser rights.
25338 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
25339 user isn't a superuser.
25340
70f1161d 253412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25342
25343 Save space by inlining misc.c functions.
25344
25345 * kern/misc.c (grub_iswordseparator): Made static.
25346 * kern/misc.c (grub_strcat): Moved from here ...
25347 * include/grub/misc.h (grub_strcat): ... here. Inlined.
25348 * kern/misc.c (grub_strncat): Moved from here ...
25349 * include/grub/misc.h (grub_strncat): ... here. Inlined.
25350 * kern/misc.c (grub_strcasecmp): Moved from here ...
25351 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
25352 * kern/misc.c (grub_strncasecmp): Moved from here ...
25353 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
25354 * kern/misc.c (grub_isalpha): Moved from here ...
25355 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
25356 * kern/misc.c (grub_isdigit): Moved from here ...
25357 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
25358 * kern/misc.c (grub_isgraph): Moved from here ...
25359 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
25360 * kern/misc.c (grub_tolower): Moved from here ...
25361 * include/grub/misc.h (grub_tolower): ... here. Inlined.
25362
48e40bff 253632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 * script/sh/function.c (grub_script_function_find): Cut error message
25366 not to flood terminal.
25367 * script/sh/lexer.c (grub_script_yylex): Remove command line length
25368 limit.
25369 * script/sh/script.c (grub_script_arg_add): Duplicate string.
25370
c385bfc3 253712009-08-24 Colin Watson <cjwatson@ubuntu.com>
25372
25373 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
25374 `report' grub_uint8_t *.
25375 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
25376 Use a 50-millisecond timeout rather than just repeating
25377 grub_usb_keyboard_getreport 50 times.
25378 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
25379
2d21e3e8 253802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 Rename *_partition_map to part_*
25383
25384 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
25385 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
25386 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
25387 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
25388 All users updated.
25389 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
25390 All users updated.
25391 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
25392 * util/grub-probe.c (probe_partmap): Don't transform partition name
25393 to get module name.
25394
dd103c4e 253952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25396
25397 Fix OpenBSD and NetBSD support.
25398
25399 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
25400 memory address conflict.
25401 (OPENBSD_MMAP_ACPI): New definition.
25402 (OPENBSD_MMAP_NVS): Likewise.
25403 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
25404 and OPENBSD_MMAP_NVS.
25405 Add memory map terminator
25406 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 25407 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 25408
16c84d74 254092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25410
25411 Let user specify NetBSD root device.
25412
25413 * loader/i386/bsd.c (netbsd_root): New variable.
25414 (netbsd_opts): New option 'root'.
25415 (NETBSD_ROOT_ARG): New macro.
25416 (grub_netbsd_boot): Use 'netbsd_root'.
25417 (grub_bsd_unload): Free 'netbsd_root'.
25418 (grub_cmd_netbsd): Fill 'netbsd_root'.
25419
adb29902 254202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 Support for 64-bit NetBSD.
25423
25424 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
25425 point when booting non-FreeBSD.
25426
f5ae9f74 254272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 Support --no-smp and --no-acpi for NetBSD.
25430
25431 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
25432 (NETBSD_AB_NOACPI): Likewise.
25433 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
25434 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
25435
de74f136 254362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
25439 errors.
25440 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
25441 errors. Call grub_error when needed.
25442
e9a925da 254432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25444
25445 * commands/search.c (search_fs): Try searching without autoload first.
25446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
25447 filesystem module explicitly for faster booting.
25448
5174302b 254492009-08-23 Colin Watson <cjwatson@ubuntu.com>
25450
25451 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
25452
c8c80635 254532009-08-23 Colin Watson <cjwatson@ubuntu.com>
25454
25455 * util/grub.d/30_os-prober.in: Disable os-prober if
25456 `GRUB_DISABLE_OS_PROBER' was set to true.
25457
71acf5e5 254582009-08-23 Robert Millan <rmh.grub@aybabtu.com>
25459
25460 * partmap/pc.c: Rename to ...
25461 * partmap/msdos.c: ... this. Update all users.
25462 (grub_pc_partition_map): Rename to ...
25463 (grub_msdos_partition_map): ... this. Update all users.
25464
25465 * parttool/pcpart.c: Rename to ...
25466 * parttool/msdospart.c: ... this. Update all users.
25467
25468 * include/grub/pc_partition.h: Rename to ...
25469 * include/grub/msdos_partition.h: ... this. Update all users.
25470 (grub_pc_partition_bsd_entry): Rename to ...
25471 (grub_msdos_partition_bsd_entry): ... this. Update all users.
25472 (grub_pc_partition_disk_label): Rename to ...
25473 (grub_msdos_partition_disk_label): ... this. Update all users.
25474 (grub_pc_partition_entry): Rename to ...
25475 (grub_msdos_partition_entry): ... this. Update all users.
25476 (grub_pc_partition_mbr): Rename to ...
25477 (grub_msdos_partition_mbr): ... this. Update all users.
25478 (grub_pc_partition): Rename to ...
25479 (grub_msdos_partition): ... this. Update all users.
25480 (grub_pc_partition_is_empty): Rename to ...
25481 (grub_msdos_partition_is_empty): ... this. Update all users.
25482 (grub_pc_partition_is_extended): Rename to ...
25483 (grub_msdos_partition_is_extended): ... this. Update all users.
25484 (grub_pc_partition_is_bsd): Rename to ...
25485 (grub_msdos_partition_is_bsd): ... this. Update all users.
25486
25487 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
25488 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
25489 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
25490 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
25491 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
25492 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
25493 (gpt_mod_LDFLAGS): Rename to ...
25494 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
25495 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
25496 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
25497 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
25498 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
25499 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
25500 (part_gpt_mod_LDFLAGS): ... this.
25501 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
25502 `pcpart.mod' to `msdospart.mod'.
25503 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
25504 to ...
25505 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
25506 (msdospart_mod_LDFLAGS): ... this.
25507
c11fded5 255082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
25509
25510 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
25511 (openbsd_opts): Likewise.
25512 (netbsd_opts): Likewise.
25513 (freebsd_flags): Added 0 terminator.
25514 (openbsd_flags): Likewise.
25515 (netbsd_flags): Likewise.
25516 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
25517 (grub_cmd_freebsd): Transformed into extended command.
25518 (grub_cmd_openbsd): Likewise.
25519 (grub_cmd_netbsd): Likewise.
25520 (cmd_freebsd): Changed type to grub_extcmd_t.
25521 (cmd_openbsd): Likewise.
25522 (cmd_netbsd): Likewise.
25523 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
25524 grub_cmd_openbsd as extended commands.
25525 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
25526 cmd_netbsd and cmd_openbsd
25527
11d1c769 255282009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25529
25530 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
25531
7a9094e5 255322009-08-21 Pavel Roskin <proski@gnu.org>
25533
5496c37e 25534 * Makefile.in (install-local): When checking if a file is in the
25535 build directory, use "test -e" to detect symlinks.
25536
7a9094e5 25537 * Makefile.in (install-local): Remove all files in
25538 $(DESTDIR)$(pkglibdir) before installing new files there.
25539
e53cea11 255402009-08-18 Felix Zielcke <fzielcke@z-51.de>
25541
25542 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
25543 grub-mkelfimage.
25544
9aced544 255452009-08-18 Felix Zielcke <fzielcke@z-51.de>
25546
25547 * util/grub-mkconfig.in: Don't use gfxterm by default if not
25548 explicitly specified by the user.
25549
b7da6bab 255502009-08-18 Pavel Roskin <proski@gnu.org>
25551
25552 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
25553 grub_uint8_t pointer for data.
25554 * include/grub/fbutil.h (struct grub_video_fbblit_info):
25555 Likewise.
25556 * video/fb/fbutil.c: Remove unnecessary casts.
25557
19f1b335 255582009-08-17 Michal Suchanek <hramrach@centrum.cz>
25559
25560 VBE cleanup.
25561
25562 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
25563 (grub_vbe_set_video_mode): Save active mode info
25564 only after setting the mode.
25565 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
25566 second argument.
25567
2f467aa9 255682009-08-17 Michal Suchanek <hramrach@centrum.cz>
25569
25570 Rename variables for clarity.
25571
25572 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
25573 (active_vbe_mode_info): ... this. All users updated.
25574 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
25575 All users updated.
25576 (initial_mode): Rename to ...
25577 (initial_vbe_mode): ... this. All users updated.
25578 (mode_in_use): Rename to ..
25579 (vbe_mode_in_use): ... this. All users updated.
25580 (mode_list): Rename to ..
25581 (vbe_mode_list): ... this. All users updated.
25582 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
25583 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
25584 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
25585 'mode_list_size' to 'vbe_mode_list_size'.
25586 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
25587 'best_mode_info' to 'best_vbe_mode_info' and
25588 'best_mode' to 'best_vbe_mode'
25589
6025fcd7 255902009-08-17 Michal Suchanek <hramrach@centrum.cz>
25591
25592 Remove duplicate grub_video_fb_get_video_ptr.
25593
25594 * include/grub/fbutil.h (get_data_ptr): Rename to ...
25595 (grub_video_fb_get_video_ptr): ... this.
25596 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
25597 * video/fb/fbutil.c: Add comment about addressing.
25598 (get_data_ptr): Rename to ...
25599 (grub_video_fb_get_video_ptr): ... this. All users updated.
25600 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
25601
cc8c6faf 256022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25603
25604 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
25605 grub_dprintf() that was just added.
25606
08aa61f0 256072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
25608
25609 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
25610 (DEFAULT_VIDEO_MODE): Remove macros.
25611 (grub_linux_boot): Remove assumption that Linux has FB support,
25612 and use "text" as default video mode.
25613
7cef4f75 256142009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
25617 grub_dprintf.
25618 * fs/fat.c (grub_fat_read_data): Likewise.
25619
e1f39873 256202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25621
25622 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
25623 payload.
25624 (grub_module): Likewise.
25625
c166d79e 256262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25627
25628 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
25629 mbi->cmdline but free playground.
25630
c60cee8e 256312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25632
25633 Handle group offset on UFS1.
25634
25635 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25636 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25637
c0d8b5d4 256382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25639
25640 Split ufs.mod into ufs1.mod and ufs2.mod.
25641
25642 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25643 (grub_fstest_SOURCES): Likewise.
25644 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25645 (ufs_mod_SOURCES): Remove.
25646 (ufs_mod_CFLAGS): Likewise.
25647 (ufs_mod_LDFLAGS): Likewise.
25648 (ufs1_mod_SOURCES): New variable.
25649 (ufs1_mod_CFLAGS): Likewise.
25650 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25651 (ufs2_mod_SOURCES): New variable.
25652 (ufs2_mod_CFLAGS): Likewise.
25653 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25654 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25655 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25656 Likewise.
25657 (grub_emu_SOURCES): Likewise.
25658 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25659 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25660 (grub_setup_SOURCES): Likewise.
25661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25662 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25663 (grub_setup_SOURCES): Likewise.
25664 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25665 Likewise.
25666 * fs/ufs2.c: New file.
25667 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25668
d3539132 256692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25670
25671 Framebuffer split.
25672
25673 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25674 subsystem at the end.
25675 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25676 (video_fb_mod_SOURCES): New variable.
25677 (video_fb_mod_CFLAGS): Likewise.
25678 (video_fb_mod_LDFLAGS): Likewise.
25679 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25680 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25681 * video/i386/pc/vbeblit.c: Moved from here ...
25682 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25683 * video/i386/pc/vbefill.c: Moved from here ...
25684 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25685 * video/i386/pc/vbeutil.c: Moved from here ...
25686 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25687 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25688 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25689 * include/grub/i386/pc/vbefill.h: Moved from here ...
25690 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25691 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25692 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25693 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25694 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25695 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25696 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25697 (grub_video_adapter): Added 'get_info_and_fini'.
25698 (grub_video_get_info_and_fini): New prototype.
25699 (grub_video_set_mode): make modestring const char *.
25700 * loader/i386/linux.c (grub_linux_setup_video): Use
25701 grub_video_get_info_and_fini.
25702 (grub_linux_boot): Move modesetting just before booting.
25703 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25704 grub_video_get_info_and_fini.
25705 * video/i386/pc/vbe.c: Moved framebuffer part ...
25706 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25707 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25708 grub_video_fbstd_colors and grub_video_fb_set_palette.
25709 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25710 grub_video_fb_init.
25711 (grub_video_vbe_fini): Use grub_video_fb_fini.
25712 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25713 render_target and use grub_video_fb_set_active_render_target and
25714 grub_video_fb_set_palette.
25715 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25716 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25717 (grub_video_vbe_adapter): Use framebuffer.
25718 * video/video.c (grub_video_get_info_and_fini): New function.
25719 (grub_video_set_mode): Make modestring const char *.
25720 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25721 values are already initialised.
25722
d404ee56 257232009-08-14 Pavel Roskin <proski@gnu.org>
25724
25725 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25726 ABS and APPLE_CC.
25727 * boot/i386/pc/diskboot.S: Likewise.
25728 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25729 sectors allow compilation on MacOSX.
25730 * conf/i386-pc.rmk: Enable unconditional compilation of
25731 lnxboot.img.
25732
9a10df16 257332009-08-13 Colin Watson <cjwatson@ubuntu.com>
25734
25735 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25736 * util/grub.d/00_header.in: Enter interruptible sleep if
25737 GRUB_HIDDEN_TIMEOUT is set.
25738
be3c9ca7 257392009-08-13 Yves Blusseau <blusseau@zetam.org>
25740
25741 * include/grub/symbol.h: Add the LOCAL macro.
25742 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25743 starting with "L_".
25744
1f9e557e 257452009-08-13 Pavel Roskin <proski@gnu.org>
25746
9ca62843 25747 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25748 any modern compilers we support.
25749
1f9e557e 25750 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25751 Use local labels starting with "L_" so that Apple assembler
25752 knows they are local.
25753
81623db6 257542009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25755
25756 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25757 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25758 (bsd_kernel_types): ... this enum.
25759
25760 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25761 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25762 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25763
25764 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25765 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25766 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25767 messages.
25768
f5d35e7a 257692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25770
25771 * util/grub-dumpdevtree: Moved from here ...
25772 * util/i386/efi/grub-dumpdevtree: ... to here.
25773 (hexify): New function. Converts a string to its hex version.
25774 Generate hex versions of "efi" and "device-properties" by calling
25775 hexify() on the ASCII strings rather than by hardcoding numbers.
25776
d1e1d527 257772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25778
25779 * fs/jfs.c: Update copyright year.
25780
1ebbe064 257812009-08-08 Felix Zielcke <fzielcke@z-51.de>
25782
25783 * util/grub.d/00_header.in: Fix a comment.
25784 * util/grub.d/10_linux.in: Likewise.
25785 * util/grub.d/10_windows.in: Likewise.
25786 * util/grub.d/10_hurd.in: Likewise.
25787
a78c8d24 257882009-08-08 Felix Zielcke <fzielcke@z-51.de>
25789
25790 * util/grub-mkconfig.in: Allow the user to specify the used font
25791 with GRUB_FONT.
25792
29a6b9e8 257932009-08-08 Pavel Roskin <proski@gnu.org>
25794
b5f16cc4 25795 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25796 available, xfs.mod needs it now.
25797
2f5cb827 25798 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25799 the "g" modifier in sed when the intention is to strip something
25800 once. This fixes comparison of kernels with multiple dashes.
25801
29a6b9e8 25802 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25803 on it. Add missing space before closing bracket. Fix
25804 misleading formatting.
25805
892a3d98 258062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25807
25808 * docs/grub.texi: Major overhaul. Remove all sections that are
25809 specific to GRUB Legacy, or mostly composed of Legacy-specific
25810 information.
25811
ed94253f 258122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25813
25814 * docs/version.texi: New file. Provides version information for
25815 grub.texi.
25816
126d6628 258172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25818
25819 * docs/grub.texi: Update CVS information to SVN.
25820 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25821
998b5aa9 258222009-08-07 Felix Zielcke <fzielcke@z-51.de>
25823
25824 * util/grub-mkconfig.in: Remove a wrong `fi'.
25825
818e094a 258262009-08-07 Felix Zielcke <fzielcke@z-51.de>
25827
25828 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25829 (grub_jfs_uuid): New function.
25830 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25831
b969c52f 258322009-08-07 Felix Zielcke <fzielcke@z-51.de>
25833
25834 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25835 of it to ...
25836 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25837 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25838
7a4894cc 258392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25840
25841 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25842 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25843 Update all users.
25844
25845 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25846 not just "vmlinu[zx]".
25847 Moved from here ...
25848 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25849 all users.
25850
25851 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25852 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25853 all users.
25854
4e2171f8 258552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 * util/grub.d/10_freebsd.in: Use an absolute device path for
25858 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25859
6dcfcb32 258602009-08-06 Felix Zielcke <fzielcke@z-51.de>
25861
25862 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25863 handling of multiple abstraction modules.
25864
f56a8756 258652009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25866
25867 Fix a bug resulting in black screen when loading Linux using a
25868 packed video mode.
25869
25870 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25871 function.
25872
25873 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25874 (grub_vbe_bios_getset_dac_palette_width): New function.
25875 (grub_vbe_bios_get_dac_palette_width)
25876 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25877 grub_vbe_bios_getset_dac_palette_width()).
25878
25879 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25880 check for return status.
25881 (grub_vbe_get_video_mode_info): When getting information for a packed
25882 mode (<= 8 bpp), obtain DAC palette width using
25883 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25884 {red,green,blue}_mark_size.
25885
222671b2 258862009-08-04 Felix Zielcke <fzielcke@z-51.de>
25887
ecb1a6d9 25888 * commands/search.c (options): Fix help output to match actual code.
222671b2 25889
f84114f5 258902009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25891
25892 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25893 of homegrown code.
25894
bd288a20 258952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25896
25897 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25898 on XFS or ReiserFS.
25899
8aab5e25 259002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25901
25902 Support Apple partition map with sector size different from 512 bytes.
25903
25904 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25905 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25906 and 'apart.partmap_size'.
25907
6ad6258a 259082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
259092009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25910
25911 Fix cpuid command.
25912
25913 * commands/i386/cpuid.c (options): New variable.
25914 (grub_cmd_cpuid): Return real error.
25915 (GRUB_MOD_INIT(cpuid)): Declare options.
25916
67459bc6 259172009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25918
25919 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25920 valid.
25921
fbc6ab54 259222009-07-31 Bean <bean123ch@gmail.com>
25923
25924 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25925 log2_inode.
25926 (grub_fshelp_node): Move inode field to the end.
25927 (grub_xfs_data): Remove inode field.
25928 (grub_xfs_inode_block): Calculate inode size using sblock.
25929 (grub_xfs_inode_offset): Likewise.
25930 (grub_xfs_read_inode): Calculate inode size using sblock.
25931 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25932 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25933 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25934 to match inode size.
25935 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25936 not accessible when data is null.
25937 (grub_xfs_open): Likewise.
25938
f45d6cfc 259392009-07-31 Bean <bean123ch@gmail.com>
25940
25941 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25942 Don't change pv->disk if it's already set.
25943
25944 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25945 (grub_raid_register): ... here.
25946 (grub_raid_rescan): Removed.
25947
25948 * include/grub/raid.h (grub_raid_rescan): Removed.
25949
25950 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25951 (fstest): Replace grub_raid_rescan with module fini function followed
25952 by init function.
25953
25954 * util/grub-probe.c: Add include file <grub/raid.h>.
25955 (probe_raid_level): New function.
25956 (probe): Detect abstraction by walking the disk device, support two
25957 level of abstraction (LVM on RAID) when detecting partition map.
25958
24443b5a 259592009-07-31 Pavel Roskin <proski@gnu.org>
25960
25961 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25962 to grub_zalloc(), it was erroneous.
25963 Reported by Bean <bean123ch@gmail.com>
25964
a275d9e7 259652009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25966
25967 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25968 embedding zone, not only the first one.
a275d9e7 25969
56c5a47f 259702009-07-29 Joe Auricchio <jauricchio@gmail.com>
25971
25972 * term/gfxterm.c (clear_char): New function.
25973 (grub_virtual_screen_setup): Use clear_char.
25974 (scroll_up): Likewise.
25975 (grub_virtual_screen_cls): Likewise.
25976
67bb323a 259772009-07-29 Felix Zielcke <fzielcke@z-51.de>
25978
25979 * util/deviceiter.c (get_acceleraid_disk_name): New static
25980 function.
25981 (grub_util_iterate_devices): Handle Accelraid devices.
25982 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25983
388a7c75 259842009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25985
25986 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25987 separator for the suggested gfxpayload string (';' collides with the
25988 parser and needs escaping).
25989
3bb7abcf 259902009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25993 Clear direction flag before jumping to OS.
25994 (grub_multiboot2_real_boot): Likewise.
25995
2ddd36d7 259962009-07-28 Felix Zielcke <fzielcke@z-51.de>
25997
25998 * util/i386/pc/grub-install: Fix parsing of --disk-module
25999 option.
26000
c521b62b 260012009-07-28 Felix Zielcke <fzielcke@z-51.de>
26002
26003 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26004 when embedding.
26005
880e0a0c 260062009-07-26 Felix Zielcke <fzielcke@z-51.de>
26007
26008 * util/grub-mkconfig.in (package_version): New variable.
26009 Use it do display the version.
26010
2366e356 260112009-07-25 Felix Zielcke <fzielcke@z-51.de>
26012
26013 * kern/file.c (grub_file_open): Revert to previous check with
26014 grub_errno.
26015
7ad8c80e 260162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26017
26018 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26019 from help line. It's out of sync with code.
26020
72b9658b 260212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26022
26023 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26024 entries on failed boot.
26025
77435277 260262009-07-25 Felix Zielcke <fzielcke@z-51.de>
26027
26028 * kern/file.c (grub_file_open): Fix an error check.
26029
fcaa8b21 260302009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26031
35d16c74 26032 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26033 partition map couldn't be identified.
fcaa8b21 26034
48904cd1 260352009-07-23 Pavel Roskin <proski@gnu.org>
26036
ef3c317f 26037 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26038 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26039 case of little endian words becomes just an optimization.
26040 Respect const modifier.
ad8ea1f4 26041 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26042
48904cd1 26043 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26044 to avoid loss of upper bits if align is unsigned and shorter
26045 than addr.
26046
260c9a89 260472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26048
26049 UUID support for UFS
26050
26051 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26052 (grub_ufs_uuid): New function.
26053 (grub_ufs_fs): add .uuid
26054
f76ce889 260552009-07-21 Pavel Roskin <proski@gnu.org>
26056
26057 * kern/dl.c (grub_dl_check_header): Make static.
26058
6a6cbcaf 260592009-07-21 Felix Zielcke <fzielcke@z-51.de>
26060
26061 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26062 add drivemap for Vista. It breaks Windows 7.
26063
cffcddb2 260642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26065
26066 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26067 128 bytes
26068
1ef44b80 260692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26070
26071 Add BFS support
26072
26073 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26074 (grub_fstest_SOURCES): Likewise.
26075 (pkglib_MODULES): Add befs.mod.
26076 (befs_mod_SOURCES): New variable.
26077 (befs_mod_CFLAGS): Likewise.
26078 (befs_mod_LDFLAGS): Likewise.
26079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26080 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26083 (grub_setup_SOURCES): Likewise.
26084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26086 (grub_setup_SOURCES): Likewise.
26087 * fs/befs.c: New file.
26088 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26089 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26090 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26091 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26092 (B_KEY_INDEX_ALIGN): New declaration.
26093 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26094 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26095 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26096 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26097 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26098 (grub_afs_mount) [MODE_BFS]: Likewise.
26099 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26100 (grub_afs_fs): Use GRUB_AFS_FSNAME
26101 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26102 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26103 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26104 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26105
4f253044 261062009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26107
26108 * util/getroot.c (find_root_device): Add support for MacOSX.
26109 * util/hostdisk.c: Likewise.
26110
57a55913 261112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26112
26113 * font/font.c (find_glyph): Check whether a font is present to avoid
26114 segmentation fault.
75421ca9 26115
261162009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26117
26118 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26119
e98cd0c2 261202009-07-20 Pavel Roskin <proski@gnu.org>
26121
26122 * configure.ac: Trim excessively wordy excuses.
26123
1d2d169a 261242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 Add symlink, mtime and label support to AtheFS.
26127
26128 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26129 (grub_afs_iterate_dir): Handle symlinks.
26130 (grub_afs_open): Use grub_afs_read_symlink.
26131 (grub_afs_dir): Likewise.
26132 Pass mtime.
26133 (grub_afs_label): New function.
26134 (grub_afs_fs): Add grub_afs_label.
26135 (grub_afs_read_symlink): New function.
26136
186f3189 261372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26138
26139 Fix AtheFS support.
26140
26141 * fs/afs.c: Fix comments style.
26142 (grub_afs_blockrun): Declare as packed.
26143 (grub_afs_datastream): Likewise.
26144 (grub_afs_bnode): Likewise.
26145 (grub_afs_btree): Likewise.
26146 (grub_afs_sblock): Likewise.
26147 Declare `name' as char.
26148 (grub_afs_inode): Declare as packed.
26149 Change void *vnode to grub_uint32_t unused.
26150 (grub_afs_iterate_dir): Check that key_size is positive.
26151 (grub_afs_mount): Don't read superblock twice.
75421ca9 26152 (grub_afs_dir): Don't free node in case of error,
186f3189 26153 grub_fshelp_find_file already handles this.
26154 (grub_afs_open): Likewise.
26155
5680109e 261562009-07-19 Pavel Roskin <proski@gnu.org>
26157
26158 * Makefile.in: Remove LIBLZO and enable_lzo.
26159 * conf/i386-pc.rmk: Remove lzo support.
26160 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
26161 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
26162 support.
26163 * kern/i386/pc/lzo1x.S: Remove.
26164 * kern/i386/pc/startup.S: Remove lzo support.
26165 * util/i386/pc/grub-mkimage.c: Likewise.
26166
ac70fa32 261672009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
26170 * fs/xfs.c (grub_xfs_dir): Likewise.
26171 * fs/afs.c (grub_afs_dir): Likewise.
26172 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
26173 (grub_iso9660_open): Likewise.
26174 * fs/jfs.c (grub_jfs_open): Likewise.
26175 * fs/ext2.c (grub_ext2_dir): Likewise.
26176 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
26177 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 26178
eab58da2 261792009-07-16 Pavel Roskin <proski@gnu.org>
26180
d2838156 26181 * configure.ac: Never add "-c" to CFLAGS.
26182
55c70904 26183 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
26184
43e6200c 26185 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
26186 grub_cv_cc_efiemu should be used.
26187
ce7a733d 26188 * configure.ac: Typo fixes.
26189
eab58da2 26190 * kern/mm.c (grub_zalloc): New function.
26191 (grub_debug_zalloc): Likewise.
26192 * include/grub/mm.h: Declare grub_zalloc() and
26193 grub_debug_zalloc().
26194 * util/misc.c (grub_zalloc): New function.
26195 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
26196 instead of grub_malloc(), remove unneeded initializations.
26197 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
26198 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
26199 * commands/parttool.c (grub_cmd_parttool): Likewise.
26200 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
26201 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
26202 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
26203 * disk/usbms.c (grub_usbms_finddevs): Likewise.
26204 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
26205 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
26206 (grub_cmd_efiemu_pnvram): Likewise.
26207 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
26208 * fs/iso9660.c (grub_iso9660_mount): Likewise.
26209 (grub_iso9660_iterate_dir): Likewise.
26210 * fs/jfs.c (grub_jfs_opendir): Likewise.
26211 * fs/ntfs.c (list_file): Likewise.
26212 (grub_ntfs_mount): Likewise.
26213 * kern/disk.c (grub_disk_open): Likewise.
26214 * kern/dl.c (grub_dl_load_core): Likewise.
26215 * kern/elf.c (grub_elf_file): Likewise.
26216 * kern/env.c (grub_env_context_open): Likewise.
26217 (grub_env_set): Likewise.
26218 (grub_env_set_data_slot): Likewise.
26219 * kern/file.c (grub_file_open): Likewise.
26220 * kern/fs.c (grub_fs_blocklist_open): Likewise.
26221 * loader/i386/multiboot.c (grub_module): Likewise.
26222 * loader/xnu.c (grub_xnu_create_key): Likewise.
26223 (grub_xnu_create_value): Likewise.
26224 * normal/main.c (grub_normal_add_menu_entry): Likewise.
26225 (read_config_file): Likewise.
26226 * normal/menu_entry.c (make_screen): Likewise.
26227 * partmap/sun.c (sun_partition_map_iterate): Likewise.
26228 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
26229 * script/sh/script.c (grub_script_parse): Likewise.
26230 * video/bitmap.c (grub_video_bitmap_create): Likewise.
26231 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
26232 * video/readers/png.c (grub_png_output_byte): Likewise.
26233 (grub_video_reader_png): Likewise.
26234
830afef7 262352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 26236
26237 Enable all targets that can be built by default
26238
830afef7 26239 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 26240 grub-mkfont and grub-fstest if they can be built
26241
ee293aee 262422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26243
26244 Fix hang and segmentation fault in grub-emu-usb
26245
26246 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
26247 * util/usb.c (grub_libusb_devices): likewise
26248 (grub_libusb_init): rename to ...
26249 (GRUB_MOD_INIT (libusb)):...this
26250 (grub_libusb_fini): rename to ..
26251 (GRUB_MOD_FINI (libusb)):...this
26252 * disk/usbms.c (grub_usbms_transfer): fix retry logic
26253 * include/grub/disk.h (grub_raid_init): removed, it's useless
26254 (grub_raid_fini): likewise
26255 (grub_lvm_init): likewise
26256 (grub_lvm_fini): likewise
26257 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
26258 by grub_init_all
26259
94414221 262602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 Fix libusb
26263
26264 * Makefile.in (LIBUSB): new macro
26265 * genmk.rb (Utility/print_tail): new method
26266 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
26267 (top level): call util.print_tail at the end.
26268
59ade63d 262692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26270
26271 Make FreeBSD accept zpool.cache
26272
26273 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
26274 type is /boot/zfs/zpool.cache
26275
a58da8c7 262762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
26277
26278 Fix 64-bit efiemu
26279
26280 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
26281 correct wrong typedef
26282 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
26283
20591577 262842009-07-15 Pavel Roskin <proski@gnu.org>
26285
560ca572 26286 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
26287 * kern/disk.c (struct grub_disk_cache): Likewise.
26288
e8e8e4fd 26289 * commands/probe.c (options): Typo fix.
26290
fde24e10 26291 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
26292 Increase to 0x5a to accommodate FAT32. Adjust other offsets
26293 accordingly.
26294 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
26295
379c54c1 26296 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
26297 the end of "Error" to make the message more readable.
26298
7bd8f5bf 26299 * boot/i386/pc/boot.S (kernel_segment): Remove.
26300 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
26301 for destination.
26302
40b132c5 26303 * boot/i386/pc/boot.S (boot_version): Remove.
26304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
26305 Remove.
26306
20591577 26307 * include/grub/i386/pc/boot.h: Sort all offsets.
26308 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
26309 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
26310 * boot/i386/pc/boot.S: Assert location of every offset listed in
26311 include/grub/i386/pc/boot.h.
26312
2df32b2c 263132009-07-13 Pavel Roskin <proski@gnu.org>
26314
44b5d879 26315 * include/grub/i386/coreboot/machine.h: Rename
26316 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
26317 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
26318 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
26319
17dc3751 26320 * kern/dl.c: Force native word size to suppress warnings when
26321 compiling grub-emu.
26322
2df32b2c 26323 * kern/device.c (grub_device_iterate): Change struct part_ent to
26324 hold the name, not a pointer to it. Use one grub_malloc() per
26325 partition, not two. Free partition_name if grub_malloc() fails.
26326 Set ents to NULL only before grub_partition_iterate() is called.
26327
75c59f59 263282009-07-11 Bean <bean123ch@gmail.com>
26329
26330 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
26331 childname.
26332
0ae1bf88 263332009-07-10 Bean <bean123ch@gmail.com>
263342009-07-10 Robert Millan <rmh.grub@aybabtu.com>
26335
26336 * kern/ieee1275/openfw.c (grub_children_iterate)
26337 (grub_devalias_iterate): Fix size evaluation for property or path
26338 strings, which was broken since r2132.
26339
8279cade 263402009-07-07 Pavel Roskin <proski@gnu.org>
26341
7d8a52d3 26342 * commands/search.c (search_file): Merge into ...
26343 (search_fs): ... this. Accept search type as argument.
26344 (grub_cmd_search): Pass search type to search_fs().
26345
25f9a05a 26346 * include/grub/util/console.h: New file.
26347 * util/console.c: Use it instead of grub/machine/console.h.
26348 * util/grub-emu.c: Likewise.
26349
8279cade 26350 * lib/arg.c (find_long_option): Remove.
26351 (find_long): Add `len' argument, make `s' const char *.
26352 (grub_arg_parse): Parse long options in place, not in a
26353 temporary buffer.
26354
4a11b60f 263552009-07-06 Pavel Roskin <proski@gnu.org>
26356
99f68041 26357 * commands/search.c (search_fs): Fix potential NULL pointer
26358 dereference.
26359
4a11b60f 26360 * commands/search.c (search_fs): Replace QUID macro with quid_fn
26361 function pointer.
26362
e110f4de 263632009-07-06 Daniel Mierswa <impulze@impulze.org>
26364
26365 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
26366 comparison.
26367
46eeb6a2 263682009-07-05 Pavel Roskin <proski@gnu.org>
26369
bab74958 26370 * include/grub/i386/linux.h (struct linux_kernel_params):
26371 Restore padding3, it's still needed.
26372
46eeb6a2 26373 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
26374 FreeBSD.
26375 * util/osdetect.lua: Likewise.
26376
b4a1dc79 263772009-07-05 Bean <bean123ch@gmail.com>
26378
26379 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
26380
26381 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
26382 (grub_lua_getenv): Likewise.
26383 (grub_lua_setenv): Likewise.
26384 (save_errno): New function.
26385 (push_result): Likewise.
26386 (grub_lua_enum_device): Likewise.
26387 (grub_lua_enum_file): Likewise.
26388 (grub_lua_file_open): Likewise.
26389 (grub_lua_file_close): Likewise.
26390 (grub_lua_file_seek): Likewise.
26391 (grub_lua_file_read): Likewise.
26392 (grub_lua_file_getline): Likewise.
26393 (grub_lua_file_getsize): Likewise.
26394 (grub_lua_file_getpos): Likewise.
26395 (grub_lua_file_eof): Likewise.
26396 (grub_lua_file_exist): Likewise.
26397 (grub_lua_add_menu): Likewise.
26398
26399 * script/lua/grub_lua.h (isupper): New inline function.
26400 (islower): Likewise.
26401 (ispunct): Likewise.
26402 (isxdigit): Likewise.
26403 (strcspn): Change to normal function.
26404 (strpbkr): New function declaration.
26405 (memchr): Likewise.
26406
26407 * script/lua/grub_main.c (scan_str): New function.
26408 (strcspn): Likewise.
26409 (strpbrk): Likewise.
26410 (memchr): Likewise.
26411
26412 * script/lua/linit.c (lualibs): Enable the string library.
26413
26414 * util/osdetect.lua: New file.
26415
2da92295 264162009-07-04 Robert Millan <rmh.grub@aybabtu.com>
26417
26418 * include/grub/i386/linux.h (struct linux_kernel_params): Add
26419 `capabilities' member.
26420
b2582ec9 264212009-07-02 Pavel Roskin <proski@gnu.org>
26422
26423 * genparttoollist.sh: Add missing newline at the end.
26424
32622956 264252009-07-01 Pavel Roskin <proski@gnu.org>
26426
87a7339e 26427 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
26428
d23af54e 26429 * util/hostdisk.c (open_device): Remove `const' from
26430 `sysctl_size', as sysctlbyname() can change it (in this case it
26431 doesn't actually happen).
26432
c94b18a9 26433 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
26434 using signed long int constants.
26435
c6cd3ef0 26436 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
26437 constant to avoid a warning on FreeBSD.
26438
0df63420 26439 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
26440 where it's needed.
26441
999577f1 26442 * Makefile.in: Install include/grub/machine symlink.
26443
6f41557f 26444 * Makefile.in: When installing symlinks, use "cp -fR", which
26445 works on FreeBSD and MacOSX.
26446 From Yves Blusseau <cl7m42e02@sneakemail.com>
26447
c8d22988 26448 * kern/dl.c (grub_dl_resolve_symbol): Make static.
26449 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
26450
1b96e952 26451 * util/misc.c: Move grub_reboot() and grub_halt() ...
26452 * util/grub-emu.c: ... here. Make main_env static.
26453 * include/grub/util/misc.h: Remove main_env.
26454
2ef0084d 26455 * kern/mm.c: Use correct format to print size_t.
26456
32622956 26457 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
26458 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
26459 * kern/powerpc/dl.c: Likewise.
26460 * kern/sparc64/dl.c: Likewise.
26461 * kern/x86_64/dl.c: Likewise.
26462
3f7f0cd0 264632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 Fix grub-emu build on sparc64-ieee1275.
26466
75421ca9 26467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 26468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
26469
211d06b5 264702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26471
26472 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
26473 (grub_reboot, grub_halt): New functions.
26474
26475 * util/i386/pc/misc.c: Delete. Update all users.
26476 * util/sparc64/ieee1275/misc.c: Likewise.
26477 * util/powerpc/ieee1275/misc.c: Likewise.
26478
aaf53e3c 264792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 * conf/i386.rmk (setjmp_mod_SOURCES)
26482 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
26483 * conf/common.rmk (setjmp_mod_SOURCES)
26484 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
26485 to use $(target_cpu).
26486 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
26487 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
26488 * conf/powerpc-ieee1275.rmk: Likewise.
26489 * conf/sparc64-ieee1275.rmk: Likewise.
26490
26491 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
26492 $(target_cpu) for kern/$(target_cpu)/dl.c.
26493 * conf/i386-efi.rmk: Likewise.
26494 * conf/i386-ieee1275.rmk: Likewise.
26495 * conf/x86_64-efi.rmk: Likewise.
26496 * conf/i386-coreboot.rmk: Likewise.
26497 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
26498 $(target_cpu) for kern/$(target_cpu)/dl.c and for
26499 kern/$(target_cpu)/cache.S.
26500 * conf/sparc64-ieee1275.rmk: Likewise.
26501
a337130b 265022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
26503
26504 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
26505 type to `grub_uint8_t', and adjust `padding9' accordingly.
26506
c6fe4d53 265072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26508
b09db61d 26509 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
26510
c6fe4d53 26511 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
26512 assembly in final jump, using register constraints.
26513
b09db61d 26514 (grub_linux_boot): For text mode, initialize `have_vga' using
26515 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
26516
26517 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
26518 right before the final jump.
26519
26520 Set `video_mode' to 0x3.
26521
26522 Document initialization of `video_page', `video_mode' and
26523 `video_ega_bx'.
26524
28333ad0 265252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26526
26527 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
26528 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 26529 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 26530
02164e1b 265312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 Fix build on Debian / sparc.
26534
26535 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
26536
18b6c557 265372009-06-28 Pavel Roskin <proski@gnu.org>
26538
85f2aab6 26539 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
26540 fix a warning.
26541
18b6c557 26542 * util/grub.d/10_linux.in: Match SUSE style initrd names.
26543
ad760f81 265442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26545
26546 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
26547 `err'.
26548
87a4623b 265492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26550
26551 Revert r2338.
26552
26553 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
26554 file can't be opened. grub_file_open() is already supposed to set
75421ca9 26555 grub_errno / grub_errmsg appropriately.
87a4623b 26556 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26557
8231fb77 265582009-06-27 Pavel Roskin <proski@gnu.org>
265592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
26560
26561 * include/grub/dl.h: Include grub/elf.h.
26562 (struct grub_dl): Add symtab field.
26563 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
26564 GRUB_MODULES_MACHINE_READONLY.
26565 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
26566 of the header for read-only modules.
26567 (grub_dl_unload): Free mod->symtab for read-only modules.
26568 * kern/i386/dl.c: Use mod->symtab.
26569 * kern/powerpc/dl.c: Likewise.
26570 * kern/sparc64/dl.c: Likewise.
26571 * kern/x86_64/dl.c: Likewise.
26572
26573 * conf/i386-qemu.rmk: New file.
26574 * kern/i386/qemu/startup.S: Likewise.
26575 * kern/i386/qemu/mmap.c: Likewise.
26576 * boot/i386/qemu/boot.S: Likewise.
26577 * include/grub/i386/qemu/time.h: Likewise.
26578 * include/grub/i386/qemu/serial.h: Likewise.
26579 * include/grub/i386/qemu/kernel.h: Likewise.
26580 * include/grub/i386/qemu/console.h: Likewise.
26581 * include/grub/i386/qemu/boot.h: Likewise.
26582 * include/grub/i386/qemu/init.h: Likewise.
26583 * include/grub/i386/qemu/machine.h: Likewise.
26584 * include/grub/i386/qemu/loader.h: Likewise.
26585 * include/grub/i386/qemu/memory.h: Likewise.
26586
26587 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
26588 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
26589 [qemu] (pkglib_IMAGES): Add `boot.img'.
26590 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
26591 [qemu] (boot_img_FORMAT): New variables.
26592 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
26593 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
26594 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
26595 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26596 [qemu] (kernel_img_FORMAT): New variables.
26597
26598 * configure.ac: Recognise `i386-qemu'.
26599
26600 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
26601 (for no compression).
26602 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
26603 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
26604 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
26605 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
26606 ifdefs).
26607
97fe384e 266082009-06-27 Pavel Roskin <proski@gnu.org>
26609
26610 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
26611 read.
26612 * efiemu/prepare32.c: Likewise.
26613 * efiemu/prepare64.c: Likewise.
26614
c402ab17 266152009-06-26 Pavel Roskin <proski@gnu.org>
26616
26617 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
26618 * include/grub/elf.h: Define symbols without "32" or "64" based
26619 on GRUB_TARGET_WORDSIZE.
26620 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
26621 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
26622 ELF definitions.
26623 * efiemu/loadcore64.c: Likewise.
26624 * loader/i386/bsd32.c: Likewise.
26625 * loader/i386/bsd64.c: Likewise.
26626 * kern/dl.c: Remove own ELF definitions.
26627 * util/i386/efi/grub-mkimage.c: Likewise.
26628
9bbdfd4d 266292009-06-23 Robert Millan <rmh.grub@aybabtu.com>
26630
26631 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
26632 segment 0x0 unconditionally, because the reference generated by
26633 GAS is an absolute address.
26634
a42ce6e9 266352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26636
26637 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26638 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26639
c952cf92 266402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26641
26642 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26643 indexes. Check for -f explicitly.
cc3752ad 26644 (search_file): Improve error message.
26645 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26646
132a0a59 266472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26650 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26651
387a140c 266522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26653
26654 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26655 * conf/i386-ieee1275.rmk: Likewise.
26656 * conf/i386-coreboot.rmk: Likewise.
26657
26658 * kern/i386/pc/startup.S (grub_stop): Remove function.
26659 * kern/i386/ieee1275/startup.S: Likewise.
26660 * kern/i386/coreboot/startup.S: Likewise.
26661 * kern/i386/misc.S (grub_stop): New function.
26662
41da9665 266632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26664
26665 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26666 * kern/i386/realmode.S (real_to_prot): ... to here.
26667
bf337234 266682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26669
26670 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26671 with `kernel.img'.
26672 (kernel_elf_SOURCES): Rename to ...
26673 (kernel_img_SOURCES): ... this.
26674 (kernel_elf_HEADERS): Rename to ...
26675 (kernel_img_HEADERS): ... this. Update all users.
26676 (kernel_elf_ASFLAGS): Rename to ...
26677 (kernel_img_ASFLAGS): ... this.
26678 (kernel_elf_CFLAGS): Rename to ...
26679 (kernel_img_CFLAGS): ... this.
26680 (kernel_elf_LDFLAGS): Rename to ...
26681 (kernel_img_LDFLAGS): ... this.
26682 * conf/i386-coreboot.rmk: Likewise.
26683 * conf/powerpc-ieee1275.rmk: Likewise.
26684
26685 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26686 with "kernel.img".
26687
f52196ff 266882009-06-21 Pavel Roskin <proski@gnu.org>
26689
c3cee413 26690 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26691 to match nested functions.
26692 * loader/sparc64/ieee1275/linux.c: Likewise.
26693
f52196ff 26694 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26695
58750afc 266962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26697
26698 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26699 all i386 platforms.
26700
15355c7d 267012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26702
26703 Fix asm file handling on ELF, and remove workarounds.
26704
26705 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26706 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26707 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26708 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26709
3f3ec72b 267102009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26711
26712 Load BSD ELF modules
26713
26714 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26715 and loader/i386/bsd64.c
26716 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26717 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26718 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26719 (grub_freebsd_load_elfmodule32): New declaration
26720 (grub_freebsd_load_elfmoduleobj64): Likewise
26721 (grub_freebsd_load_elf_meta32): Likewise
26722 (grub_freebsd_load_elf_meta64): Likewise
26723 (grub_freebsd_add_meta): Likewise
26724 (grub_freebsd_add_meta_module): Likewise
26725 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26726 (grub_freebsd_add_meta_module): Likewise and move module-specific
26727 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26728 (grub_cmd_freebsd): Add elf-kernel specific parts
26729 based on grub_freebsd_add_meta_module
26730 (grub_cmd_freebsd_module): Add type parsing moved from
26731 grub_freebsd_add_meta_module
26732 (grub_cmd_freebsd_module_elf): New function
26733 (cmd_freebsd_module_elf): New variable
26734 (GRUB_MOD_INIT): Register freebsd_module_elf
26735 * loader/i386/bsd32.c: New file
26736 * loader/i386/bsd64.c: Likewise
26737 * loader/i386/bsdXX.c: Likewise
26738 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26739 (grub_elf64_load): Likewise
26740 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26741 All users updated
26742 (grub_elf64_load_hook_t): Likewise
26743
0db15301 267442009-06-21 Colin Watson <cjwatson@ubuntu.com>
26745
26746 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26747 variable.
26748 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26749 don't write a menu entry for recovery mode.
26750
546796c1 267512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26752
26753 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26754 after it's no longer needed.
26755
cd7310d5 267562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26757
26758 * include/grub/i386/loader.h (grub_linux_prot_size)
26759 (grub_linux_tmp_addr, grub_linux_real_addr)
26760 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26761 GRUB_MACHINE_PCBIOS.
26762 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26763 common grub_util_info() call to ...
26764 (generate_image): ... here.
26765 Fix use of uninitialized memory, comparison of signed with
26766 unsigned integers and memory leak.
26767 Remove bogus module address message.
26768
ab32d3b5 267692009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26770
26771 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26772 grub_raid_register
26773 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26774
024ef597 267752009-06-19 Pavel Roskin <proski@gnu.org>
26776
26777 * configure.ac: Remove stray AC_MSG_CHECKING.
26778
3ac72b51 267792009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26782
e14cd814 267832009-06-18 Pavel Roskin <proski@gnu.org>
26784
26785 * conf/common.rmk: Add fs_file.mod.
26786 * disk/fs_file.c: New file.
26787 * include/grub/disk.h (enum grub_disk_dev_id): Add
26788 GRUB_DISK_DEVICE_FILE_ID.
26789
26586d98 267902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 Fix build with Apple's toolchain. Part 2
26793
26794 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26795 a fake start
26796
26de2bcd 267972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26798
26799 Fix build with Apple's toolchain. Part 1
26800
26801 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26802 for long calls
26803 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26804 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26805 Apple's toolchain
26806
09b3490b 268072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26808
26809 Fix warnings
26810
26811 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26812 (decomp_block): initialize ch
26813 use grub_memcpy instead of memcpy
26814
c22a006a 268152009-06-17 Pavel Roskin <proski@gnu.org>
26816
d3638678 26817 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26818 version, use declarations needed to use vga_text as the startup
26819 console.
26820
c22a006a 26821 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26822 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26823 the kernel.
26824 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26825 and grub_at_keyboard_fini(), it's done on module load and
26826 unload.
26827
05b129e0 268282009-06-17 Felix Zielcke <fzielcke@z-51.de>
26829
26830 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26831 file can't be found.
26832 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26833
cf24ed9e 268342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26835
26836 Fix newline handling
26837
26838 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26839 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26840 (grub_script_yylex): don't segfault on unterminated script
26841 newline terminates command and variable
26842
74aa8e4b 268432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26844
26845 avoid double grub_adjust_range call. Bug reported by David Simner
26846
26847 * kern/disk.c (grub_disk_write): change to raw disk access before
26848 calling disk_read
26849
1bd265f3 268502009-06-17 Colin Watson <cjwatson@ubuntu.com>
26851
26852 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26853 spaces, for the benefit of help2man.
26854 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26855
a2d08c06 268562009-06-16 Pavel Roskin <proski@gnu.org>
26857
26858 * kern/i386/halt.c: Include grub/machine/init.h.
26859 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26860
b97bcb19 268612009-06-16 Felix Zielcke <fzielcke@z-51.de>
26862
26863 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26864 drivemap menuentry.
26865
0644f96c 268662009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26867
26868 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26869 `echo' command.
26870
3ef17a2e 268712009-06-16 Pavel Roskin <proski@gnu.org>
26872
26873 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26874 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26875 save %dx, we only need %dl and we never change it.
26876 * boot/i386/pc/cdboot.S: Don't set the root drive.
26877 * boot/i386/pc/pxeboot.S: Likewise.
26878 * include/grub/i386/pc/boot.h: Remove
26879 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26880 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26881 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26882 * kern/i386/pc/init.c (make_install_device): Remove references
26883 to grub_root_drive.
26884 * kern/i386/pc/startup.S: Likewise.
26885 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26886
693fe637 268872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 xnu_uuid command
26890
26891 * commands/xnu_uuid.c: new file
26892 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26893 (xnu_uuid_mod_SOURCES): new variable
26894 (xnu_uuid_mod_CFLAGS): likewise
26895 (xnu_uuid_mod_LDFLAGS): likewise
26896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26897 * conf/i386-ieee1275.rmk: likewise
26898 * conf/i386-pc.rmk: likewise
26899 * conf/powerpc-ieee1275.rmk: likewise
26900 * conf/sparc64-ieee1275.rmk: likewise
26901 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26902
c9da87d0 269032009-06-16 Pavel Roskin <proski@gnu.org>
26904
26905 * configure.ac: Avoid '==' in test command, it's not portable.
26906
9c6f4596 269072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 Probe command
26910
26911 * commands/probe.c: new file
26912 * conf/common.rmk (pkglib_MODULES): add probe.mod
26913 (probe_mod_SOURCES): new variable
26914 (probe_mod_CFLAGS): likewise
26915 (probe_mod_LDFLAGS): likewise
26916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26917 * conf/i386-ieee1275.rmk: likewise
26918 * conf/i386-pc.rmk: likewise
26919 * conf/powerpc-ieee1275.rmk: likewise
26920 * conf/sparc64-ieee1275.rmk: likewise
26921
70b7f9fd 269222009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26923
26924 Fix handling of string like \"hello\" and "a
26925 b"
26926
26927 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26928 (grub_script_yylex): fix parsing of quoting, escaping and newline
26929
71c79a6b 269302009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26931
dd74360c 26932 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26933 handling
dd74360c 26934
0644f96c 269352009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26936
26937 * util/grub-mkconfig.in: Fix parsing of --output option.
26938
e40893c3 269392009-06-12 Pavel Roskin <proski@gnu.org>
26940
26941 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26942 genmk.rb don't need to be generated or installed.
26943
3a1acfe2 269442009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 * commands/i386/pc/drivemap_int13h.S: add more comments
26947
3a4575d4 269482009-06-11 Pavel Roskin <proski@gnu.org>
26949
0658e928 26950 * Makefile.in (uninstall): Uninstall manuals.
26951
ca0388f0 26952 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26953 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26954 and update-grub_lib in two places.
26955 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26956
e3b27c39 26957 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26958 a compiler warning.
26959
3a4575d4 26960 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26961 `entry_lo' to fix variable shadowing.
26962
af1f4f55 269632009-06-11 Christian Franke <franke@computer.org>
26964
26965 * kern/misc.c (__enable_execute_stack): Add missing return type
26966 to prevent gcc warning.
26967
5225e649 269682009-06-11 Felix Zielcke <fzielcke@z-51.de>
26969
26970 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26971
7d83bd47 269722009-06-11 Pavel Roskin <proski@gnu.org>
26973
c1cb63ba 26974 * Makefile.in: Don't rely on any scripts being executable.
26975 Always use $(SHELL) to run shell scripts.
26976
7d83bd47 26977 * configure.ac: Always define ___main if using -nostdlib. This
26978 fixes tests on Cygwin.
26979
948f48e7 269802009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26981
26982 UDF fix
26983
7d83bd47 26984 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26985 is in bytes and not in blocks
7d83bd47 26986
8ada9bc1 269872009-06-11 Pavel Roskin <proski@gnu.org>
26988
26989 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26990 warning.
26991
25ad2323 269922009-06-11 Felix Zielcke <fzielcke@z-51.de>
26993
26994 * util/grub.d/30_os-prober.in: Fix a comment. Source
26995 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26996 to set the root device. Place drivemap command in the generated
26997 chain entry.
26998
e65acb0c 269992009-06-11 Pavel Roskin <proski@gnu.org>
27000
27001 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27002 have long been resolved.
27003
f285fe2d 270042009-06-11 Colin Watson <cjwatson@ubuntu.com>
27005
bd47b0b5 27006 * util/grub.d/10_linux.in: Capitalise "Linux".
27007
f285fe2d 27008 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27009
a0c62e4e 270102009-06-11 Pavel Roskin <proski@gnu.org>
27011
b6783cb2 27012 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27013 fix a gcc warning and ensure that the function won't ever exit.
27014
dde032e8 27015 * kern/i386/ieee1275/init.c: Add missing prototype for
27016 grub_stop_floppy().
27017
22cd079d 27018 * loader/ieee1275/multiboot2.c [__i386__]: Include
27019 grub/cpu/multiboot.h.
27020
a0c62e4e 27021 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27022 casts to short - they are not portable and cause warnings. Fix
27023 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27024
63963d17 270252009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27026
27027 Drivemap fixes
27028
27029 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27030 new function
27031 (grub_get_root_biosnumber_saved): new variable
27032 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27033 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27034 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27035 %dx after the call if necessary
27036 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27037 (boot_mod_SOURCES): remove
27038 (boot_mod_CFLAGS): remove
27039 (boot_mod_LDFLAGS): remove
27040 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27041 (boot_mod_SOURCES): new variable
27042 (boot_mod_CFLAGS): likewise
27043 (boot_mod_LDFLAGS): likewise
27044 * conf/i386-efi.rmk: likewise
27045 * conf/i386-ieee1275.rmk: likewise
27046 * conf/i386-pc.rmk: likewise
27047 * conf/powerpc-ieee1275.rmk: likewise
27048 * conf/sparc64-ieee1275.rmk: likewise
27049 * conf/x86_64-efi.rmk: likewise
27050 * include/grub/i386/pc/biosnum.h: new file
27051 * lib/i386/pc/biosnum.c: likewise
27052 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27053 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27054 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27055
33abf7ae 270562009-06-10 Pavel Roskin <proski@gnu.org>
27057
5ac35b35 27058 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27059 Use separate variables. Read only the file size at the end, but
27060 not the checksum that we don't use.
27061
5c5215d5 27062 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27063 Adjust all callers.
27064
27d5fef7 27065 * kern/ieee1275/openfw.c: Remove libc includes.
27066 * kern/ieee1275/cmain.c: Likewise.
27067 * include/grub/ieee1275/ieee1275.h: Likewise.
27068
33abf7ae 27069 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27070 compiler warnings.
27071
19d50c2b 270722009-06-10 Felix Zielcke <fzielcke@z-51.de>
27073
27074 * Makefile.in: Remove all trailing whitespace.
27075 * conf/i386-pc.rmk: Likewise.
27076 * conf/powerpc-ieee1275.rmk: Likewise.
27077 * conf/sparc64-ieee1275.rmk: Likewise.
27078 * docs/grub.texi: Likewise.
27079 * docs/texinfo.tex: Likewise.
27080 * disk/fs_uuid.c: Likewise.
27081 * disk/lvm.c: Likewise.
27082 * disk/scsi.c: Likewise.
27083 * disk/ata.c: Likewise.
27084 * disk/ieee1275/ofdisk.c: Likewise.
27085 * disk/i386/pc/biosdisk.c: Likewise.
27086 * disk/host.c: Likewise.
27087 * disk/raid.c: Likewise.
27088 * disk/efi/efidisk.c: Likewise.
27089 * disk/usbms.c: Likewise.
27090 * disk/memdisk.c: Likewise.
27091 * disk/loopback.c: Likewise.
27092 * kern/powerpc/dl.c: Likewise.
27093 * kern/device.c: Likewise.
27094 * kern/dl.c: Likewise.
27095 * kern/sparc64/dl.c: Likewise.
27096 * kern/ieee1275/ieee1275.c: Likewise.
27097 * kern/term.c: Likewise.
27098 * kern/fs.c: Likewise.
27099 * kern/i386/dl.c: Likewise.
27100 * kern/i386/pc/startup.S: Likewise.
27101 * kern/i386/pc/init.c: Likewise.
27102 * kern/i386/pc/mmap.c: Likewise.
27103 * kern/i386/pc/lzo1x.S: Likewise.
27104 * kern/i386/ieee1275/init.c: Likewise.
27105 * kern/i386/realmode.S: Likewise.
27106 * kern/i386/tsc.c: Likewise.
27107 * kern/partition.c: Likewise.
27108 * kern/corecmd.c: Likewise.
27109 * kern/file.c: Likewise.
27110 * kern/efi/efi.c: Likewise.
27111 * kern/efi/init.c: Likewise.
27112 * kern/efi/mm.c: Likewise.
27113 * kern/main.c: Likewise.
27114 * kern/err.c: Likewise.
27115 * kern/env.c: Likewise.
27116 * kern/disk.c: Likewise.
27117 * kern/generic/millisleep.c: Likewise.
27118 * kern/generic/rtc_get_time_ms.c: Likewise.
27119 * kern/misc.c: Likewise.
27120 * kern/parser.c: Likewise.
27121 * genmk.rb: Likewise.
27122 * configure.ac: Likewise.
27123 * boot/i386/pc/diskboot.S: Likewise.
27124 * boot/i386/pc/pxeboot.S: Likewise.
27125 * boot/i386/pc/boot.S: Likewise.
27126 * boot/i386/pc/lnxboot.S: Likewise.
27127 * boot/i386/pc/cdboot.S: Likewise.
27128 * parttool/pcpart.c: Likewise.
27129 * video/readers/tga.c: Likewise.
27130 * video/video.c: Likewise.
27131 * video/bitmap.c: Likewise.
27132 * lib/envblk.c: Likewise.
27133 * lib/i386/setjmp.S: Likewise.
27134 * fs/xfs.c: Likewise.
27135 * fs/afs.c: Likewise.
27136 * fs/fat.c: Likewise.
27137 * fs/ntfs.c: Likewise.
27138 * fs/udf.c: Likewise.
27139 * fs/affs.c: Likewise.
27140 * fs/iso9660.c: Likewise.
27141 * fs/hfs.c: Likewise.
27142 * fs/fshelp.c: Likewise.
27143 * fs/ext2.c: Likewise.
27144 * fs/jfs.c: Likewise.
27145 * fs/reiserfs.c: Likewise.
27146 * fs/hfsplus.c: Likewise.
27147 * fs/minix.c: Likewise.
27148 * fs/cpio.c: Likewise.
27149 * fs/sfs.c: Likewise.
27150 * fs/ufs.c: Likewise.
27151 * efiemu/prepare.c: Likewise.
27152 * efiemu/loadcore_common.c: Likewise.
27153 * efiemu/runtime/efiemu.sh: Likewise.
27154 * efiemu/runtime/efiemu.S: Likewise.
27155 * efiemu/runtime/efiemu.c: Likewise.
27156 * efiemu/pnvram.c: Likewise.
27157 * efiemu/main.c: Likewise.
27158 * efiemu/i386/pc/cfgtables.c: Likewise.
27159 * efiemu/i386/loadcore64.c: Likewise.
27160 * efiemu/i386/loadcore32.c: Likewise.
27161 * efiemu/loadcore.c: Likewise.
27162 * efiemu/symbols.c: Likewise.
27163 * efiemu/mm.c: Likewise.
27164 * include/grub/autoefi.h: Likewise.
27165 * include/grub/datetime.h: Likewise.
27166 * include/grub/term.h: Likewise.
27167 * include/grub/hfs.h: Likewise.
27168 * include/grub/lvm.h: Likewise.
27169 * include/grub/i386/tsc.h: Likewise.
27170 * include/grub/i386/linux.h: Likewise.
27171 * include/grub/i386/xnu.h: Likewise.
27172 * include/grub/i386/efiemu.h: Likewise.
27173 * include/grub/i386/pc/biosdisk.h: Likewise.
27174 * include/grub/i386/pc/memory.h: Likewise.
27175 * include/grub/i386/pc/vbe.h: Likewise.
27176 * include/grub/parttool.h: Likewise.
27177 * include/grub/video.h: Likewise.
27178 * include/grub/memory.h: Likewise.
27179 * include/grub/fs.h: Likewise.
27180 * include/grub/partition.h: Likewise.
27181 * include/grub/xnu.h: Likewise.
27182 * include/grub/efi/api.h: Likewise.
27183 * include/grub/efi/pe32.h: Likewise.
27184 * include/grub/efi/memory.h: Likewise.
27185 * include/grub/multiboot.h: Likewise.
27186 * include/grub/usbdesc.h: Likewise.
27187 * include/grub/multiboot2.h: Likewise.
27188 * include/grub/acpi.h: Likewise.
27189 * include/grub/efiemu/efiemu.h: Likewise.
27190 * include/grub/disk.h: Likewise.
27191 * include/grub/ieee1275/ieee1275.h: Likewise.
27192 * include/grub/net.h: Likewise.
27193 * include/grub/machoload.h: Likewise.
27194 * include/grub/macho.h: Likewise.
27195 * include/multiboot.h: Likewise.
27196 * genmoddep.awk: Likewise.
27197 * normal/main.c: Likewise.
27198 * normal/menu_entry.c: Likewise.
27199 * normal/menu_viewer.c: Likewise.
27200 * normal/completion.c: Likewise.
27201 * normal/cmdline.c: Likewise.
27202 * normal/misc.c: Likewise.
27203 * normal/datetime.c: Likewise.
27204 * bus/usb/usbtrans.c: Likewise.
27205 * bus/usb/ohci.c: Likewise.
27206 * bus/usb/uhci.c: Likewise.
27207 * bus/usb/usb.c: Likewise.
27208 * mmap/efi/mmap.c: Likewise.
27209 * mmap/i386/pc/mmap_helper.S: Likewise.
27210 * mmap/i386/pc/mmap.c: Likewise.
27211 * mmap/i386/mmap.c: Likewise.
27212 * mmap/i386/uppermem.c: Likewise.
27213 * mmap/mmap.c: Likewise.
27214 * commands/acpi.c: Likewise.
27215 * commands/echo.c: Likewise.
27216 * commands/blocklist.c: Likewise.
27217 * commands/loadenv.c: Likewise.
27218 * commands/usbtest.c: Likewise.
27219 * commands/boot.c: Likewise.
27220 * commands/parttool.c: Likewise.
27221 * commands/search.c: Likewise.
27222 * commands/cat.c: Likewise.
27223 * commands/i386/pc/play.c: Likewise.
27224 * commands/i386/pc/drivemap.c: Likewise.
27225 * commands/i386/pc/vbeinfo.c: Likewise.
27226 * commands/i386/pc/acpi.c: Likewise.
27227 * commands/i386/pc/vbetest.c: Likewise.
27228 * commands/ls.c: Likewise.
27229 * commands/cmp.c: Likewise.
27230 * commands/test.c: Likewise.
27231 * commands/efi/acpi.c: Likewise.
27232 * commands/gptsync.c: Likewise.
27233 * commands/help.c: Likewise.
27234 * partmap/amiga.c: Likewise.
27235 * partmap/apple.c: Likewise.
27236 * partmap/acorn.c: Likewise.
27237 * partmap/pc.c: Likewise.
27238 * partmap/sun.c: Likewise.
27239 * partmap/gpt.c: Likewise.
27240 * script/sh/lexer.c: Likewise.
27241 * script/sh/function.c: Likewise.
27242 * font/font.c: Likewise.
27243 * font/font_cmd.c: Likewise.
27244 * loader/powerpc/ieee1275/linux.c: Likewise.
27245 * loader/efi/chainloader.c: Likewise.
27246 * loader/multiboot_loader.c: Likewise.
27247 * loader/macho.c: Likewise.
27248 * loader/i386/multiboot.c: Likewise.
27249 * loader/i386/linux.c: Likewise.
27250 * loader/i386/pc/linux.c: Likewise.
27251 * loader/i386/pc/multiboot2.c: Likewise.
27252 * loader/i386/pc/chainloader.c: Likewise.
27253 * loader/i386/pc/xnu.c: Likewise.
27254 * loader/i386/bsd_trampoline.S: Likewise.
27255 * loader/i386/efi/linux.c: Likewise.
27256 * loader/i386/multiboot_elfxx.c: Likewise.
27257 * loader/i386/bsd_helper.S: Likewise.
27258 * loader/i386/bsd.c: Likewise.
27259 * loader/i386/linux_trampoline.S: Likewise.
27260 * loader/i386/xnu_helper.S: Likewise.
27261 * loader/i386/xnu.c: Likewise.
27262 * loader/i386/bsd_pagetable.c: Likewise.
27263 * loader/i386/multiboot_helper.S: Likewise.
27264 * loader/xnu.c: Likewise.
27265 * loader/xnu_resume.c: Likewise.
27266 * io/gzio.c: Likewise.
27267 * term/efi/console.c: Likewise.
27268 * term/terminfo.c: Likewise.
27269 * term/ieee1275/ofconsole.c: Likewise.
27270 * term/i386/pc/serial.c: Likewise.
27271 * term/i386/pc/vesafb.c: Likewise.
27272 * term/i386/pc/vga.c: Likewise.
27273 * term/usb_keyboard.c: Likewise.
27274 * term/gfxterm.c: Likewise.
27275 * aclocal.m4: Likewise.
27276 * util/lvm.c: Likewise.
27277 * util/grub.d/30_os-prober.in: Likewise.
27278 * util/grub.d/10_hurd.in: Likewise.
27279 * util/console.c: Likewise.
27280 * util/grub-macho2img.c: Likewise.
27281 * util/grub-probe.c: Likewise.
27282 * util/hostfs.c: Likewise.
27283 * util/i386/pc/grub-mkimage.c: Likewise.
27284 * util/i386/pc/grub-setup.c: Likewise.
27285 * util/i386/efi/grub-mkimage.c: Likewise.
27286 * util/grub-mkconfig.in: Likewise.
27287 * util/raid.c: Likewise.
27288 * util/resolve.c: Likewise.
27289 * util/grub-mkdevicemap.c: Likewise.
27290 * util/grub-emu.c: Likewise.
27291 * util/getroot.c: Likewise.
27292 * util/hostdisk.c: Likewise.
27293 * util/usb.c: Likewise.
27294 * util/grub-editenv.c: Likewise.
27295 * util/misc.c: Likewise.
27296
d2d49665 272972009-06-10 Felix Zielcke <fzielcke@z-51.de>
27298
27299 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
27300 `genparttoollist.sh'.
27301 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
27302 Add `*.sh' to the list find searches for and change `mdate.sh'
27303 to `mdate-sh'.
27304
fe052e37 273052009-06-10 Pavel Roskin <proski@gnu.org>
27306
2763ac18 27307 * include/grub/multiboot2.h: Provide compatibility defines for
27308 multiboot2.h.
27309 * include/multiboot2.h: Include stdint.h only if needed, using
27310 angle brackets.
27311 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
27312 grub/multiboot2.h.
27313 * loader/ieee1275/multiboot2.c: Likewise.
27314 * loader/multiboot2.c: Likewise.
27315 * loader/multiboot_loader.c: Likewise.
27316
437e6adc 27317 * configure.ac: Use -nostdlib when probing for the target. It
27318 should not be required to have libc for the target.
27319
06a6836c 27320 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
27321 they fail without libc headers for the target.
27322 * include/grub/powerpc/libgcc.h: Use weak attribute for all
27323 exports.
27324 * include/grub/sparc64/libgcc.h: Likewise. Don't use
27325 preprocessor conditionals.
27326
fe052e37 27327 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
27328 build system doesn't need to be aware of the tar.c internals.
27329
afd22553 273302009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 27331
afd22553 27332 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 27333
6b787c4f 273342009-06-09 Robert Millan <rmh.grub@aybabtu.com>
27335
27336 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
27337 disk limit to 26 for IDE, Virtio, Xen and SCSI.
27338
273392009-06-09 Felix Zielcke <fzielcke@z-51.de>
27340
27341 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 27342 aren't available if ata.mod gets used.
6b787c4f 27343
473d1e45 273442009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 27345
473d1e45 27346 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 27347 initialising controller.
473d1e45 27348 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 27349
255a27d4 273502009-06-08 Felix Zielcke <fzielcke@z-51.de>
27351
27352 * util/i386/pc/grub-install.in: Add a parameter --disk-module
27353 to choose between ata and biosdisk module on i386-pc.
27354
473d1e45 273552009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 27356
d55842d8 27357 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
27358 Subclass and Programming Interface fields in terms of the 3 byte
27359 Class Code register.
27360 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
27361
fa5db0b1 27362 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
27363 interface is OHCI. Add grub_dprintf for symmetry with
27364 bus/usb/uhci.c.
27365 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
27366 interface is UHCI. Add interf variable for programming
27367 interface. Print interface with class/subclass.
27368
c0947beb 27369 * bus/usb/ohci.c: Set interf with correct field.
27370
69da8877 27371 * bus/usb/uhci.c: Remove unneeded doubled lines.
27372 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
27373 Remove whitespace inside comment.
27374
9e172e30 273752009-06-08 Robert Millan <rmh.grub@aybabtu.com>
27376
27377 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
27378 as fallback an equivalent option without depth.
27379
de65ee2b 273802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27381
27382 Not fail if unable to retrieve C/H/S on LBA disks
27383
473d1e45 27384 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 27385 if unable to retrieve C/H/S on LBA disks
27386
b57ea2c9 273872009-06-08 Pavel Roskin <proski@gnu.org>
27388
27389 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
27390 about aliasing.
27391
af361263 273922009-06-08 Felix Zielcke <fzielcke@z-51.de>
27393
27394 * Makefile.in (uninstall): Remove all $lib_DATA files.
27395
4c9ec6b3 273962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
27397
27398 Bugfix: install on partitionless device
27399
27400 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
27401 is a whole disk
27402
e76fc924 274032009-06-08 Felix Zielcke <fzielcke@z-51.de>
27404
27405 * Makefile.in (uninstall): Remove all $include_DATA files.
27406
ba5a0d05 274072009-06-08 Felix Zielcke <fzielcke@z-51.de>
27408
27409 * commands/true.c: New file. Implement the true and false commands.
27410 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
27411 (true_mod_SOURCES): New variable.
27412 (true_mod_CFLAGS): Likewise.
27413 (true_mod_LDFLAGS): Likewise.
27414
c8048e32 274152009-06-05 Colin D Bennett <colin@gibibit.com>
27416
27417 Optimized font character lookup using binary search instead of linear
27418 search. Fonts now are required to have the character index ordered by
27419 code point.
27420
27421 * font/font.c (load_font_index): Verify that fonts have ordered
27422 character indices.
27423 (find_glyph): Use binary search instead of linear search to find a
27424 character in a font.
27425
408305be 274262009-06-05 Michael Scherer <misc@mandriva.org>
27427
27428 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
27429 uses case sensitive btree.
27430 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
27431 only for case insensitive filesystems.
27432
8ee1e0d9 274332009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
27434
27435 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
27436 * conf/common.rmk (search_mod_CFLAGS): likewise
27437
a9966eb1 274382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27439
473d1e45 27440 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 27441 compensate a compiler bug
27442
9e7100fb 274432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27444
473d1e45 27445 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 27446 instead of '\b'
473d1e45 27447
ede21d71 274482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27449
27450 Definitions for creating asm symbols with Apple's CC
27451
27452 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
27453 [APPLE_CC] (VARIABLE): likewise
27454
9dbf7653 274552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27456
27457 Disable lnxboot.img when compiled
27458 with Apple's CC
27459
27460 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
27461 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
27462 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
27463 [! APPLE_CC] (CODE_LENG): skip
27464 [! APPLE_CC] (setup_sects): likewise
27465 [! APPLE_CC]: skip filling
473d1e45 27466
e93cdc3d 274672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27468
27469 Address in trampolines based on 32-bit registers when compiled
27470 with Apple's CC
27471
473d1e45 27472 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 27473 for addresses
27474 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
27475
6c688477 274762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27477
27478 Avoid aliases when compiling with Apple's CC for PCBIOS machine
27479
27480 * kern/misc.c [APPLE_CC] (memcpy): new function
27481 [APPLE_CC] (memmove): likewise
27482 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 27483 (memcpy): define alias conditionally on !APPLE_CC
6c688477 27484 (memset): likewise
27485 (abort): likewise
27486 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
27487 APPLE_CC are defined
27488 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
27489 (grub_assert_fail): make prototype conditional
27490
e37ffc5c 274912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
27494
473d1e45 27495 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
27496 grub-macho2img
e37ffc5c 27497 (CLEANFILES): add grub-macho2img
27498 (grub_macho2img_SOURCES): new variable
27499 * kern/i386/pc/startup.S (bss_start): new variable
27500 (bss_end): likewise
27501 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
27502 * util/grub-macho2img.c: new file
27503
cf00df31 275042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27505
27506 Use objconv when compiling with Apple's CC
27507
27508 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
27509 (efiemu64.o): likewise
27510 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
27511 when compiling with Apple's CC
27512 (efiemu64_s.o): likewise
27513 * configure.ac: check for objconv when compiling with Apple's CC
27514 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 27515
d119a20c 275162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27517
27518 Define segment as well as section when compiling with
27519 Apple's CC
27520
27521 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
27522 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
27523 (efiemu_convert_pointer): likewise
27524 (efiemu_set_virtual_address_map): likewise
27525 (efiemu_convert_pointer): likewise
27526 (efiemu_getcrc32): likewise
27527 (init_crc32_table): likewise
27528 (reflect): likewise
27529 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
27530 (GRUB_MOD_DEP): likewise
473d1e45 27531
c8600122 275322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27533
27534 Allow a compilation without -mcmodel=large
27535
27536 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
27537 when compiled without -mcmodel=large
473d1e45 27538 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 27539 without -mcmodel=large
473d1e45 27540 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 27541 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 27542
e8df1d4e 275432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27544
27545 Remove nested functions in efiemu core
27546
27547 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 27548
cc6c3ac1 275492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
27552
27553 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
27554 temporary storage
473d1e45 27555 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
27556 using Apple's CC
cc6c3ac1 27557 (grub_cpu_is_tsc_supported): likewise
27558 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 27559
3e325901 275602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27561
27562 Absolute addressing through constant with Apple's cc
27563
27564 * kern/i386/pc/startup.S: Define necessary constants
27565 and address through it when using ABS with Apple's CC
27566 * boot/i386/pc/diskboot.S: likewise
27567 * boot/i386/pc/boot.S: likewise
27568 * boot/i386/pc/lnxboot.S: likewise
27569 * boot/i386/pc/cdboot.S: likewise
27570 * mmap/i386/pc/mmap_helper.S: likewise
27571 * commands/i386/pc/drivemap_int13h.S: likewise
27572
2b167a72 275732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 Check if compiler is apple cc
27576
27577 * Makefile.in (ASFLAGS): new variable
27578 (TARGET_ASFLAGS): likewise
27579 (TARGET_MODULE_FORMAT): likewise
27580 (TARGET_APPLE_CC): likewise
27581 (OBJCONV): likewise
27582 (TARGET_IMG_CFLAGS): likewise
27583 (TARGET_CPPFLAGS): add includedir
27584 * configure.ac: call grub_apple_cc and grub_apple_target_cc
27585 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
27586 Check for linker script only if compiler isn't Apple's CC
27587 (TARGET_MODULE_FORMAT): set
27588 (TARGET_APPLE_CC): likewise
27589 (TARGET_ASFLAGS): likewise
27590 (ASFLAGS): likewise
27591 Check for objcopy only if compiler isn't Apple's CC
27592 Check for BSS symbol only if compiler isn't Apple's CC
27593 * genmk.rb: adapt nm options if we use Apple's utils
27594 * aclocal.m4 (grub_apple_cc): new test
27595 (grub_apple_target_cc): likewise
473d1e45 27596
fb14123e 275972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27598
27599 Simplify sed expressions and improve awk
27600
27601 * Makefile.in (install-local): simplify sed expression
27602 * gencmdlist.sh: likewise
27603 * genmoddep.awk: avoid adding module as a dependency of itself
27604
5b889789 276052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27606
27607 Add missing start symbols
27608
27609 * boot/i386/pc/boot.S: add start
fb14123e 27610 * boot/i386/pc/pxeboot.S: likewise
473d1e45 27611
fd2bf2e3 276122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 27615
27616 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 27617 (relocate_addresses): consider both r_addend and value at offset
27618 (make_mods_section): zerofill modinfo and header
27619 (convert_elf): write prefix here
473d1e45 27620
5389763d 276212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 Use .asciz instead of .string
27624
27625 * i386/pc/diskboot.S: use .asciz instead of .string
27626 * i386/pc/boot.S: likewise
27627 * include/grub/dl.h (GRUB_MOD_DEP): likewise
27628 (GRUB_MOD_NAME): likewise
473d1e45 27629
3eb5ed4e 276302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27631
27632 gfxpayload support
27633
27634 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27635 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27636 (grub_video_setup): remove
27637 (grub_video_set_mode): new prototype
27638 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27639 (vid_mode): remove
27640 (linux_vesafb_res): compile only on PCBIOS
27641 (grub_linux_boot): support gfxpayload
27642 * loader/i386/pc/xnu.c (video_hook): new function
27643 (grub_xnu_set_video): support gfxpayload
27644 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27645 (DEFAULT_VIDEO_HEIGHT): likewise
27646 (DEFAULT_VIDEO_FLAGS): likewise
27647 (DEFAULT_VIDEO_MODE): new definition
27648 (video_hook): new function
27649 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27650 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27651 loading xnu
27652 * video/video.c (grub_video_setup): removed
473d1e45 27653 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27654 grub_video_setup
27655
4b0e1143 276562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 Avoid calling biosdisk in drivemap
27659
27660 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27661 (revparse_biosdisk): likewise
27662 (list_mappings): derive name from id directly
27663 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27664
fda6cb98 276652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 Script fixes
27668
27669 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27670 (grub_lexer_param): add tokenonhold
27671 (grub_script_create_cmdline): remove cmdline. All callers updated
27672 (grub_script_function_create): make functionname
27673 grub_script_arg. All callers updated
27674 (grub_script_execute_argument_to_string): new prototype
27675 * kern/parser.c (state_transitions): reorder
27676 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27677 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27678 make global
27679 (grub_script_execute_cmdline): use new format
27680 * script/sh/function.c (grub_script_function_create): make functionname
27681 grub_script_arg. All callers updated
473d1e45 27682 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27683 (grub_script_yylex): remove
27684 (grub_script_yylex2): renamed to ...
27685 (grub_script_yylex): ...renamed
27686 parse the expressions like a${b}c
27687 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27688 (GRUB_PARSER_TOKEN_VAR): remove
27689 (GRUB_PARSER_TOKEN_NAME): likewise
27690 ("if"): declare as typeless
27691 ("while"): likewise
27692 ("function"): likewise
27693 ("else"): likewise
27694 ("then"): likewise
27695 ("fi"): likewise
27696 (text): remove
27697 (argument): likewise
27698 (script): accept empty scripts and make exit on error
27699 (arguments): use GRUB_PARSER_TOKEN_ARG
27700 (function): likewise
27701 (command): move error handling to script
27702 (menuentry): move grub_script_lexer_ref before
473d1e45 27703 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27704 argument. All callers updated
27705
f4448a07 277062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27707
27708 Prevent GRUB from probing floppies during boot.
27709
27710 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27711 * commands/search.c (options): Add --no-floppy.
27712 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27713 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27714 --no-floppy when searching for UUIDs.
27715
2bf5885a 277162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27717
27718 Simplify the code duplication in commands/search.c.
27719
27720 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27721 (search_fs): ... this. Update all users.
27722
f6fd460a 277232009-06-03 Felix Zielcke <fzielcke@z-51.de>
27724
27725 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27726
cbb3c83e 277272009-05-28 Pavel Roskin <proski@gnu.org>
27728
57788cfd 27729 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27730 Remove the original symlink explicitly.
27731
cbb3c83e 27732 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27733 just one slash. That's how grub_fshelp_find_file() does it.
27734
cd0d5e30 277352009-05-26 Pavel Roskin <proski@gnu.org>
27736
f0f8bbe2 27737 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27738 to `str'.
27739
cd0d5e30 27740 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27741 possibly unused.
27742
8c2cab51 277432009-05-25 Christian Franke <franke@computer.org>
27744
27745 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27746 register.
27747 (grub_atapi_identify): Add wait after drive select.
27748 (grub_ata_identify): Do more strict status register check before
27749 calling grub_atapi_identify (). Suppress error message if status
27750 register is 0x00 after command failure. Add status register
27751 check after PIO read to avoid bogus identify due to stuck DRQ.
27752 Thanks to Pavel Roskin for testing.
27753 (grub_device_initialize): Remove unsafe status register check.
27754 Thanks to 'phcoder' for problem report and patch.
27755 Prevent sign extension in debug message.
27756
230c0ad6 277572009-05-23 Colin D Bennett <colin@gibibit.com>
27758
27759 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27760 definition file, and functions defined in `normal/menu.c' have had
27761 their prototypes moved to `include/grub/menu.h' for consistency.
27762
27763 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27764 from normal.h.
27765 (grub_menu_get_entry): Likewise.
27766 (grub_menu_get_timeout): Likewise.
27767 (grub_menu_set_timeout): Likewise.
27768 (grub_menu_execute_entry): Likewise.
27769 (grub_menu_execute_with_fallback): Likewise.
27770 (grub_menu_entry_run): Likewise.
27771
27772 * include/grub/normal.h: Re-ordered and grouped function
27773 prototypes by file that the function is defined in.
27774 (grub_menu_execute_callback): Removed; moved to menu.h.
27775 (grub_menu_get_entry): Likewise.
27776 (grub_menu_get_timeout): Likewise.
27777 (grub_menu_set_timeout): Likewise.
27778 (grub_menu_execute_entry): Likewise.
27779 (grub_menu_execute_with_fallback): Likewise.
27780 (grub_menu_entry_run): Likewise.
27781 (grub_menu_addentry): Renamed from this ...
27782 (grub_normal_add_menu_entry): ... to this.
27783
27784 * normal/main.c (grub_menu_addentry): Renamed from this ...
27785 (grub_normal_add_menu_entry): ... to this.
27786
27787 * script/sh/execute.c (grub_script_execute_menuentry): Update
27788 reference to renamed grub_menu_addentry function.
27789
861f03a5 277902009-05-23 Felix Zielcke <fzielcke@z-51.de>
27791
27792 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27793
96b1619a 277942009-05-22 Pavel Roskin <proski@gnu.org>
27795
bf6a5fb2 27796 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27797 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27798 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27799 compiling for the i386 targets, but not for the utilities.
27800
96b1619a 27801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27802 to grub_uint8_t.
27803 (grub_root_drive): Likewise.
27804 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27805 remove alignment.
27806 (grub_root_drive): Change size to byte.
27807 (grub_start_addr): Remove.
27808 (grub_end_addr): Likewise.
27809 (grub_apm_bios_info): Likewise.
27810
b729776b 278112009-05-21 Felix Zielcke <fzielcke@z-51.de>
27812
27813 * normal/i386: Remove.
27814 * normal/powerpc: Likewise.
27815 * normal/sparc64: Likewise.
27816 * normal/x86_64: Likewise.
27817
0a15ce80 278182009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27821 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27822 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27823
33db9015 278242009-05-18 Colin D Bennett <colin@gibibit.com>
27825
d6da58e6 27826 Display error messages when parsing a Lua statement fails.
27827 Previously, executing a syntactically invalid statement like
27828 ")foo" or "bar;" would silently fail.
33db9015 27829
27830 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27831 (grub_lua_parse_line): Improved reporting of Lua parser and
27832 execution errors.
33db9015 27833
46422c89 278342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27835
27836 Remove -Werror which causes build to fail on some systems
27837
27838 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27839 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27840 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27841
22f53a96 278422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27843
27844 trampoline for linux on 64-bit platform
27845
18f547ad 27846 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27847 loader/i386/efi/linux_trampoline.S
27848 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27849 declaration
d6da58e6 27850 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27851 here
22f53a96 27852 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27853 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27854 trampoline
22f53a96 27855 (jumpvector): removed
27856 (grub_linux_trampoline_start): new declaration
27857 (grub_linux_trampoline_end): likewise
27858 (grub_linux_boot): use trampoline when on 64-bit platform
27859 * loader/i386/linux.c: likewise
27860
cb5a0f40 278612009-05-16 Pavel Roskin <proski@gnu.org>
27862
27863 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27864 const to avoid a warning.
27865 (grub_lua_setenv): Likewise.
27866 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27867 lmsg to fix a warning.
27868
334f2c28 278692009-05-16 Felix Zielcke <fzielcke@z-51.de>
27870
27871 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27872 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27873 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27874 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27875 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27876 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27877 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27878 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27879
59e5d3ec 278802009-05-16 Felix Zielcke <fzielcke@z-51.de>
27881
27882 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27883
9d87a1ba 278842009-05-16 Bean <bean123ch@gmail.com>
27885
27886 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27887 (lua_mod_SOURCES): New variable.
27888 (lua_mod_CFLAGS): Likewise.
27889 (lua_mod_LDFLAGS): Likewise.
27890
27891 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27892 (setjmp_mod_SOURCES): New variable.
27893 (setjmp_mod_CFLAGS): Likewise.
27894 (setjmp_LDFLAGS): Likewise.
27895
27896 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27897 (setjmp_mod_SOURCES): New variable.
27898 (setjmp_mod_CFLAGS): Likewise.
27899 (setjmp_LDFLAGS): Likewise.
27900
27901 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27902 (setjmp_mod_SOURCES): New variable.
27903 (setjmp_mod_CFLAGS): Likewise.
27904 (setjmp_LDFLAGS): Likewise.
27905
27906 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27907 (setjmp_mod_SOURCES): New variable.
27908 (setjmp_mod_CFLAGS): Likewise.
27909 (setjmp_LDFLAGS): Likewise.
27910
27911 * normal/i386/setjmp.S: Moved from here ...
27912 * lib/i386/setjmp.S: ... Moved here
27913 * normal/x86_64/setjmp.S: Moved from here ...
27914 * lib/x86_64/setjmp.S: ... Moved here
27915 * normal/powerpc/setjmp.S: Moved from here ...
27916 * lib/powerpc/setjmp.S: ... Moved here
27917 * normal/sparc64/setjmp.S: Moved from here ...
27918 * lib/sparc64/setjmp.S: ... Moved here
27919
27920 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27921 returns_twice in mingw.
27922
27923 * script/lua/grub_lib.c: New file.
27924 * script/lua/grub_lib.h: Likewise.
27925 * script/lua/grub_lua.h: Likewise.
27926 * script/lua/grub_main.c: Likewise.
27927 * script/lua/lapi.c: Likewise.
27928 * script/lua/lapi.h: Likewise.
27929 * script/lua/lauxlib.c: Likewise.
27930 * script/lua/lauxlib.h: Likewise.
27931 * script/lua/lbaselib.c: Likewise.
27932 * script/lua/lcode.c: Likewise.
27933 * script/lua/lcode.h: Likewise.
27934 * script/lua/ldblib.c: Likewise.
27935 * script/lua/ldebug.c: Likewise.
27936 * script/lua/ldebug.h: Likewise.
27937 * script/lua/ldo.c: Likewise.
27938 * script/lua/ldo.h: Likewise.
27939 * script/lua/ldump.c: Likewise.
27940 * script/lua/lfunc.c: Likewise.
27941 * script/lua/lfunc.h: Likewise.
27942 * script/lua/lgc.c: Likewise.
27943 * script/lua/lgc.h: Likewise.
27944 * script/lua/linit.c: Likewise.
27945 * script/lua/liolib.c: Likewise.
27946 * script/lua/llex.c: Likewise.
27947 * script/lua/llex.h: Likewise.
27948 * script/lua/llimits.h: Likewise.
27949 * script/lua/lmathlib.c: Likewise.
27950 * script/lua/lmem.c: Likewise.
27951 * script/lua/lmem.h: Likewise.
27952 * script/lua/loadlib.c: Likewise.
27953 * script/lua/lobject.c: Likewise.
27954 * script/lua/lobject.h: Likewise.
27955 * script/lua/lopcodes.c: Likewise.
27956 * script/lua/lopcodes.h: Likewise.
27957 * script/lua/loslib.c: Likewise.
27958 * script/lua/lparser.c: Likewise.
27959 * script/lua/lparser.h: Likewise.
27960 * script/lua/lstate.c: Likewise.
27961 * script/lua/lstate.h: Likewise.
27962 * script/lua/lstring.c: Likewise.
27963 * script/lua/lstring.h: Likewise.
27964 * script/lua/lstrlib.c: Likewise.
27965 * script/lua/ltable.c: Likewise.
27966 * script/lua/ltable.h: Likewise.
27967 * script/lua/ltablib.c: Likewise.
27968 * script/lua/ltm.c: Likewise.
27969 * script/lua/ltm.h: Likewise.
27970 * script/lua/lua.h: Likewise.
27971 * script/lua/luaconf.h: Likewise.
27972 * script/lua/lualib.h: Likewise.
27973 * script/lua/lundump.c: Likewise.
27974 * script/lua/lundump.h: Likewise.
27975 * script/lua/lvm.c: Likewise.
27976 * script/lua/lvm.h: Likewise.
27977 * script/lua/lzio.c: Likewise.
27978 * script/lua/lzio.h: Likewise.
27979
5e898c9d 279802009-05-16 Bean <bean123ch@gmail.com>
27981
27982 * include/grub/kernel.h (grub_module_header_types): Add type
27983 OBJ_TYPE_CONFIG.
27984
27985 * kern/main.c (grub_load_config): New function.
27986 (grub_main): Call grub_load_config to read boot config.
27987
27988 * grub-mkimage (generate_image): New parameter config_path.
27989 (options): New option --config.
27990 (main): Parse --config option, and pass it to generate_image.
27991
cf353a47 279922009-05-14 Christian Franke <franke@computer.org>
27993
27994 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27995 This fixes build on Cygwin.
27996
3834887f 279972009-05-14 Pavel Roskin <proski@gnu.org>
27998
27999 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28000 jump. This saves two bytes, so the typical case of 2 swapped
28001 drives would fit 32 bytes.
28002
8090fc01 280032009-05-13 Pavel Roskin <proski@gnu.org>
28004
ac963883 28005 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28006 grub_uint32_t to avoid a warning.
28007
8090fc01 28008 * loader/i386/linux.c (allocate_pages): When assigning
28009 real_mode_mem, cast through grub_size_t to fix a warning. The
28010 code already makes sure that the value would fit a pointer.
28011 (grub_linux_setup_video): Cast render_target->data to
28012 grub_size_t to fix a warning.
28013
18f547ad 280142009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28015
28016 * commands/i386/pc/drivemap.c: New file - implement drivemap
28017 command.
28018 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28019 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28020
6f6a8b28 280212009-05-13 Pavel Roskin <proski@gnu.org>
28022
28023 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28024 embedding_area_exists.
28025
15fbf4c4 280262009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28027
28028 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28029 it easier to understand / work with.
59978c8a 28030 Improve warning messages for cases where there's no embedding area,
28031 or when it is too small (or core.img too large).
15fbf4c4 28032
238e871f 280332009-05-13 Pavel Roskin <proski@gnu.org>
28034
0ab3a9a4 28035 * loader/i386/pc/multiboot2.c: Add necessary includes for
28036 grub_multiboot2_real_boot().
28037
a2c8c5f8 28038 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28039 PX record is always little-endian. We only need the lower 2
28040 bytes of the mode.
28041
faec96af 28042 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28043 facilitate code reuse.
28044 (grub_cpio_mount): Use "struct head", not a char buffer. This
28045 fixes a warning reported by gcc 4.4.
28046
238e871f 28047 * kernel/disk.c (grub_disk_read): Use void pointer for the
28048 buffer.
28049 (grub_disk_write): Use const void pointer for the buffer.
28050 Adjust all callers. Remove unnecessary casts.
28051
901d2f0c 280522009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28053
28054 * util/i386/pc/grub-install.in: Update copyright year.
28055
18f547ad 280562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28057
28058 gptsync
28059
28060 * commands/gptsync.c: new file
28061 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28062 (gptsync_mod_SOURCES): new variable
28063 (gptsync_mod_CFLAGS): likewise
28064 (gptsync_mod_LDFLAGS): likewise
18f547ad 28065 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28066 new definition
28067 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28069 * conf/i386-ieee1275.rmk: likewise
28070 * conf/i386-pc.rmk: likewise
28071 * conf/powerpc-ieee1275.rmk: likewise
28072
b4ba690a 280732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28074
28075 Fixed grub-emu
28076
28077 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28078 (grub_dl_ref): likewise
28079
317e1a44 280802009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28081
28082 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28083 split in two functions (one for msdos and one for gpt).
28084
041b8094 280852009-05-08 Pavel Roskin <proski@gnu.org>
28086
752473c2 28087 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28088 not modified.
28089
041b8094 28090 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28091 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28092 Initialize them with -1. Add sanity check for bad1. Eliminate
28093 nerr variable.
28094
172800ce 280952009-05-08 David S. Miller <davem@davemloft.net>
28096
28097 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28098
29aa5e81 280992009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28100
28101 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28102 existence.
29aa5e81 28103
96613b62 281042009-05-05 Felix Zielcke <fzielcke@z-51.de>
28105
28106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28107 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28108
eef73c8a 281092009-05-05 David S. Miller <davem@davemloft.net>
28110
28111 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28112
119494b5 281132009-05-05 Pavel Roskin <proski@gnu.org>
28114
28115 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28116 of grub_dl_ref() and grub_dl_unref().
28117 * commands/parttool.c: Remove preprocessor conditionals around
28118 grub_dl_ref() and grub_dl_unref().
28119 * fs/affs.c: Likewise.
28120 * fs/afs.c: Likewise.
28121 * fs/cpio.c: Likewise.
28122 * fs/ext2.c: Likewise.
28123 * fs/fat.c: Likewise.
28124 * fs/hfs.c: Likewise.
28125 * fs/hfsplus.c: Likewise.
28126 * fs/iso9660.c: Likewise.
28127 * fs/jfs.c: Likewise.
28128 * fs/minix.c: Likewise.
28129 * fs/ntfs.c: Likewise.
28130 * fs/reiserfs.c: Likewise.
28131 * fs/sfs.c: Likewise.
28132 * fs/udf.c: Likewise.
28133 * fs/ufs.c: Likewise.
28134 * fs/xfs.c: Likewise.
28135 * include/grub/dl.h: Likewise.
28136 * loader/xnu.c: Likewise.
28137
de5fd76e 281382009-05-04 Pavel Roskin <proski@gnu.org>
28139
28140 * commands/acpi.c: Remove unused variable my_mod.
28141 * partmap/amiga.c: Likewise.
28142 * partmap/apple.c: Likewise.
28143 * partmap/gpt.c: Likewise.
28144 * partmap/pc.c: Likewise.
28145 * partmap/sun.c: Likewise.
28146 * term/gfxterm.c: Likewise.
28147 * term/i386/pc/vesafb.c: Likewise.
28148 * term/i386/pc/vga.c: Likewise.
28149
983598ad 281502009-05-04 David S. Miller <davem@davemloft.net>
28151
28152 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
28153 pointer args to grub_ieee1275_get_property().
28154
8aadec43 28155 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
28156
9554b15e 28157 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
28158 devices, and do not traverse down under controller nodes.
28159
67e23c90 28160 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
28161 (grub_ofdisk_open): Use it to un-escape "," characters.
28162 * kern/disk.c (find_part_sep): New.
28163 (grub_disk_open): Use it to find the first non-escaped ','
28164 character in the disk name.
28165 * util/ieee1275/devicemap.c (escape_of_path): New.
28166 (grub_util_emit_devicemap_entry): Use it.
28167 * util/sparc64/ieee1275/grub-install.in: Update script to
28168 strip partition specifiers properly by not triggering on
28169 '\' escaped ',' characters.
28170
74bfdd2f 281712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28172
28173 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
28174 to 0x300.
28175 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
28176 resolutions.
28177 (linux_vesafb_modes): Add a lot of additional modes to the list (based
28178 on documentation from Wikipedia).
28179
4241d2b1 281802009-05-04 Pavel Roskin <proski@gnu.org>
28181
28182 * disk/ata.c: Spelling fixes.
28183 * disk/raid.c: Likewise.
28184 * disk/usbms.c: Likewise.
28185 * disk/dmraid_nvidia.c: Likewise.
28186 * kern/ieee1275/openfw.c: Likewise.
28187 * kern/ieee1275/init.c: Likewise.
28188 * kern/ieee1275/cmain.c: Likewise.
28189 * boot/i386/pc/cdboot.S: Likewise.
28190 * video/readers/png.c: Likewise.
28191 * video/i386/pc/vbe.c: Likewise.
28192 * fs/udf.c: Likewise.
28193 * fs/hfs.c: Likewise.
28194 * fs/reiserfs.c: Likewise.
28195 * efiemu/runtime/efiemu.c: Likewise.
28196 * efiemu/main.c: Likewise.
28197 * efiemu/mm.c: Likewise.
28198 * include/grub/elf.h: Likewise.
28199 * include/grub/xnu.h: Likewise.
28200 * include/grub/usbdesc.h: Likewise.
28201 * include/grub/usb.h: Likewise.
28202 * include/grub/script_sh.h: Likewise.
28203 * include/grub/lib/LzmaEnc.h: Likewise.
28204 * include/grub/efiemu/efiemu.h: Likewise.
28205 * include/grub/command.h: Likewise.
28206 * normal/menu.c: Likewise.
28207 * normal/main.c: Likewise.
28208 * normal/datetime.c: Likewise.
28209 * bus/usb/uhci.c: Likewise.
28210 * mmap/i386/uppermem.c: Likewise.
28211 * mmap/mmap.c: Likewise.
28212 * commands/acpi.c: Likewise.
28213 * commands/test.c: Likewise.
28214 * partmap/apple.c: Likewise.
28215 * font/font.c: Likewise.
28216 * loader/sparc64/ieee1275/linux.c: Likewise.
28217 * loader/macho.c: Likewise.
28218 * loader/i386/bsd_trampoline.S: Likewise.
28219 * loader/i386/bsd.c: Likewise.
28220 * loader/xnu.c: Likewise.
28221 * term/i386/pc/vesafb.c: Likewise.
28222 * term/usb_keyboard.c: Likewise.
28223 * util/resolve.c: Likewise.
28224 * util/getroot.c: Likewise.
28225
0cfc0083 282262009-05-04 Felix Zielcke <fzielcke@z-51.de>
28227
28228 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
28229
7c1d00cd 282302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28231
28232 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
28233 build error.
28234
b01f0548 282352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28236
28237 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
28238 parameter only available on BIOS.
28239
ecc3eb22 282402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28241
28242 Removed wrong semicolon in declaration
28243
28244 * grub/misc.h (grub_dprintf): remove semicolon
28245
112972a9 282462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
28249 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
28250 is done by grub_cmd_linux() now).
28251 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
28252 restore video to text mode.
28253 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
28254 indicates lack of "vga=" parameter. "vga=0" is mapped to
28255 `GRUB_LINUX_VID_MODE_NORMAL'.
28256
afd5c115 282572009-05-04 Felix Zielcke <fzielcke@z-51.de>
28258
28259 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
28260 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
28261 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 28262 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 28263 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
28264 `grub_script.tab.c'.
28265
28266 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28271
faa517ce 28272 * Makefile.in: Remove duplicated 2008 in Copyright line.
28273
ae0c0bdc 282742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
28275
473d1e45 28276 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 28277 unconditionally.
28278 * include/grub/util/misc.h (grub_util_warn): New declaration.
28279
28280 * util/i386/pc/grub-install.in: Understand --force and pass it down
28281 to grub-setup.
28282
28283 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
28284 down to setup().
28285 (setup): Improve error messages and add warnings when requested to
28286 install in odd layouts. Refuse to install using blocklists unless
28287 --force was set.
28288
18f547ad 282892009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 28290
28291 * disk/raid.c (grub_raid_scan_device): Improve debug message.
28292
6d260daa 282932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28294
28295 Updated copyright year
28296
28297 * fs/hfsplus.c: updated copyright year
18f547ad 28298
69f853f8 282992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
28300
28301 HFS+ UUID
28302
18f547ad 28303 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 28304 in the space previously used by unused3
28305 (grub_hfsplus_uuid): new function
28306 (grub_hfsplus_fs): added uuid field
28307
4c402e73 283082009-05-03 Pavel Roskin <proski@gnu.org>
28309
28310 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
28311 suppress warnings. It's no longer needed.
28312 * disk/host.c: Likewise.
28313 * disk/ata_pthru.c: Likewise.
28314 * disk/loopback.c: Likewise.
28315 * hook/datehook.c: Likewise.
28316 * parttool/pcpart.c: Likewise.
28317 * fs/i386/pc/pxe.c: Likewise.
28318 * fs/ntfscomp.c: Likewise.
28319 * efiemu/main.c: Likewise.
28320 * mmap/mmap.c: Likewise.
28321 * commands/crc.c: Likewise.
28322 * commands/hexdump.c: Likewise.
28323 * commands/hdparm.c: Likewise.
28324 * commands/acpi.c: Likewise.
28325 * commands/echo.c: Likewise.
28326 * commands/minicmd.c: Likewise.
28327 * commands/blocklist.c: Likewise.
28328 * commands/memrw.c: Likewise.
28329 * commands/loadenv.c: Likewise.
28330 * commands/usbtest.c: Likewise.
28331 * commands/lsmmap.c: Likewise.
28332 * commands/boot.c: Likewise.
28333 * commands/parttool.c: Likewise.
28334 * commands/configfile.c: Likewise.
28335 * commands/search.c: Likewise.
28336 * commands/ieee1275/suspend.c: Likewise.
28337 * commands/cat.c: Likewise.
28338 * commands/i386/pc/pxecmd.c: Likewise.
28339 * commands/i386/pc/play.c: Likewise.
28340 * commands/i386/pc/halt.c: Likewise.
28341 * commands/i386/pc/vbeinfo.c: Likewise.
28342 * commands/i386/pc/vbetest.c: Likewise.
28343 * commands/lspci.c: Likewise.
28344 * commands/date.c: Likewise.
28345 * commands/handler.c: Likewise.
28346 * commands/ls.c: Likewise.
28347 * commands/test.c: Likewise.
28348 * commands/cmp.c: Likewise.
28349 * commands/efi/loadbios.c: Likewise.
28350 * commands/efi/fixvideo.c: Likewise.
28351 * commands/halt.c: Likewise.
28352 * commands/help.c: Likewise.
28353 * commands/reboot.c: Likewise.
28354 * hello/hello.c: Likewise.
28355 * script/sh/main.c: Likewise.
28356 * loader/xnu.c: Likewise.
28357 * term/terminfo.c: Likewise.
28358 * term/i386/pc/serial.c: Likewise.
28359 * term/usb_keyboard.c: Likewise.
28360
515b5079 283612009-05-03 David S. Miller <davem@davemloft.net>
28362
28363 * normal/menu.c: Include grub/parser.h
28364
dfc31a22 283652009-05-03 Pavel Roskin <proski@gnu.org>
28366
2fee74f1 28367 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
28368 not char*.
28369 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
28370 Suggested by Javier Martín <lordhabbit@gmail.com>
28371
dfc31a22 28372 * util/i386/pc/grub-mkrescue.in: Allow for the case when
28373 efiemu??.o doesn't exist.
28374 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
28375 copying.
28376
18f547ad 283772009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 28378
28379 FreeBSD 64-bit support
28380
18f547ad 28381 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 28382 and loader/i386/bsd_trampoline.S
28383 (bsd_mod_ASFLAGS): new variable
28384 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
28385 (FREEBSD_MODTYPE_KERNEL64): likewise
28386 (grub_bsd64_trampoline_start): likewise
28387 (grub_bsd64_trampoline_end): likewise
28388 (grub_bsd64_trampoline_selfjump): likewise
28389 (grub_bsd64_trampoline_gdt): likewise
28390 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
28391 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
28392 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
28393 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 28394 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 28395 of "attrib" member
28396 * loader/i386/bsd_pagetable.c: new file
28397 * loader/i386/bsd_trampoline.S: likewise
28398 * loader/i386/bsd.c (ALIGN_QWORD): new macro
28399 (ALIGN_VAR): likewise
28400 (entry_hi): new variable
28401 (kern_end_mdofs): likewise
28402 (is_64bit): likewise
28403 (grub_freebsd_add_meta): use ALIGN_VAR
28404 (grub_e820_mmap): new declaration
28405 (grub_freebsd_add_mmap): new function
28406 (grub_freebsd_add_meta_module): support 64 bit kernels
28407 (grub_freebsd_list_modules): use ALIGN_VAR
28408 (gdt_descriptor): new declaration
28409 (grub_freebsd_boot): support 64 bit kernels
28410 (grub_bsd_elf64_hook): new function
28411 (grub_bsd_load_elf): support elf64
28412
038c5720 284132009-05-03 Bean <bean123ch@gmail.com>
28414
28415 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
28416 after we get the result of if statement.
28417
fc45fb58 284182009-05-03 Bean <bean123ch@gmail.com>
28419
28420 * Makefile.in (enable_efiemu): New variable.
28421
28422 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
28423 set.
28424 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
28425 path.
28426 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
28427 path, add -mno-red-zone option.
28428 (efiemu64_s.o): Likewise.
28429 (efiemu64.o): Use macro $^ for source file.
28430
28431 * configure.ac (--enable-efiemu): New option.
28432
bbee0f2b 284332009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 xnu support
28436
28437 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
28438 (pkglib_MODULES): add xnu.mod
28439 (xnu_mod_SOURCES): new variable
28440 (xnu_mod_CFLAGS): likewise
28441 (xnu_mod_LDFLAGS): likewise
28442 (xnu_mod_ASFLAGS): likewise
28443 * conf/i386-pc.rmk: likewise
28444 * conf/x86_64-efi.rmk: likewise
7dd4a573 28445 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 28446 new declaration
28447 * include/grub/i386/macho.h: new file
28448 * include/grub/i386/xnu.h: likewise
28449 * include/grub/macho.h: likewise
28450 * include/grub/machoload.h: likewise
28451 * include/grub/x86_64/macho.h: likewise
28452 * include/grub/x86_64/xnu.h: likewise
28453 * include/grub/xnu.h: likewise
28454 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
28455 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
28456 * loader/i386/efi/xnu.c: new file
28457 * loader/i386/pc/xnu.c: likewise
28458 * loader/i386/xnu.c: likewise
28459 * loader/i386/xnu_helper.S: likewise
28460 * loader/macho.c: likewise
28461 * loader/xnu.c: likewise
28462 * loader/xnu_resume.c: likewise
28463 * util/grub-dumpdevtree: likewise
28464 * include/grub/i386/pit.h: include grub/err.h
28465 (grub_pit_wait): export
28466 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 28467
5caf964d 284682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28469
28470 Efiemu
7dd4a573 28471
5caf964d 28472 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 28473 _linux_efi, linux_efi.
28474 new files in grub-emu
5caf964d 28475 new targets efiemu32.o and efiemu64.o
28476 * loader/linux_normal_efiemu.c: likewise
28477 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 28478 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 28479 files to copy
28480 * include/grub/autoefi.h: new file
7dd4a573 28481 * include/grub/i386/efiemu.h: likewise
5caf964d 28482 * include/grub/i386/pc/efiemu.h: likewise
28483 * include/grub/efi/api.h: add LL suffix when necessary
28484 new definitions relating to tables
28485 * include/grub/efiemu/efiemu.h: new file
28486 * include/grub/efiemu/runtime.h: likewise
28487 * efiemu/prepare.c: likewise
28488 * efiemu/loadcore_common.c: likewise
28489 * efiemu/loadcore64.c: likewise
28490 * efiemu/runtime/efiemu.sh: likewise
28491 * efiemu/runtime/efiemu.S: likewise
28492 * efiemu/runtime/efiemu.c: likewise
28493 * efiemu/runtime/config.h: likewise
28494 * efiemu/prepare32.c: likewise
28495 * efiemu/main.c: likewise
28496 * efiemu/modules/pnvram.c: likewise
28497 * efiemu/modules/i386: likewise
28498 * efiemu/modules/i386/pc: likewise
28499 * efiemu/modules/acpi.c: likewise
28500 * efiemu/i386/pc/cfgtables.c: likewise
28501 * efiemu/i386/loadcore64.c: likewise
28502 * efiemu/i386/loadcore32.c: likewise
28503 * efiemu/prepare64.c: likewise
28504 * efiemu/loadcore.c: likewise
28505 * efiemu/symbols.c: likewise
28506 * efiemu/mm.c: likewise
28507 * efiemu/loadcore32.c: likewise
7dd4a573 28508
285092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 28510
28511 ACPI spoofing
28512
28513 * commands/acpi.c: new file
28514 * commands/i386/pc/acpi.c: likewise
28515 * commands/efi/acpi.c: likewise
28516 * include/grub/acpi.h: likewise
28517 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
28518 (acpi_mod_SOURCES): new variable
28519 (acpi_mod_CFLAGS): likewise
28520 (acpi_mod_LDFLAGS): likewise
28521 * conf/i386-efi.rmk: likewise
28522 * conf/x86_64-efi.rmk: likewise
28523
7dd4a573 285242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 28525
28526 Missing part from mmap patch
28527
28528 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
28529 (grub_mmap_unregister)
28530 (grub_mmap_free_and_unregister): use grub_mmap_register
28531
7dd4a573 285322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 28533
28534 Mmap services
28535
28536 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
28537 * loader/i386/linux.c (find_mmap_size): likewise
28538 (allocate_pages): likewise
28539 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
28540 (grub_fill_multiboot_mmap): likewise
28541 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
28542 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
28543 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
28544 (OPENBSD_MMAP_RESERVED): likewise
28545 * include/grub/i386/pc/memory.h: include grub/memory.h
28546 (grub_lower_mem): removed
28547 (grub_upper_mem): likewise
28548 (GRUB_MACHINE_MEMORY_ACPI): new definition
28549 (GRUB_MACHINE_MEMORY_NVS): likewise
28550 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
28551 (GRUB_MACHINE_MEMORY_HOLE): likewise
28552 (grub_machine_mmap_register): likewise
28553 (grub_machine_mmap_unregister): likewise
28554 (grub_machine_get_upper): likewise
28555 (grub_machine_get_lower): likewise
28556 (grub_machine_get_post64): likewise
28557 * include/grub/i386/efi/memory.h: new file
28558 * include/grub/x86_64/efi/memory.h: likewise
28559 * include/grub/efi/memory.h: likewise
28560 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
28561 (mmap_mod_SOURCES): new variable
28562 (mmap_mod_LDFLAGS): likewise
28563 (mmap_mod_ASFLAGS): likewise
28564 * conf/i386-coreboot.rmk: likewise
28565 * conf/i386-ieee1275.rmk: likewise
28566 * conf/i386-efi.rmk: likewise
28567 * conf/x86_64-efi.rmk: likewise
28568 * include/grub/types.h (UINT_TO_PTR): new macro
28569 (PTR_TO_UINT32): likewise
28570 (PTR_TO_UINT64): likewise
28571 * include/grub/memory.h: new file
28572 * mmap/i386/pc/mmap.c: likewise
28573 * mmap/i386/pc/mmap_helper.S: likewise
28574 * mmap/i386/uppermem.c: likewise
28575 * mmap/mmap.c: likewise
28576 * mmap/efi/mmap.c: likewise
7dd4a573 28577 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 28578 grub_upper_mem
28579 * kern/i386/pc/init.c (grub_lower_mem): removed variable
28580 (grub_upper_mem): likewise
28581 (grub_machine_init): don't use grub_upper_mem,
28582 make grub_lower_mem local
28583 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
28584 grub_mmap_iterate and grub_mmap_get_upper
28585 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
28586
d558e6b5 285872009-05-02 Bean <bean123ch@gmail.com>
28588
28589 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
28590 script/sh/parser.y.
28591 (pkglib_MODULES): Add normal.mod and sh.mod.
28592 (normal_SOURCES): New variable.
28593 (normal_mod_CFLAGS): Likewise.
28594 (normal_mod_LDFLAGS): Likewise.
28595 (sh_mod_SOURCES): Likewise.
28596 (sh_mod_CFLAGS): Likewise.
28597 (sh_mod_LDFLAGS): Likewise.
28598
28599 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
28600 script/sh/lexer.c_DEPENDENCIES.
28601 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
28602 kern/rescue_reader.c and kern/rescue_parser.c.
28603 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
28604 (grub_emu_SOURCES): Change source files.
28605 (pkglib_MODULES): Remove normal.mod.
28606 (normal_SOURCES): Removed.
28607 (normal_mod_CFLAGS): Likewise.
28608 (normal_mod_LDFLAGS): Likewise.
28609 * conf/i386-coreboot.rmk: Likewise.
28610 * conf/i386-efi.rmk: Likewise.
28611 * conf/i386-ieee1276.rmk: Likewise.
28612 * conf/powerpc-ieee1275.rmk: Likewise.
28613 * conf/sparc64-ieee1275.rmk: Likewise.
28614 * conf/x86_64-efi.rmk: Likewise.
28615
28616 * include/grub/command.h (grub_command_execute): New inline function.
28617
28618 * include/grub/menu.h (grub_menu_entry): Removed commands field.
28619
28620 * include/grub/normal.h: Remove <grub/setjmp.h>.
28621 (grub_fs_module_list): Moved to normal/autofs.c.
28622 (grub_exit_env): Removed.
28623 (grub_command_execute): Likewise.
28624 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
28625 parameter script.
28626 (read_command_list): New function declaration.
28627 (read_fs_list): Likewise.
28628
28629 * include/parser.h: Include <grub/reader.h>.
28630 (grub_parser_split_cmdline): Change type of getline parameter.
28631 (grub_parser): New structure.
28632 (grub_parser_class): New variable.
28633 (grub_parser_execute): New function declaration.
28634 (grub_register_rescue_parser): Likewise.
28635 (grub_parser_register): New inline function.
28636 (grub_parser_unregister): Likewise.
28637 (grub_parser_get_current): Likewise.
28638 (grub_parser_set_current): Likewise.
28639
28640 * include/grub/reader.h: New file.
28641 * kern/reader.c: Likewise.
28642 * kern/rescue_parser.c: Likewise.
28643 * kern/rescue_reader.c: Likewise.
28644 * normal/autofs.c: Likewise.
28645 * normal/dyncmd.c: Likewise.
28646
28647 * include/grub/rescue.h: Removed.
28648 * normal/command.h: Likewise.
28649
28650 * include/grub/script.h: Moved to ...
28651 * include/grub/script_sh.h: ... Moved here.
28652 * normal/execute.c: Moved to ...
28653 * script/sh/execute.c: ... Moved here.
28654 * normal/function.c: Moved to ...
28655 * script/sh/function.c: ... Moved here.
28656 * normal/lexer.c: Moved to ...
28657 * script/sh/lexer.c: ... Moved here.
28658 * normal/parser.y: Moved to ...
28659 * script/sh/parser.y: ... Moved here.
28660 * normal/script.c: Moved to ...
28661 * script/sh/script.c: ... Moved here.
28662
28663 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28664 <grub/reader.h>.
28665 (grub_exit_env): Removed.
28666 (fs_module_list): Moved to normal/autofs.c.
28667 (grub_file_getline): Don't handle comment here.
28668 (free_menu): Skip removed field entry->commands.
28669 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28670 script parameter.
28671 (read_config_file): Removed nested parameter, change getline function.
28672 (grub_enter_normal_mode): Removed.
28673 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28674 (read_command_list): Likewise.
28675 (autoload_fs_module): Moved to normal/autofs.c.
28676 (read_fs_list): Likewise.
28677 (reader_nested): New variable.
28678 (grub_normal_execute): Run parser.sh to switch to sh parser.
28679 (grub_cmd_rescue): Removed.
28680 (cmd_normal): Removed.
28681 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28682 rescue command.
28683 (grub_cmdline_run): New function.
28684 (grub_normal_reader_init): Likewise.
28685 (grub_normal_read_line): Likewise.
28686 (grub_env_write_pager): Likewise.
28687 (cmdline): New variable.
28688 (grub_normal_reader): Likewise.
28689 (GRUB_MOD_INIT): Register normal reader and set as current, register
28690 pager hook, register normal command with grub_register_command_prio,
28691 so that it won't show up in command.lst.
28692 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28693 grub_fs_autoload_hook.
28694
28695 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28696 (grub_menu_execute_entry): Replace grub_script_execute with
28697 grub_parser_execute, change parameter to grub_command_execute.
28698
28699 * normal/menu_text.c: Remove <grub/script.h>.
28700
28701 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28702 and <grub/parser.h>.
28703 (run): Change editor_getline to use new parser interface. Change
28704 parameter to grub_command_execute.
28705
28706 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28707 <grub/reader.h> and <grub/parser.h>.
28708 (grub_load_normal_mode): Execute normal command.
28709 (grub_main): Call grub_register_core_commands,
28710 grub_register_rescue_parser and grub_register_rescue_reader, use
28711 grub_reader_loop to enter input loop.
28712
7dd4a573 28713 * kern/parser.c (grub_parser_split_cmdline): Change type of
28714 getline parameter.
d558e6b5 28715 (grub_parser_class): New variable.
28716 (grub_parser_execute): New function.
28717
28718 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28719 * loader/multiboot2.c: Likewise.
28720 * loader/sparc64/ieee1275/linux.c: Likewise.
28721
28722 * util/grub-emu.c (read_command_list): New dummy function.
28723
18db813d 287242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28727 count to 16 for CCISS and IDA.
28728
6c67de15 287292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 * normal/menu_text.c (grub_wait_after_message): Print a newline
28732 after waiting for user input.
28733
28734 * loader/i386/linux.c: Include `<grub/normal.h>'.
28735 (grub_cmd_linux): Improve the error message about `ask' mode, by
28736 waiting for user input so it's not missed (we can do this, since
28737 user requested interaction).
28738
d9dc87b0 287392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28740
28741 Added missing lst to grub-mkrescue
28742
28743 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28744 and ${input_dir}/parttool.lst
28745
ac8a2baa 287462009-04-30 David S. Miller <davem@davemloft.net>
28747
ad22a610 28748 * util/hostdisk.c (device_is_wholedisk): New function.
28749 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28750 zero only if device_is_wholedisk() returns true.
28751
6966215d 28752 * util/hostdisk.c (convert_system_partition_to_system_disk):
28753 Handle virtual disk devices named /dev/vdiskX as found on sparc
28754 and powerpc.
28755
ac8a2baa 28756 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28757 lettered partition specifier is found, convert to numbered.
28758
979b4fb4 287592009-04-29 David S. Miller <davem@davemloft.net>
28760
e2bf39b2 28761 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28762 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28763
3c64e104 28764 * normal/command.c: Add missing newline at end of file.
28765
979b4fb4 28766 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28767 warnings.
28768 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28769 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28770 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28771 ihandles have a 32-bit type but need to be stored in a "void *".
28772
136d9f82 287732009-04-28 Pavel Roskin <proski@gnu.org>
28774
9459c306 28775 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28776 not disk. Adjust all dependencies.
2e08a26a 28777 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28778 grub_disk_close().
28779
136d9f82 28780 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28781 parent's partition, don't copy it by reference, as it gets freed
28782 on close.
28783
7dd4a573 287842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28785
28786 Preboot hooks support
28787
28788 * commands/boot.c (struct grub_preboot_t): new declaration
28789 (preboots_head): new variable
28790 (preboots_tail): likewise
28791 (grub_loader_register_preboot_hook): new function
28792 (grub_loader_unregister_preboot_hook): likewise
28793 (grub_loader_set): launch preboot hooks
28794 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28795 (grub_loader_register_preboot_hook): new declaration
28796 (grub_loader_unregister_preboot_hook): likewise
28797
5af922b5 287982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28799
28800 Warning fix
28801
7dd4a573 28802 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28803 calling grub_dprintf
28804
a5562c30 288052009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28806
28807 Bug and warning fixes
28808
7dd4a573 28809 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28810 declaration
28811 * commands/test.c (test_parse): fixed bug with file tests and corrected
28812 declaration of find_file
28813
4006f85c 288142009-04-26 Pavel Roskin <proski@gnu.org>
28815
28816 * Makefile.in: Don't install empty manual pages if help2man is
28817 missing. Use help2man option for output, not shell redirection.
28818
5c77c3de 288192009-04-26 David S. Miller <davem@davemloft.net>
28820
28821 * util/grub-mkdevicemap.c (make_device_map): Add missing
28822 NESTED_FUNC_ATTR to process_device().
28823
033b10a8 288242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28825
28826 Test command
28827
28828 * commands/test.c: rewritten to use bash-like test
28829
e4343593 288302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28831
28832 Parttool autoloading and improvements
28833
7dd4a573 28834 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28835 (parttool.lst): new target
28836 * genmk.rb: generate parttool-*
28837 (CLEANFILES): add #{parttool}
28838 (PARTTOOLFILES): new variable
28839 * genparttoollist.sh: new file
7dd4a573 28840 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28841 (grub_pcpart_type): likewise
28842 * commands/parttool.c (helpmsg): new variable
28843 (grub_cmd_parttool): output help if not enough arguments are supplied
28844 autoload modules
28845 (GRUB_MOD_INIT(parttool)): use helpmsg
28846
0d312500 288472009-04-24 David S. Miller <davem@davemloft.net>
28848
7dd4a573 28849 Avoiding opening same device multiple times in device iterator.
0d312500 28850
28851 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28852 and use it to build a list of partitions in iterate_disk() and
0d312500 28853 iterate_partition().
28854
ac20caff 28855 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28856 on disk->data.
28857
0dcf7495 28858 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28859 grub_devalias_iterate() result instead of unconditional 0.
28860 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28861 Also, capture hook return value, either directly or via
28862 grub_children_iterate(), and propagate to caller.
28863 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28864 grub_children_iterate): Return value is now 'int' instead of
28865 'grub_err_t'.
28866 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28867 like a proper iterator, stopping when hooks return non-zero.
28868 (grub_devalias_iterate): Likewise.
28869
c8c08833 288702009-04-23 David S. Miller <davem@davemloft.net>
28871
28872 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28873
f01005a8 288742009-04-22 David S. Miller <davem@davemloft.net>
28875
28876 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28877 is larger than address_cells, use that value for address_cells too.
28878
4e8269da 28879 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28880 IEEE1275_MAX_PATH_LEN): Define.
28881 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28882 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28883 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28884 'devtype'. Explicitly NULL terminate devalias expansion.
28885
a1447506 28886 * util/sparc64/ieee1275/misc.c: New file.
28887 * util/sparc64/ieee1275/grub-setup.c: New file.
28888 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28889 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28890 * util/sparc64/ieee1275/grub-install.in: New file.
28891 * util/ieee1275/ofpath.c: New file.
28892 * util/ieee1275/devicemap.c: New file.
28893 * util/devicemap.c: New file.
28894 * util/deviceiter.c: New file.
28895 * kern/sparc64/ieee1275/init.c: New file.
28896 * include/grub/util/ofpath.h: New file.
28897 * include/grub/util/deviceiter.h: New file.
28898 * util/grub-mkdevicemap.c: Include deviceiter.h.
28899 Implement using grub_util_emit_devicemap_entry and
28900 grub_util_iterate_devices.
28901 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28902 util/devicemap.c into grub-mkdevicemap
28903 * conf/i386-efi.rmk: Likewise.
28904 * conf/i386-ieee1275.rmk: Likewise.
28905 * conf/i386-pc.rmk: Likewise.
28906 * conf/powerpc-ieee1275.rmk: Likewise.
28907 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28908 images and installation utilities. Build kernel as image
28909 instead of as elf binary. Use common rules as much as possible.
28910
7dd4a573 289112009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28912
28913 Correct GPT definition
28914
7dd4a573 28915 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28916 of "attrib" member
28917
c6c5219f 289182009-04-19 Felix Zielcke <fzielcke@z-51.de>
28919
28920 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28921
0552ff9f 289222009-04-19 David S. Miller <davem@davemloft.net>
28923
28924 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28925 (grub_rescue_cmd_linux): Rename to...
28926 (grub_cmd_linux): and fix prototype.
28927 (grub_rescue_cmd_initrd): Rename to...
28928 (grub_cmd_initrd): and fix prototype.
28929 (cmd_linux, cmd_initrd): New.
28930 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28931 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28932
d1a282fc 289332009-04-17 Pavel Roskin <proski@gnu.org>
28934
07c5039f 28935 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28936 format.
28937 (grub_ohci_transfer): Likewise.
28938
b012002d 28939 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28940
1bc09c35 28941 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28942 return without a value. Fix inconsistent indentation.
28943
e0ff9126 28944 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28945 match struct grub_fs.
28946
d1a282fc 28947 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28948 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28949 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28950 * commands/lspci.c (grub_lspci_iter): Likewise.
28951
a96df3f2 289522009-04-16 Bean <bean123ch@gmail.com>
28953
28954 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28955 value.
28956
41bb0fe9 289572009-04-15 Pavel Roskin <proski@gnu.org>
28958
28959 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28960 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28961 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28962 definitions.
28963
596c6970 289642009-04-15 Felix Zielcke <fzielcke@z-51.de>
28965
28966 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28967 that no multiple data or metadata areas are supported and `Unknown
596c6970 28968 metadata header'.
28969
7dd4a573 289702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28971
28972 Move loader out of the kernel
28973
28974 * kern/loader.c: moved to ...
28975 * commands/boot.c: ... moved here
28976 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28977 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28978 * include/grub/kernel.h (grub_machine_fini): export
28979 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28980 (grub_loader_set): likewise
28981 (grub_loader_unset): likewise
28982 (grub_loader_boot): likewise
28983 * conf/common.rmk: new module boot.mod
28984 (pkglib_MODULES): add boot.mod
28985 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28986 (grub_emu_SOURCES): likewise
28987 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28988 (grub_emu_SOURCES): likewise
28989 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28990 (grub_emu_SOURCES): likewise
28991 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28992 (grub_emu_SOURCES): likewise
28993 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28994 (grub_emu_SOURCES): likewise
7dd4a573 28995 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28996 (grub_emu_SOURCES): likewise
0d5d5653 28997 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28998 (grub_emu_SOURCES): likewise
0d5d5653 28999
7dd4a573 290002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29001
29002 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29003
5999d619 29004 * kern/misc.c (grub_itoa): Removed function
29005 (grub_ltoa): likewise
29006 (grub_vsprintf): use grub_lltoa
29007
7dd4a573 290082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29009
29010 Restore grub-emu
29011
29012 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29013 * conf/i386-coreboot.rmk: likewise
29014 * conf/i386-ieee1275.rmk: likewise
29015 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29016
20318222 290172009-04-15 Felix Zielcke <fzielcke@z-51.de>
29018
29019 * INSTALL: Add that `./autogen.sh' needs to be run before
29020 `./configure.'.
29021
d05f0df3 290222009-04-14 Bean <bean123ch@gmail.com>
29023
29024 * Makefile.in (pkglib_DATA): Add handler.lst.
29025 (handler.lst): New rule.
29026
29027 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29028 * conf/i386-coreboot.rmk: Likewise.
29029 * conf/i386-ieee1275.rmk: Likewise.
29030 * conf/i386-efi.rmk: Likewise.
29031 * conf/x86_64-efi.rmk: Likewise.
29032 * conf/powerpc-ieee1275.rmk: Likewise.
29033 * conf/sparc64-ieee1275.rmk: Likewise.
29034
29035 * genhandlerlist.sh: New file.
29036
29037 * genmk.rb: Add rules to generate handler.lst.
29038
29039 * include/grub/normal.h (grub_file_getline): New function definition.
29040 (read_handler_list): Likewise.
29041 (free_handler_list): Likewise.
29042
29043 * include/grub/term.h (grub_term_register_input): Add name parameter
29044 for auto generation of handler.lst.
29045 (grub_term_register_output): Likewise.
29046
29047 * normal/handler.c: New file.
29048
29049 * normal/main.c (get_line): Renamed to grub_file_getline.
29050 (read_config_file): Use the newly renamed grub_file_getline.
29051 (read_command_list): Likewise.
29052 (read_fs_list): Likewise.
29053 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29054 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29055
29056 * term/efi/console.c (grub_console_init): Add name parameter for auto
29057 generation of handler.lst.
29058 * term/gfxterm.c: Likewise.
29059 * term/i386/pc/at_keyboard.c: Likewise.
29060 * term/i386/pc/console.c: Likewise.
29061 * term/i386/pc/serial.c: Likewise.
29062 * term/i386/pc/vesafb.c: Likewise.
29063 * term/i386/pc/vga.c: Likewise.
29064 * term/i386/pc/vga_text.c: Likewise.
29065 * term/ieee1275/ofconsole.c: Likewise.
29066 * term/usb_keyboard.c: Likewise.
29067
33c846be 290682009-04-14 Bean <bean123ch@gmail.com>
29069
29070 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29071 properly with null character.
29072
4484e01e 290732009-04-14 Felix Zielcke <fzielcke@z-51.de>
29074
29075 * configure: Remove.
29076 * config.h.in: Likewise.
f93d668e 29077 * stamp-h.in: Likewise.
4484e01e 29078 * DISTLIST: Likewise.
29079 * conf/common.mk: Likewise.
29080 * conf/i386-coreboot.mk: Likewise.
29081 * conf/i386-efi.mk: Likewise.
29082 * conf/i386-ieee1275.mk: Likewise.
29083 * conf/i386.mk: Likewise.
29084 * conf/i386-pc.mk: Likewise.
29085 * conf/powerpc-ieee1275.mk: Likewise.
29086 * conf/sparc64-ieee1275.mk: Likewise.
29087 * conf/x86_64-efi.mk: Likewise.
29088
29089 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29090 develop on GRUB.
29091
7dd4a573 290922009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29093 David S. Miller <davem@davemloft.net>
29094
29095 * util/hostdisk.c (make_device_name): Fix buffer length
29096 calculations.
29097
e25b5a8c 290982009-04-14 Felix Zielcke <fzielcke@z-51.de>
29099
29100 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29101 <sys/param.h> and <sys/sysctl.h>.
29102 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29103 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29104 opening the device and reset them afterwards.
29105
1f1f580c 291062009-04-13 Pavel Roskin <proski@gnu.org>
29107
29108 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29109 Reported by John Stanley <jpsinthemix@verizon.net>
29110
7ebc2d6b 291112009-04-13 Robert Millan <rmh@aybabtu.com>
29112
29113 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29114 that name for menuentries when appropriate.
7ebc2d6b 29115
d8ba3667 291162009-04-13 Felix Zielcke <fzielcke@z-51.de>
29117
29118 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29119
cba416eb 291202009-04-13 Robert Millan <rmh@aybabtu.com>
29121
29122 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29123 to Linux, simply abort telling the user it's no longer supported.
29124
a547a745 291252009-04-13 Felix Zielcke <fzielcke@z-51.de>
29126
29127 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29128 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29129 `freebsd_loadenv' only when devices.hints exist.
29130
232a769c 291312009-04-13 Pavel Roskin <proski@gnu.org>
29132
29133 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
29134
c3012039 291352009-04-13 Felix Zielcke <fzielcke@z-51.de>
29136
29137 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
29138 partition number.
29139 (grub_drive): Likewise.
29140
234022fe 291412009-04-13 David S. Miller <davem@davemloft.net>
29142
29143 * kern/sparc64/ieee1275/ieee1275.c: New file.
29144 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
29145 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
29146 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
29147 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
29148 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
29149 grub_ieee1275_alloc_physmem): Declare new exported functions.
29150
d8e1836c 29151 * include/grub/sparc64/ieee1275/loader.h: New file.
29152 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29153 * include/grub/sparc64/kernel.h: Likewise.
29154 * loader/sparc64/ieee1275/linux.c: Likewise.
29155
96bd81ec 29156 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
29157 (grub_fstest_SOURCES): Likewise.
29158
6a4737e5 29159 * util/hostdisk.c (make_device_name): Do not make any assumptions
29160 about the length of drive names.
29161
1d7a72fd 29162 * kern/dl.c (grub_dl_load_file): Close file immediately when
29163 we are done using it.
29164
56bc2471 291652009-04-12 David S. Miller <davem@davemloft.net>
29166
29167 * kern/misc.c (grub_ltoa): Fix cast when handling negative
29168 values. Noticed by Pavel Roskin.
29169
df38d0bb 29170 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
29171 target compiler.
7dd4a573 29172
e382e93a 29173 * genmk.rb: Add more flexible image type specification, also
29174 pass --strip-unneeded to objcopy.
29175 * conf/i386-pc.rmk: Use *_FORMAT.
29176 * conf/i386-pc.mk: Rebuilt.
29177
f5dbbca9 29178 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
29179 (OFDISK_HASH_SZ): Define.
29180 (ofdisk_hash): New hash table.
29181 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
29182 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
29183 instead of device phandle which is not unique.
29184
91c88b12 29185 * kern/sparc64/ieee1275/init.c: Delete, replace with...
29186 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
29187 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
29188 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
29189 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
29190 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
29191 GRUB_KERNEL_MACHINE_DATA_END): Define.
29192 (grub_kernel_image_size, grub_total_module_size): Declare.
29193
5b5d4aa5 291942009-04-12 Pavel Roskin <proski@gnu.org>
29195
7dd4a573 29196 * configure.ac: Change the logic when we check for target tools.
29197 Do it when the target is specified and it's different from the
29198 specified value of the host.
5b5d4aa5 29199
c91e1793 292002009-04-11 Felix Zielcke <fzielcke@z-51.de>
29201
29202 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
29203 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
29204 GNU/kFreeBSD. Check if a device is a character device. Use
29205 DIOCGMEDIASIZE to get the size.
29206 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
29207 support for GNU/kFreeBSD.
29208 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
29209 is a character device instead of a block device. Add support for
29210 FreeBSD device names.
29211
29212 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
29213 is a character device instead of a block device.
29214
29215 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
29216 is a character device instead of a block device.
29217
b1ac8644 292182009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
29219
29220 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
29221 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
29222 FreeBSD. Check if a device is a character device. Use
29223 DIOCGMEDIASIZE to get the size.
29224 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
29225 support for FreeBSD.
29226 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
29227 is a character device instead of a block device. Add support for
29228 FreeBSD device names.
29229
29230 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
29231 a character device instead of a block device.
29232 (grub_util_check_char_device): New function.
29233
29234 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
29235 a character device instead of a block device.
29236
29237 * include/grub/util/getroot.h (grub_util_check_char_device): New
29238 prototype.
29239
a3f7515a 292402009-04-11 David S. Miller <davem@davemloft.net>
29241
29242 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
29243 static libgcc.
29244 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
29245 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
29246 function, if present.
29247 (__bswapdi2): Likewise.
29248
0d44993d 29249 * include/grub/sparc64/ieee1275/boot.h: New file.
29250 * boot/sparc64/ieee1275/boot.S: Likewise.
29251 * boot/sparc64/ieee1275/diskboot.S: Likewise.
29252
ed3d2bc2 29253 * kern/misc.c (grub_ltoa): New function.
29254 (grub_vsprintf): Use it to format 'long' integers.
29255
d3bfb59c 292562009-04-10 David S. Miller <davem@davemloft.net>
29257
29258 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
29259 slots are of type grub_ieee1275_cell_t.
29260 (grub_nand_read): Likewise.
29261 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
29262 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
29263 macros are used to compare values in arg/ret block of the call.
29264 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29265 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
29266 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
29267 grub_ieee1275_instance_to_path, grub_ieee1275_write,
29268 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
29269 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
29270 grub_ieee1275_close, grub_ieee1275_set_property,
29271 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
29272 grub_ieee1275_cell_t.
29273 * kern/ieee1275/openfw.c (grub_map): Likewise.
29274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
29275 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
29276
450e2238 29277 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
29278 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
29279 (grub_devalias_iterate): Likewise.
29280
7dd4a573 292812009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 29282
29283 UFS improvements
29284
29285 * fs/ufs.c (INODE_NBLOCKS): new definition
29286 (struct grub_ufs_dirent): added fields for non-BSD dirents
29287 (grub_ufs_get_file_block): fixed double indirect handling
29288 (grub_ufs_lookup_symlink): use more robust way to determine whether
29289 symlink is inline
29290 (grub_ufs_find_file): support for non-BSD dirents
29291 (grub_ufs_dir): support for non-BSD dirents
29292
e7e6862a 292932009-04-10 Bean <bean123ch@gnail.com>
29294
29295 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
29296 attribute, otherwise the size would be wrong for i386 platform.
29297
29298 * include/grub/pci.h (grub_pci_read_word): New inline function.
29299 (grub_pci_read_byte): Likewise.
29300 (grub_pci_write): Likewise.
29301 (grub_pci_write_word): Likewise.
29302 (grub_pci_write_byte): Likewise.
29303
29304 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
29305
29306 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
29307 (find_framebuf): Scan pci to locate the frame buffer address.
29308
29309 * commands/efi/fixvideo.c: New file.
29310
29311 * commands/efi/loadbios.c: Likewise.
29312
29313 * commands/memrw.c: Likewise.
29314
29315 * util/grub-dumpbios.in: Likewise.
29316
29317 * conf/common.rmk (grub-dumpbios): New utility.
29318 (pkglib_MODULES): New module memrw.mod.
29319 (memrw_mod_SOURCE): New macro.
29320 (memrw_mod_CFLAGS): Likewise.
29321 (memrw_mod_LDFLAGS): Likewise.
29322
7dd4a573 29323 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29324 fixvideo.mod.
29325 (loadbios_mod_SOURCE): New macro.
29326 (loadbios_mod_CFLAGS): Likewise.
29327 (loadbios_mod_LDFLAGS): Likewise.
29328 (fixvideo_mod_SOURCE): Likewise.
29329 (fixvideo_mod_CFLAGS): Likewise.
29330 (fixvideo_mod_LDFLAGS): Likewise.
29331
7dd4a573 29332 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 29333 fixvideo.mod.
29334 (loadbios_mod_SOURCE): New macro.
29335 (loadbios_mod_CFLAGS): Likewise.
29336 (loadbios_mod_LDFLAGS): Likewise.
29337 (fixvideo_mod_SOURCE): Likewise.
29338 (fixvideo_mod_CFLAGS): Likewise.
29339 (fixvideo_mod_LDFLAGS): Likewise.
29340
af63ada2 293412009-04-08 Felix Zielcke <fzielcke@z-51.de>
29342
29343 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
29344
c2cdde70 293452009-04-07 David S. Miller <davem@davemloft.net>
29346
29347 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
29348 support for R_SPARC_OLO10 relocations. Fix compile warning for
29349 R_SPARC_WDISP30 case.
ea3f72cf 29350 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 29351
761319cf 293522009-04-06 Pavel Roskin <proski@gnu.org>
29353
1007d1f5 29354 * include/grub/misc.h (ARRAY_SIZE): New macro.
29355 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
29356 New macro.
29357 * loader/i386/linux.c (allocate_pages): Use free_pages().
29358 (grub_linux_unload): Don't use free_pages().
29359 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
29360 wrong index. Treat all other modes as text modes.
29361 (grub_cmd_linux): Initialize vid_mode unconditionally to
29362 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
29363
761319cf 29364 * commands/help.c (print_command_help): Use cmd->prio, not
29365 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
29366
ea761d40 293672009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 29368
ea761d40 29369 Parttool
29370
29371 * parttool/pcpart.c: new file
29372 * commands/parttool.c: likewise
29373 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
29374 (parttool_mod_SOURCES): new variable
29375 (parttool_mod_CFLAGS): likewise
29376 (parttool_mod_LDFLAGS): likewise
29377 (pcpart_mod_SOURCES): likewise
29378 (pcpart_mod_CFLAGS): likewise
29379 (pcpart_mod_LDFLAGS): likewise
7dd4a573 29380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 29381 and parttool/pcpart.c
29382 * conf/i386-efi.rmk: likewise
29383 * conf/i386-ieee1275.rmk: likewise
29384 * conf/i386-pc.rmk: likewise
29385 * conf/powerpc-ieee1275.rmk: likewise
29386 * conf/sparc64-ieee1275.rmk: likewise
29387 * conf/x86_64-ieee1275.rmk: likewise
29388
05aaebfb 293892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29390
29391 Support for mtime and further expandability of dir command
29392
29393 * include/grub/lib/datetime.h: moved to ...
7dd4a573 29394 * include/grub/datetime.h: ... moved here and added
05aaebfb 29395 declaration of grub_unixtime2datetime. All users updated
7dd4a573 29396 * include/grub/fs.h: new syntax for dir and mtime functions in
29397 struct grub_fs
05aaebfb 29398 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
29399 and GRUB_FSHELP_FLAGS_MASK
29400 * commands/ls.c (grub_ls_list_files): Write mtime in long format
29401 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
29402 (grub_ext2_mtime): new function
29403 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
29404 (grub_hfsplus_mtime): new function
29405 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
29406 (GRUB_UFS_ATTR_FILE): likewise
29407 (GRUB_UFS_ATTR_LNK): likewise
29408 (struct grub_ufs_sblock): new fields mtime
29409 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
29410 all users updated
29411 (grub_ufs_dir): mtime support
29412 (grub_ufs_mtime): new function
29413 * fs/affs.c (grub_affs_dir): use new dir syntax
29414 * fs/afs.c (grub_afs_dir): likewise
29415 * fs/cpio.c (grub_cpio_dir): likewise
29416 * fs/fat.c (grub_fat_find_dir): likewise
29417 * fs/hfs.c (grub_hfs_dir): likewise
29418 * fs/iso9660.c (grub_iso9660_dir): likewise
29419 * fs/jfs.c (grub_jfs_dir): likewise
29420 * fs/minix.c (grub_minix_dir): likewise
29421 * fs/ntfs.c (grub_ntfs_dir): likewise
29422 * fs/reiserfs.c (grub_reiserfs_dir): likewise
29423 * fs/sfs.c (grub_sfs_dir): likewise
29424 * fs/xfs.c (grub_xfs_dir): likewise
29425 * util/hostfs.c (grub_hostfs_dir): likewise
29426 * lib/datetime.c: moved to ...
29427 * normal/datetime.c: ... moved here
29428 (grub_unixtime2datetime): new function
29429 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 29430 * normal/completion.c (iterate_dir): use new dir syntax
29431 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 29432 last modification time of a volume
7dd4a573 29433 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 29434 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 29435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 29436 (normal_mod_SOURCES): likewise
29437 (datetime_mod_SOURCES): Removed lib/datetime.c
29438 * conf/i386-efi.rmk: likewise
7dd4a573 29439 * conf/i386-ieee1275.rmk: likewise
05aaebfb 29440 * conf/i386-pc.rmk: likewise
29441 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29442 * conf/sparc64-ieee1275.rmk: likewise
29443 * conf/x86_64-efi.rmk: likewise
05aaebfb 29444
8a7e1a14 294452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 29448
29449 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 29450 on grub_fat_find_dir
29451 (grub_fat_find_dir): use grub_fat_iterate_dir
29452 (grub_fat_label): likewise
29453
04186a9c 294542009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29455
7dd4a573 29456 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 29457 and command.h
29458 remove extraneous kernel_elf_HEADERS
29459
da4c0bb6 294602009-04-04 Bean <bean123ch@gnail.com>
29461
29462 * include/grub/util/misc.h: Add dummy function fsync for mingw.
29463
29464 * util/misc.c: Likewise.
29465
54ad9555 294662009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
29467
29468 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
29469 instead of grub_printf.
29470
7a6bf9f2 294712009-04-03 Robert Millan <rmh@aybabtu.com>
29472
29473 * loader/i386/linux.c (grub_linux_setup_video): Fill
29474 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
29475 values from `mode info' structure instead of hardcoded
29476 values.
29477
3fcc2083 294782009-04-01 Pavel Roskin <proski@gnu.org>
29479
29480 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
29481 unused now.
29482 * genmk.rb: Likewise.
29483 * configure.ac: Likewise.
29484
5ec9740b 294852009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
29486
29487 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
29488 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
29489
5270cec8 294902009-04-01 David S. Miller <davem@davemloft.net>
29491
29492 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 29493 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 29494 (grub_setjmp): Mark with 'returns_twice' attribute.
29495 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
29496 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
29497 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
29498
9c3dd854 294992009-04-01 Robert Millan <rmh@aybabtu.com>
29500
29501 Reapply fix from 2008-07-28 which was accidentally reverted; also
29502 perform the same fix to a similar check in same function.
29503
29504 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29505 with the same number are found, just use issue a warning with
29506 grub_dprintf(), as this error has been reported to be non-fatal.
29507
0d818b7e 295082009-03-31 Pavel Roskin <proski@gnu.org>
29509
29510 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
29511 for cross-compilation.
29512
95646d92 295132009-03-30 Robert Millan <rmh@aybabtu.com>
29514
29515 Fix i386-ieee1275 build.
29516
29517 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
29518 Remove declaration.
29519
6a003ed1 295202009-03-30 Pavel Roskin <proski@gnu.org>
29521
29522 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
29523 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
29524 zero-terminated, rely only on the strlen value. Fix comparison
29525 of strings differing in length.
29526
92f33540 295272009-03-30 Robert Millan <rmh@aybabtu.com>
29528
29529 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
29530 checking for abi version. Improve error messages on BIOS to notify
29531 user about `linux16' command.
29532
a8c48fd5 295332009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
29534
f968172e 29535 Leak fixes
a8c48fd5 29536
f968172e 29537 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
29538 in case of collision
29539 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 29540
9c323f09 295412009-03-29 Robert Millan <rmh@aybabtu.com>
29542
29543 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
29544 set `vid_mode' accordingly.
29545 (grub_linux_boot): Process `vid_mode' and set video mode.
29546
ae68f423 295472009-03-29 Robert Millan <rmh@aybabtu.com>
29548
29549 * util/grub.d/10_linux.in (linux_entry): New function.
29550 Factorize generation of Linux boot entries.
29551
5709cfc4 295522009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
29553
29554 Make the format of Environment Block plain text. The boot loader
29555 part is not tested well yet.
7dd4a573 29556
5709cfc4 29557 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
29558 (buffer): Removed.
29559 (envblk): Likewise.
29560 (usage): Remove "info" and "clear". Add "unset". Update the
29561 description of "set", as this does not delete variables any
29562 longer.
29563 (create_envblk_file): Complete rewrite.
29564 (open_envblk_file): Likewise.
29565 (cmd_info): Removed.
29566 (cmd_list): Likewise.
29567 (cmd_set): Likewise.
29568 (cmd_clear): Likewise.
29569 (list_variables): New function.
29570 (write_envblk): Likewise.
29571 (set_variables): Likewise.
29572 (unset_variables): Likewise.
29573 (main): Complete rewrite.
29574
29575 * commands/loadenv.c (buffer): Removed.
29576 (envblk): Likewise.
29577 (open_envblk_file): New function.
29578 (read_envblk_file): Complete rewrite.
29579 (grub_cmd_load_env): Likewise.
29580 (grub_cmd_list_env): Likewise.
29581 (struct blocklist): New struct.
29582 (free_blocklists): New function.
29583 (check_blocklists): Likewise.
29584 (write_blocklists): Likewise.
29585 (grub_cmd_save_env): Complete rewrite.
29586
29587 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
29588 a plain text signature.
29589 (GRUB_ENVBLK_MAXLEN): Removed.
29590 (struct grub_envblk): Complete rewrite.
29591 (grub_envblk_find): Removed.
29592 (grub_envblk_insert): Likewise.
29593 (grub_envblk_open): New prototype.
29594 (grub_envblk_set): Likewise.
29595 (grub_envblk_delete): Put const to VALUE.
29596 (grub_envblk_iterate): Put const to NAME and VALUE.
29597 (grub_envblk_close): New prototype.
29598 (grub_envblk_buffer): New inline function.
29599 (grub_envblk_size): Likewise.
29600
29601 * lib/envblk.c: Include grub/mm.h.
29602 (grub_env_find): Removed.
29603 (grub_envblk_open): New function.
29604 (grub_envblk_close): Likewise.
29605 (escaped_value_len): Likewise.
29606 (find_next_line): Likewise.
29607 (grub_envblk_insert): Removed.
29608 (grub_envblk_set): New function.
29609 (grub_envblk_delete): Complete rewrite.
29610 (grub_envblk_iterate): Likewise.
29611
a9368fd3 296122009-03-28 Robert Millan <rmh@aybabtu.com>
29613
29614 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
29615 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
29616 variables. Use 16-bit loader.
29617 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
29618 loader.
29619 * kern/i386/loader.S (grub_linux_boot): Rename to ...
29620 (grub_linux16_boot): ... this. Update all users.
29621 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
29622 (grub_linux_boot): ... this. Update all users.
29623
29624 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
29625 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
29626 commands to `linux16' and `initrd16'.
29627 (GRUB_MOD_FINI(linux)): Rename to ...
29628 (GRUB_MOD_FINI(linux16)): ... this.
29629
e4dd5a7e 296302009-03-24 Pavel Roskin <proski@gnu.org>
29631
29632 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29633 not just for compilation.
29634
c04d6e05 296352009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29636
29637 Move multiboot helper out of kernel
29638
29639 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29640 `loader/i386/multiboot_helper.S'.
29641 * conf/i386-coreboot.rmk: Likewise
29642 * conf/i386-ieee1275.rmk: Likewise
29643
29644 * kern/i386/loader.S: Move multiboot helpers from here...
29645 * loader/i386/multiboot_helper.S: ...moved here
29646 * include/grub/i386/loader.h: Move declarations of multiboot
29647 helpers from here...
29648 * include/grub/i386/multiboot.h: ...moved here
29649 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29650
42a5b3fc 296512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29652
29653 * kern/env.c (grub_env_context_open): Added an argument to specify
29654 whether a new context inherits exported variables from current
29655 one. This is useful when making a sandbox to interpret a config
29656 file.
29657 All callers updated.
29658
29659 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29660
b28bbc4e 296612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29662
29663 * kern/env.c (grub_env_context_close): Fix memory leaks.
29664
f04f02e4 296652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29666
29667 * normal/main.c (grub_normal_execute): Added an argument
29668 BATCH to specify if an interactive interface should be provided
29669 after reading a config file.
29670 All callers updated.
29671 (read_command_list): Prevent being executed twice.
29672 (read_fs_list): Likewise.
29673
42a5b3fc 29674 * include/grub/normal.h (grub_normal_execute): Updated the
29675 prototype.
f04f02e4 29676
41473ac2 296772009-03-22 Pavel Roskin <proski@gno.org>
29678
fbc00b0c 29679 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29680 _start.
29681 * kern/i386/pc/startup.S: Likewise.
29682 * kern/i386/efi/startup.S: Likewise.
29683 * kern/i386/ieee1275/startup.S: Likewise.
29684 * kern/i386/coreboot/startup.S: Likewise.
29685 * kern/x86_64/efi/startup.S: Likewise.
29686
41473ac2 29687 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29688 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29689 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29690
2274cc8f 296912009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29692
29693 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29694
29695 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29696 limit detection.
29697 Use vaddr of correct segment for entry_point.
29698
b1b797cb 296992009-03-21 Bean <bean123ch@gmail.com>
29700
29701 * commands/blocklist.c: Add include file <grub/command.h>, remove
29702 <grub/normal.h> and <grub/arg.h>.
29703 (grub_cmd_blocklist): Use the new command interface.
29704 (GRUB_MOD_INIT): Likewise.
29705 (GRUB_MOD_FINI): Likewise.
29706 * commands/boot.c: Likewise.
29707 * commands/cat.c: Likewise.
29708 * commands/cmp.c: Likewise.
29709 * commands/configfile.c: Likewise.
29710 * commands/crc.c: Likewise.
29711 * commands/echo.c: Likewise.
29712 * commands/halt.c: Likewise.
29713 * commands/handler.c: Likewise.
29714 * commands/hdparm.c: Likewise.
29715 * commands/help.c: Likewise.
29716 * commands/hexdump.c: Likewise.
29717 * commands/loadenv.c: Likewise.
29718 * commands/ls.c: Likewise.
29719 * commands/lsmmap.c: Likewise.
29720 * commands/lspci.c: Likewise.
29721 * commands/loadenv.c: Likewise.
29722 * commands/read.c: Likewise.
29723 * commands/reboot.c: Likewise.
29724 * commands/search.c: Likewise.
29725 * commands/sleep.c: Likewise.
29726 * commands/test.c: Likewise.
29727 * commands/usbtest.c: Likewise.
29728 * commands/videotest.c: Likewise.
29729 * commands/i386/cpuid.c: Likewise.
29730 * commands/i386/pc/halt.c: Likewise.
29731 * commands/i386/pc/play.c: Likewise.
29732 * commands/i386/pc/pxecmd.c: Likewise.
29733 * commands/i386/pc/vbeinfo.c: Likewise.
29734 * commands/i386/pc/vbetest.c: Likewise.
29735 * commands/ieee1275/suspend.c: Likewise.
29736 * disk/loopback.c: Likewise.
29737 * font/font_cmd.c: Likewise.
29738 * hello/hello.c: Likewise.
29739 * loader/efi/appleloader.c: Likewise.
29740 * loader/efi/chainloader.c: Likewise.
29741 * loader/i386/bsd.c: Likewise.
29742 * loader/i386/efi/linux.c: Likewise.
29743 * loader/i386/ieee1275/linux.c: Likewise.
29744 * loader/i386/linux.c: Likewise.
29745 * loader/i386/pc/chainloader.c: Likewise.
29746 * loader/i386/pc/linux.c: Likewise.
29747 * loader/powerpc/ieee1275/linux.c: Likewise.
29748 * loader/multiboot_loader.c: Likewise.
29749 * term/gfxterm.c: Likewise.
29750 * term/i386/pc/serial.c: Likewise.
29751 * term/terminfo.c: Likewise.
29752
29753 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29754 * term/i386/pc/vga.c: Likewise.
29755 * video/readers/jpeg.c: Likewise.
29756 * video/readers/png.c: Likewise.
29757 * video/readers/tga.c: Likewise.
29758
29759 * util/grub-fstest (cmd_loopback): Removed.
29760 (cmd_blocklist): Likewise.
29761 (cmd_ls): Likewise.
29762 (grub_register_command): Likewise.
29763 (grub_unregister_command): Likewise.
29764 (execute_command): Use grub_command_find to locate command and execute
29765 it.
29766
29767 * include/grub/efi/chainloader.h: Removed.
29768 * loader/efi/chainloader_normal.c: Likewise.
29769 * loader/i386/bsd_normal.c: Likewise.
29770 * loader/i386/pc/chainloader_normal.c: Likewise.
29771 * loader/i386/pc/multiboot_normal.c: Likewise.
29772 * loader/linux_normal.c: Likewise.
29773 * loader/multiboot_loader_normal.c: Likewise.
29774 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29775
29776 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29777 and grub_register_command_p1.
29778
29779 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29780 kern/command.c, lib/arg.c and commands/extcmd.c.
29781 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29782 (minicmd_mod_SOURCES): New variable.
29783 (minicmd_mod_CFLAGS): Likewise.
29784 (minicmd_mod_LDFLAGS): Likewise.
29785 (extcmd_mod_SOURCES): Likewise.
29786 (extcmd_mod_CFLAGS): Likewise.
29787 (extcmd_mod_LDFLAGS): Likewise.
29788 (boot_mod_SOURCES): Removed.
29789 (boot_mod_CFLAGS): Likewise.
29790 (boot_mod_LDFLAGS): Likewise.
29791
29792 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29793 kern/corecmd.c.
29794 (kernel_img_HEADERS): Add command.h.
29795 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29796 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29797 and lib/arg.c.
29798 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29799 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29800 remove the corresponding normal mode command.
29801 (normal_mod_SOURCES): Remove normal/arg.c.
29802 * conf/i386-coreboot.rmk: Likewise.
29803 * conf/i386-efi.rmk: Likewise.
29804 * conf/i386-ieee1275.rmk: Likewise.
29805 * conf/powerpc-ieee1275.rmk: Likewise.
29806 * conf/x86_64-efi.rmk: Likewise.
29807
29808 * include/grub/arg.h: Move from here ...
29809 * include/grub/lib/arg.h: ... to here.
29810
29811 * normal/arg.c: Move from here ...
29812 * lib/arg.c: ... to here.
29813
29814 * commands/extcmd.c: New file.
29815 * commands/minicmd.c: Likewise.
29816 * include/grub/command.h: Likewise.
29817 * include/grub/extcmd.h: Likewise.
29818 * kern/command.c: Likewise.
29819 * kern/corecmd.c: Likewise.
29820
29821 * kern/list.c (grub_list_iterate): Return int instead of void.
29822 (grub_list_insert): New function.
29823 (grub_prio_list_insert): Likewise.
29824
29825 * kern/rescue.c (grub_rescue_command): Removed.
29826 (grub_rescue_command_list): Likewise.
29827 (grub_rescue_register_command): Likewise.
29828 (grub_rescue_unregister_command): Likewise.
29829 (grub_rescue_cmd_boot): Move to minicmd.c
29830 (grub_rescue_cmd_help): Likewise.
29831 (grub_rescue_cmd_info): Likewise.
29832 (grub_rescue_cmd_boot): Likewise.
29833 (grub_rescue_cmd_testload): Likewise.
29834 (grub_rescue_cmd_dump): Likewise.
29835 (grub_rescue_cmd_rmmod): Likewise.
29836 (grub_rescue_cmd_lsmod): Likewise.
29837 (grub_rescue_cmd_exit): Likewise.
29838 (grub_rescue_print_devices): Moved to corecmd.c.
29839 (grub_rescue_print_files): Likewise.
29840 (grub_rescue_cmd_ls): Likewise.
29841 (grub_rescue_cmd_insmod): Likewise.
29842 (grub_rescue_cmd_set): Likewise.
29843 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29844 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29845 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29846 commands, remove grub_rescue_register_command calls.
b1b797cb 29847
7d074e3c 29848 * normal/command.c (grub_register_command): Removed.
b1b797cb 29849 (grub_unregister_command): Likewise.
29850 (grub_command_find): Likewise.
29851 (grub_iterate_commands): Likewise.
29852 (rescue_command): Likewise.
29853 (export_command): Moved to corecmd.c.
29854 (set_command): Removed.
29855 (unset_command): Likewise.
29856 (insmod_command): Likewise.
29857 (rmmod_command): Likewise.
29858 (lsmod_command): Likewise.
29859 (grub_command_init): Likewise.
29860
29861 * normal/completion.c (iterate_command): Use cmd->prio to check for
29862 active command.
29863 (complete_arguments): Use grub_extcmd_t structure to find options.
29864 (grub_normal_do_completion): Change function grub_iterate_commands to
29865 grub_command_iterate.
29866
29867 * normal/execute.c (grub_script_execute_cmd): No need to parse
29868 argument here.
29869
29870 * normal/main.c (grub_dyncmd_dispatcher): New function.
29871 (read_command_list): Register unload commands as dyncmd.
29872 (grub_cmd_normal): Use new command interface, register rescue,
29873 unregister normal at entry, register normal, unregister rescue at exit.
29874
29875 * include/grub/list.h (grub_list_test_t): New type.
29876 (grub_list_iterate): Return int instead of void.
29877 (grub_list_insert): New function.
29878 (GRUB_AS_NAMED_LIST_P): New macro.
29879 (GRUB_AS_PRIO_LIST): Likewise.
29880 (GRUB_AS_PRIO_LIST_P): Likewise.
29881 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29882 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29883 (grub_prio_list): New structure.
29884 (grub_prio_list_insert): New function.
29885 (grub_prio_list_remove): New inline function.
29886
29887 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29888 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29889 (GRUB_COMMAND_FLAG_MENU): Likewise.
29890 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29891 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29892 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29893 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29894 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29895 (grub_command): Likewise.
29896 (grub_register_command): Likewise.
29897 (grub_command_find): Likewise.
29898 (grub_iterate_commands): Likewise.
29899 (grub_command_init): Likewise.
29900 (grub_arg_parse): Likewise.
29901 (grub_arg_show_help): Likewise.
29902
29903 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29904 (grub_rescue_unregister_command): Likewise.
29905
29906 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29907 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29908 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29909
29910 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29911 grub_rescue_cmd_initrd.
29912 * include/grub/i386/loader.h: Likewise.
29913 * include/grub/x86_64/loader.h: Likewise.
29914
29915 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29916
1f4147aa 299172009-03-21 Bean <bean123ch@gmail.com>
29918
29919 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29920 instead of stat in mingw environment.
29921
29922 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29923
29924 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29925
29926 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29927 AC_CONFIG_LINKS.
29928
2156d5ba 299292009-03-21 Bean <bean123ch@gmail.com>
29930
29931 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29932 out of range error.
29933
177b82ca 299342009-03-18 Michel Dänzer <michel@daenzer.net>
29935
29936 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29937 checking inode flags for EXT4_EXTENTS_FLAG.
29938
14aad807 299392009-03-18 Robert Millan <rmh@aybabtu.com>
29940
29941 * loader/i386/linux.c: Include `<grub/video.h>' and
29942 `<grub/i386/pc/vbe.h>'..
29943 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29944 (grub_linux32_boot): Attempt to configure video settings with
29945 grub_linux_setup_video().
29946 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29947 to avoid grub_console_fini() which would step out of graphical mode
29948 unconditionally.
29949
8cf83a27 299502009-03-14 Robert Millan <rmh@aybabtu.com>
29951
29952 Fix build on powerpc.
29953 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29954
40164e75 299552009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29956
29957 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29958 background image command.
29959
c58bc32a 299602009-03-12 Colin D Bennett <colin@gibibit.com>
29961
29962 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29963 (grub_gfxterm_putchar): Extract pairs of identical calls to
29964 draw_cursor out of conditional blocks.
29965
5415144a 299662009-03-11 Pavel Roskin <proski@gnu.org>
29967
29968 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29969 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29970
6394042e 299712009-03-11 Robert Millan <rmh@aybabtu.com>
29972
29973 * loader/i386/multiboot_elfxx.c
29974 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29975
b7b50e5f 299762009-03-11 Felix Zielcke <fzielcke@z-51.de>
29977
29978 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29979 `kern/handler.c'.
29980
1ca7fc96 299812009-03-11 Robert Millan <rmh@aybabtu.com>
29982
29983 * loader/i386/multiboot.c (code_size): New variable.
29984 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29985 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29986 4-byte alignment to MBI and others by increasing
7d074e3c 29987 `boot_loader_name_length' appropriately.
1ca7fc96 29988
29989 * loader/i386/multiboot_elfxx.c
29990 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29991
a83ea1d2 299922009-03-09 Felix Zielcke <fzielcke@z-51.de>
29993
29994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29995 `fs/ext2.c'.
29996
aa9f3bff 299972009-03-08 Robert Millan <rmh@aybabtu.com>
29998
29999 Make loader/i386/linux.c usable on i386-pc again.
30000
30001 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30002 memory to heap.
30003 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30004 `#error' stanza.
30005
d8b3b60e 300062009-03-07 Bean <bean123ch@gmail.com>
30007
30008 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30009 allocation.
30010
b362c9e9 300112009-03-06 Robert Millan <rmh@aybabtu.com>
30012
30013 Fix display issue on terminals with screen size other than 80x25
30014 (e.g. gfxterm with resolution higher than 640x480).
30015
30016 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30017 position relative to the center of the terminal instead of relying
b362c9e9 30018 on a hardcoded offset.
30019
9304eef1 300202009-03-04 Robert Millan <rmh@aybabtu.com>
30021
30022 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30023 installed.
30024
30025 * Makefile.in (host_kernel): New variable.
30026 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30027 scripts instead of just the windows one.
30028 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30029
eabc95fb 300302009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30031
30032 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30033 `kern/handler.c'.
30034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30035 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30036 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30038 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30040
ceb1223c 300412009-03-04 Felix Zielcke <fzielcke@z-51.de>
30042
30043 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30044 or if there's no space for the disk label and print the partition number on a
30045 invalid magic.
30046
4910684a 300472009-03-04 Felix Zielcke <fzielcke@z-51.de>
30048
30049 * util/misc.c: Include <time.h>.
30050 (grub_millisleep): New function.
30051
7e9ca17a 300522009-03-04 Bean <bean123ch@gmail.com>
30053
30054 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30055 another option -mno-red-zone.
30056
30057 * commands/handler.c: Change module description.
30058
30059 * kern/handler.c: Add missing space at the end of description line.
30060
30061 * kern/list.c: Likewise.
30062
f501677c 300632009-03-03 Robert Millan <rmh@aybabtu.com>
30064
30065 Move more components to the relocation area, and fix mbi pointer
30066 handling to use the destination rather than the origin (thanks to
30067 Vladimir Serbinenko for spotting).
30068
30069 * loader/i386/multiboot.c (mbi_dest): New variable.
30070 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30071 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30072 relocation area.
30073
9902d047 300742009-03-01 Bean <bean123ch@gmail.com>
30075
50fb7002 30076 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30077 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30078 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30079 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30080
30081 * loader/i386/efi/linux.c (acpi_guid): New variable.
30082 (acpi_guid): Likewise.
30083 (EBDA_SEG_ADDR): New constant.
30084 (LOW_MEM_ADDR): Likewise.
30085 (FAKE_EBDA_SEG): Likewise.
30086 (fake_bios_data): New function.
30087 (grub_linux_boot): Call fake_bios_data.
30088
71b9f361 300892009-03-01 Bean <bean123ch@gmail.com>
30090
30091 * commands/terminal.c: Removed.
30092
30093 * commands/handler.c: New file.
30094
30095 * include/grub/list.h: Likewise.
30096
30097 * include/grub/handler.h: Likewise.
30098
30099 * kern/list.c: Likewise.
30100
30101 * kern/handler.c: Likewise.
30102
30103 * kern/term.h: Include header file <grub/handler.h>.
30104 (grub_term_input): Move next field to the beginning.
30105 (grub_term_output): Likewise.
30106 (grub_term_input_class): New variable.
30107 (grub_term_output_class): Likewise.
30108 (grub_term_register_input): Changed to inline function.
30109 (grub_term_register_output): Likewise.
30110 (grub_term_unregister_input): Likewise.
30111 (grub_term_unregister_output): Likewise.
30112 (grub_term_set_current_input): Likewise.
30113 (grub_term_set_current_output): Likewise.
30114 (grub_term_get_current_input): Likewise.
30115 (grub_term_get_current_output): Likewise.
30116 (grub_term_iterate_input): Removed.
30117 (grub_term_iterate_output): Likewise.
30118
30119 * kern/term.c (grub_term_list_input): Removed.
30120 (grub_term_list_output): Likewise.
30121 (grub_term_input_class): New variable.
30122 (grub_term_output_class): Likewise.
50fb7002 30123 (grub_cur_term_input): Change variable as macro.
71b9f361 30124 (grub_cur_term_output): Likewise.
30125 (grub_term_register_input): Removed.
30126 (grub_term_register_output): Likewise.
30127 (grub_term_unregister_input): Likewise.
30128 (grub_term_unregister_output): Likewise.
30129 (grub_term_set_current_input): Likewise.
30130 (grub_term_set_current_output): Likewise.
30131 (grub_term_iterate_input): Likewise.
30132 (grub_term_iterate_output): Likewise.
30133 (grub_term_get_current_input): Likewise.
30134 (grub_term_get_current_output): Likewise.
30135
30136 * util/grub-editenv.c: Include header file <grub/handler.h>.
30137 (grub_term_get_current_input): Removed.
30138 (grub_term_get_current_output): Likewise.
30139 (grub_term_input_class): New variable.
50fb7002 30140 (grub_term_output_class): Likewise.
71b9f361 30141
30142 * util/grub-fstest.c (grub_term_get_current_input): Removed.
30143 (grub_term_get_current_output): Likewise.
30144 (grub_term_input_class): New variable.
50fb7002 30145 (grub_term_output_class): Likewise.
71b9f361 30146
30147 * util/grub-probe.c (grub_term_get_current_input): Removed.
30148 (grub_term_get_current_output): Likewise.
30149 (grub_term_input_class): New variable.
50fb7002 30150 (grub_term_output_class): Likewise.
71b9f361 30151
30152 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
30153 (grub_term_get_current_output): Likewise.
30154 (grub_term_input_class): New variable.
50fb7002 30155 (grub_term_output_class): Likewise.
71b9f361 30156
30157 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
30158 (terminal_mod_SOURCES): Likewise.
30159 (terminal_mod_CFLAGS): Likewise.
30160 (terminal_mod_LDFLAGS): Likewise.
30161
30162 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
30163 handler.c.
30164 (kernel_img_SOURCES): Add list.c and handler.c.
30165 (kernel_img_HEADERS): Add list.h and handler.h.
30166
30167 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30168 handler.c.
30169 (kernel_mod_SOURCES): Add list.c and handler.c.
30170 (kernel_mod_HEADERS): Add list.h and handler.h.
30171
30172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
30173 handler.c.
30174 (kernel_elf_SOURCES): Add list.c and handler.c.
30175 (kernel_elf_HEADERS): Add list.h and handler.h.
30176
30177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30178 handler.c.
30179 (kernel_elf_SOURCES): Add list.c and handler.c.
30180 (kernel_elf_HEADERS): Add list.h and handler.h.
30181
30182 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
30183 handler.c.
30184 (kernel_mod_SOURCES): Add list.c and handler.c.
30185 (kernel_mod_HEADERS): Add list.h and handler.h.
30186
30187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
30188 handler.c.
30189 (kernel_elf_SOURCES): Add list.c and handler.c.
30190 (kernel_elf_HEADERS): Add list.h and handler.h.
30191
8a31787f 301922009-02-27 Robert Millan <rmh@aybabtu.com>
30193
30194 Factorize elf32 / elf64 code in Multiboot loader. This will
30195 prevent it from getting out of sync again.
30196
30197 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
30198 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
30199 grub_multiboot_load_elf64): Move from here ...
30200 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
30201 grub_multiboot_load_elf): ... to here (new file).
30202
51cd3dfc 302032009-02-27 Robert Millan <rmh@aybabtu.com>
30204
30205 * util/grub.d/10_linux.in: Rename "single-user mode" to
30206 "recovery mode".
30207
6e8c9c3a 302082009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
30209
30210 Don't leak in SCSI code.
30211 * disk/scsi.c (grub_scsi_close): free `scsi'.
30212
4b6bf4f9 302132009-02-27 Robert Millan <rmh@aybabtu.com>
30214
30215 * loader/i386/pc/multiboot.c: Move from here ...
30216 * loader/i386/multiboot.c: ... to here. Update all users.
30217
b9413424 302182009-02-27 Robert Millan <rmh@aybabtu.com>
30219
30220 Patch from Alexandre Bique <bique.alexandre@gmail.com>
30221 * util/i386/pc/grub-setup.c (setup): Fix directory path.
30222
50fb7002 302232009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 30224
30225 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
30226 b-tree.
30227
8cc50345 302282009-02-27 Robert Millan <rmh@aybabtu.com>
30229
30230 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
30231 `0x' qualifier as 0 when base is specified as parameter).
30232
6e09b8b7 302332009-02-24 Bean <bean123ch@gmail.com>
30234
30235 * configure.ac: Check for -mcmodel=large in x86_64 target.
30236
30237 * include/grub/efi/api.h (efi_call_10): New macro.
30238 (efi_wrap_10): New function.
30239
30240 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
30241 (GRUB_PE32_REL_BASED_HIGH): Likewise.
30242 (GRUB_PE32_REL_BASED_LOW): Likewise.
30243 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
30244 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
30245 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
30246 (GRUB_PE32_REL_BASED_SECTION): Likewise.
30247 (GRUB_PE32_REL_BASED_REL): Likewise.
30248 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
30249 (GRUB_PE32_REL_BASED_DIR64): Likewise.
30250 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
30251
30252 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
30253 issue.
30254
30255 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
30256 (efi_wrap_10): New function.
30257
30258 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
30259
30260 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
30261 MB/MBP model (NV chipset).
30262 (devdata_devs): Add devpath_5 to the list.
30263
30264 * load/i386/efi/linux.c (video_base): Remove variable.
30265 (RGB_MASK): New macro.
30266 (RGB_MAGIC): Likewise.
30267 (LINE_MIN): Likewise.
30268 (LINE_MAX): Likewise.
30269 (FBTEST_STEP): Likewise.
30270 (FBTEST_COUNT): Likewise.
30271 (fb_list): New variable.
30272 (grub_find_video_card): Remove function.
30273 (find_framebuf): New function.
30274 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
30275 line length.
30276
30277 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
30278 problem for x86_64.
30279
74b21bee 302802009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
30281
30282 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
30283
30284 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
30285 coding tool name.
30286
a455f472 302872009-02-22 Robert Millan <rmh@aybabtu.com>
30288
30289 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
30290 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
30291 in our relocation, instead of using it directly from heap. Also
30292 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
30293
6374daf3 302942009-02-21 Robert Millan <rmh@aybabtu.com>
30295
30296 Implement USB keyboard support (based on patch by Marco Gerards)
30297
30298 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
30299 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
30300 (usb_keyboard_mod_LDFLAGS): New variables.
30301
30302 * term/usb_keyboard.c: New file.
30303
8fa4ea70 303042009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30305
30306 Corrected wrong declaration
30307
30308 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
30309
353976ac 303102009-02-14 Christian Franke <franke@computer.org>
30311
30312 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
30313 (grub_lspci_iter): Print class code and programming interface byte.
30314
6aa1169b 303152009-02-14 Christian Franke <franke@computer.org>
30316
30317 * gendistlist.sh: Ignore `.svn' directories.
30318
265372ca 303192009-02-14 Felix Zielcke <fzielcke@z-51.de>
30320
30321 * fs/fat.c: Add 2009 to Copyright line.
30322
9ff516f3 303232009-02-14 Christian Franke <franke@computer.org>
30324
30325 * commands/hdparm.c: New file. Provides `hdparm' command
30326 which sends ATA commands via grub_disk_ata_pass_through ().
30327
30328 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
30329
30330 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
30331 and <grub/cpu/io.h> to include/grub/ata.h.
30332 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
30333 (GRUB_CDROM_SECTOR_SIZE): Remove.
30334 (GRUB_ATA_*): Move to include/grub/ata.h.
30335 (GRUB_ATAPI_*): Likewise.
30336 (enum grub_ata_commands): Likewise.
30337 (enum grub_ata_timeout_milliseconds): Likewise.
30338 (struct grub_ata_device): Likewise.
30339 (grub_ata_regset): Likewise.
30340 (grub_ata_regget): Likewise.
30341 (grub_ata_regset2): Likewise.
30342 (grub_ata_regget2): Likewise.
30343 (grub_ata_check_ready): Likewise.
30344 (grub_ata_wait_not_busy): Remove static, exported in
30345 include/grub/ata.h.
30346 (grub_ata_wait_drq): Likewise.
30347 (grub_ata_pio_read): Likewise.
30348
30349 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
30350 function for hdparm.mod.
30351
30352 * include/grub/ata.h: New file, contains declarations from
30353 disk/ata.c.
30354 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
30355
30356 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
30357 (grub_disk_ata_pass_through): New exported variable.
30358
30359 * kern/disk.c (grub_disk_ata_pass_through): New variable.
30360
772e23da 303612009-02-13 Colin D Bennett <colin@gibibit.com>
30362
30363 Support multiple fallback entries, and provide an API to support
30364 executing default+fallback menu entries. Renamed the `terminal' menu
30365 viewer to `text'.
30366
30367 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
30368 variable declaration.
30369 (grub_menu_execute_callback): New structure declaration.
30370 (grub_menu_execute_callback_t): New typedef.
30371 (grub_menu_execute_with_fallback): New function declaration.
30372 (grub_menu_get_entry): Likewise.
30373 (grub_menu_get_timeout): Likewise.
30374 (grub_menu_set_timeout): Likewise.
30375
30376 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
30377
30378 * normal/menu.c (grub_wait_after_message): Moved to
30379 `normal/menu_text.c'.
30380 (draw_border): Likewise.
30381 (print_message): Likewise.
30382 (print_entry): Likewise.
30383 (print_entries): Likewise.
30384 (grub_menu_init_page): Likewise.
30385 (get_entry_number): Likewise.
30386 (print_timeout): Likewise.
30387 (run_menu): Likewise.
30388 (grub_menu_execute_entry): Likewise.
30389 (show_text_menu): Likewise.
30390 (get_and_remove_first_entry_number): New function.
30391 (grub_menu_execute_with_fallback): Likewise.
30392 (get_entry): Renamed to ...
30393 (grub_menu_get_entry): .. this and made it global.
30394 (get_timeout): Renamed to ...
30395 (grub_menu_get_timeout): ... this and made it global.
30396 (set_timeout): Renamed to ...
30397 (grub_menu_set_timeout): ... this and made it global.
30398 (grub_normal_terminal_menu_viewer): Renamed to ...
30399 (grub_normal_text_menu_viewer): ... this.
30400
30401 * normal/menu_text.c: New file. Extracted text-menu-specific code
30402 from normal/menu.c.
30403
30404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
30405 (normal_mod_SOURCES): Likewise.
30406
30407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30408 (normal_mod_SOURCES): Likewise.
30409
30410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30411 (normal_mod_SOURCES): Likewise.
30412
30413 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
30414 (normal_mod_SOURCES): Likewise.
30415
30416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30417 (normal_mod_SOURCES): Likewise.
30418
30419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30420 (normal_mod_SOURCES): Likewise.
30421
30422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30423 (normal_mod_SOURCES): Likewise.
30424
16ac430e 304252009-02-11 Robert Millan <rmh@aybabtu.com>
30426
30427 * util/grub.d/00_header.in: Update old reference to `font' command.
30428
06ff20fc 304292009-02-10 Felix Zielcke <fzielcke@z-51.de>
30430
30431 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
30432
30433 Based on patch from Javier Martín.
30434
96da9407 304352009-02-09 Felix Zielcke <fzielcke@z-51.de>
30436
30437 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 30438 to avoid false positives with FAT.
96da9407 30439 (grub_fstest_SOURCES): Likewise.
30440 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30444 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30445 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30446
6dca6fe4 304472009-02-09 Felix Zielcke <fzielcke@z-51.de>
30448
06ff20fc 30449 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 30450 bpb.version_specific.fat12_or_fat16.fstype and
30451 bpb.version_specific.fat32.fstype.
30452
2550c62f 304532009-02-08 Robert Millan <rmh@aybabtu.com>
30454
be110b30 30455 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 30456
56978920 304572009-02-08 Robert Millan <rmh@aybabtu.com>
30458
30459 * Makefile.in (host_os, host_cpu): New variables.
30460 (target_os): Remove. Update all users.
30461
d64399b5 304622009-02-08 Marco Gerards <marco@gnu.org>
30463
30464 * Makefile.in (enable_grub_emu_usb): New variable.
30465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
30466 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
30467 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
30468 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
30469 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
30470 `usbtest.mod' and `usbms.mod'.
30471 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
30472 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
30473 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
30474 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
30475 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
30476 variables.
30477
30478 * disk/usbms.c: New file.
30479
30480 * include/grub/usb.h: Likewise.
30481
30482 * include/grub/usbtrans.h: Likewise.
30483
30484 * include/grub/usbdesc.h: Likewise.
30485
30486 * bus/usb/usbtrans.c: Likewise.
30487
30488 * bus/usb/ohci.c: Likewise.
30489
30490 * bus/usb/uhci.c: Likewise.
30491
30492 * bus/usb/usbhub.c: Likewise.
30493
30494 * bus/usb/usb.c: Likewise.
30495
30496 * commands/usbtest.c: Likewise.
30497
30498 * util/usb.c: Likewise.
50fb7002 30499
d64399b5 30500 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
30501
30502 * configure.ac: Test for libusb presence.
50fb7002 30503
d64399b5 30504 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
30505
2b40d6bb 305062009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
30507
30508 * kern/mm.c: Add more comments.
30509
73a4ce81 305102009-02-08 Robert Millan <rmh@aybabtu.com>
30511
30512 Patch from Javier Martín.
30513 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
30514 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
30515
f821ce59 305162009-02-08 Robert Millan <rmh@aybabtu.com>
30517
30518 * fs/cpio.c: Split tar functionality to ...
30519 * fs/tar.c: ... here (new file). Update all users.
30520
aebfc4b0 305212009-02-07 Robert Millan <rmh@aybabtu.com>
30522
30523 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
30524 backward-incompatible features.
30525
30526 Based on patch from Javier Martín, with some adjustments.
30527
50fb7002 305282009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 30529
30530 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
30531
0bb5115e 305322009-02-07 Robert Millan <rmh@aybabtu.com>
30533
30534 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
30535 position of `disk/lvm.c' to ensure grub_init_all() always picks it
30536 after the RAID stuff.
30537
38a0f8e7 305382009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
30539
50fb7002 30540 Fixes problem when running vbetest command as reported by
38a0f8e7 30541 Vladimir Serbinenko <phcoder@gmail.com>.
30542
30543 * (grub_vbe_set_video_mode): Fixed problem with text modes.
30544
3143cc1c 305452009-02-04 Felix Zielcke <fzielcke@z-51.de>
30546
30547 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
30548 /dev/md/NpN style mdraid devices.
30549
9cba6fce 305502009-02-03 Felix Zielcke <fzielcke@z-51.de>
30551
30552 * util/unifont2pff.rb: Remove.
30553
e507a2c1 305542009-02-03 Felix Zielcke <fzielcke@z-51.de>
30555
30556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
30557 `#'.
30558
d2c2b4cd 305592009-02-03 Felix Zielcke <fzielcke@z-51.de>
30560
30561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
30562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30563 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30566 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30568
b4315fb0 305692009-02-02 Christian Franke <franke@computer.org>
30570
30571 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
30572
de3aa260 305732009-02-01 Felix Zielcke <fzielcke@z-51.de>
30574
7c3ff286 30575 * INSTALL: Note that we now require at least autoconf 2.59 and
30576 that LZO is optional.
de3aa260 30577
825a182b 305782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30579
30580 Base on patch on bug #24154 created by Tomas Tintera
30581 <trosos@seznam.cz>.
30582
30583 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
30584
a69ef770 305852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
30586
7c3ff286 30587 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 30588 <bero@arklinux.org>.
30589
30590 * normal/parser.y (script_init): Add missing semicolon.
30591
6fa42fa6 305922009-01-31 Colin D Bennett <colin@gibibit.com>
30593
7c3ff286 30594 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 30595 (free_menu_entry_classes): Added.
30596 (grub_normal_menu_addentry): Added class property handling.
30597 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
30598 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
30599
30600 * normal/menu_viewer.c: New file.
30601
30602 * normal/menu.c (run_menu_entry): Renamed to ...
30603 (grub_menu_execute_entry): ... this and made it as global.
30604 (grub_menu_run): Renamed to ...
30605 (show_text_menu): ... this and made it local.
30606 (show_text_menu): Adapt to new function names.
30607 (grub_normal_terminal_menu_viewer): New global variable.
30608
30609 * include/grub/menu.h: New file.
30610
30611 * include/grub/menu_viewer.h: New file.
30612
30613 * include/grub/normal.h: Added include to grub/menu.h.
30614 (grub_menu_entry): Moved to include/grub/menu.h.
30615 (grub_menu_entry_t): Likewise.
30616 (grub_menu): Likewise.
30617 (grub_menu_t): Likewise.
30618 (grub_normal_terminal_menu_viewer): Added.
30619 (grub_menu_execute_entry): Likewise.
30620 (grub_menu_run): Removed.
30621
30622 * DISTLIST: Added include/grub/menu.h.
30623 Added include/grub/menu_viewer.h.
30624 Added normal/menu_viewer.c.
30625
306262009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
30627
30628 * normal/execute.c (grub_script_execute_menuentry): Changed to use
30629 arglist for menutitle arguments.
30630
30631 * normal/main.c (grub_normal_menu_addentry): Likewise.
30632
30633 * normal/parser.y (menuentry): Likewise.
30634
30635 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30636
30637 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30638 (grub_script_create_cmdmenu): Likewise.
30639
30640 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30641
30642 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30643 changes.
30644
30645 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30646
30647 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30648
30649 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30650
30651 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30652
30653 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30654
30655 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30656
56192c23 306572009-01-30 Christian Franke <franke@computer.org>
30658
30659 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30660 in option help text.
30661
d72521b3 306622009-01-27 Pavel Roskin <proski@gnu.org>
30663
30664 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30665
994b5e84 306662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30667
30668 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30669
30670 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30671
30672 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30673 unregister function.
30674
6a7eab2c 306752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30676
30677 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30678
30679 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30680
30681 * util/grub-mkfont.c (usage): Fix typo.
30682
30683 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30684
1806b56e 306852009-01-26 Daniel Mierswa <impulze@impulze.org>
30686
3fb18f09 30687 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30688
336e1fb9 30689 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30690
1806b56e 30691 * kern/misc.c (grub_strcasecmp): New function.
30692 (grub_strcasecmp): Use grub_size_t instead of int for length.
30693 Fix return value.
30694 * include/grub/misc.h: Update function prototypes.
30695
580b2a0f 306962009-01-26 Robert Millan <rmh@aybabtu.com>
30697
30698 * configure.ac: Fix cross-compilation check.
ef257b36 30699
d31c24f1 307002009-01-22 Christian Franke <franke@computer.org>
30701
30702 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30703 (precision) digit string. Allow `.format2' without `format1' (width).
30704 Limit input chars for `%s' output to `format2' if specified. This is
30705 compatible with standard printf ().
30706
3138b44c 307072009-01-22 Christian Franke <franke@computer.org>
30708
30709 * disk/ata.c (grub_ata_wait_status): Replace by ...
30710 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30711 other status bits may be invalid while BSY is asserted.
30712 (grub_ata_check_ready): New function.
30713 (grub_ata_cmd): Removed.
30714 (grub_ata_wait_drq): New function.
30715 (grub_ata_strncpy): Remove inline.
30716 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30717 and error check now done by grub_ata_wait_drq ().
30718 (grub_ata_pio_write): Likewise.
30719 (grub_atapi_identify): Set DEV before check for !BSY. Use
30720 grub_ata_wait_drq () to wait for data.
30721 (grub_ata_device_initialize): Add status register check to
30722 detect missing SATA slave devices. Add debug messages.
30723 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30724 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30725 transfer loop by grub_ata_pio_write ().
30726 (grub_ata_identify): Set DEV before check for !BSY. Use
30727 grub_ata_wait_drq () to wait for data.
ef257b36 30728 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30729 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30730 read/write in one loop. Fix invalid command on write. Fix incomplete
30731 command on (size % batch) == 0. Add missing error check after write of
30732 last block. Add debug messages.
30733 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30734
59a64ef6 307352009-01-19 Christian Franke <franke@computer.org>
30736
30737 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30738 (GRUB_ATAPI_IREASON_*): Likewise.
30739 (grub_ata_pio_write): Fix timeout error return.
30740 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30741 (grub_atapi_wait_drq): New function.
30742 (grub_atapi_packet): New parameter `size'.
30743 Use grub_atapi_wait_drq () and direct write instead of
30744 grub_ata_pio_write ().
30745 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30746 reads the number of bytes requested by the device for each DRQ
30747 assertion.
30748 (grub_atapi_write): Remove old implementation, return not
30749 implemented instead.
30750
1cfe20b3 307512009-01-19 Christian Franke <franke@computer.org>
30752
30753 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30754 of 512 to calculate data size.
30755 (grub_scsi_read12): Likewise.
30756 (grub_scsi_write10): Likewise.
30757 (grub_scsi_write12): Likewise.
30758 (grub_scsi_read): Adjust size according to blocksize.
30759 Add checks for invalid blocksize and unaligned transfer.
30760
bee5fe5d 307612009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30762
30763 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30764
ef257b36 30765 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30766 width glyphs.
30767
3e643f8c 307682009-01-19 Robert Millan <rmh@aybabtu.com>
30769
30770 * config.guess: Update to latest version from config git.
30771 * config.sub: Likewise.
30772
4fa80998 307732009-01-17 Felix Zielcke <fzielcke@z-51.de>
30774
30775 * Makefile.in: Change font compilation to use new grub-mkfont instead
30776 of java version.
30777
30778 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30779 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30780 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30781 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30782 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30783 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30784 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30785 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30786 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30787
7086085b 307882009-01-16 Christian Franke <franke@computer.org>
30789
30790 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30791 (enum grub_ata_timeout_milliseconds): New enum.
30792 (grub_ata_wait_status): Add parameter milliseconds.
30793 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30794 recovery from timed-out commands.
30795 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30796 return grub_errno instead of REG_ERROR.
30797 (grub_ata_pio_write): Add parameter milliseconds.
30798 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30799 Pass milliseconds to grub_ata_wait_status () and
30800 grub_ata_pio_read ().
30801 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30802 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30803 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30804 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30805 It is not suitable for device detection, because DEV bit is ignored,
30806 the command may run too long, and not all devices set the signature
30807 properly.
30808 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30809 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30810 Fix device selection, DEV bit must be set first to address the registers
30811 of the correct device.
30812 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30813 grub_ata_pio_read/write ().
30814 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30815 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30816
4a412913 308172009-01-13 Carles Pina i Estany <carles@pina.cat>
30818
30819 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30820
7795c55e 308212009-01-13 Bean <bean123ch@gmail.com>
d913988c 30822
30823 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30824
7795c55e 308252009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30826
30827 * Makefile.in: (enable_grub_mkfont): New variable.
30828 (freetype_cflags): Likewise.
30829 (freetype_libs): Likewise.
30830
30831 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30832 (grub_mkfont_SOURCES): New variable.
30833 (grub_mkfont_CFLAGS): Likewise.
30834 (grub_mkfont_LDFLAGS): Likewise.
30835
30836 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30837 library if `--enable-grub-mkfont' is requested.
30838 (enable_grub_mkfont): New variable.
30839 (freetype_cflags): Likewise.
30840 (freetype_libs): Likewise.
30841
30842 * util/grub-mkfont.c: New file.
30843
093af1fe 308442009-01-12 Christian Franke <franke@computer.org>
30845
30846 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30847 mode check. Fix setting of compat_use[].
30848
f36cc108 308492009-01-10 Robert Millan <rmh@aybabtu.com>
30850
30851 Update a few copyright years which we forgot to do in 2008 (only for
30852 files whose changes made in 2008 were copyright-significant)
30853
30854 * Makefile.in: Add 2008 to Copyright line.
30855 * disk/ieee1275/ofdisk.c: Likewise.
30856 * disk/efi/efidisk.c: Likewise.
30857 * kern/dl.c: Likewise.
30858 * kern/sparc64/ieee1275/init.c: Likewise.
30859 * kern/mm.c: Likewise.
30860 * kern/efi/mm.c: Likewise.
30861 * boot/i386/pc/boot.S: Likewise.
30862 * genfslist.sh: Likewise.
30863 * fs/iso9660.c: Likewise.
30864 * fs/hfs.c: Likewise.
30865 * fs/jfs.c: Likewise.
30866 * fs/minix.c: Likewise.
30867 * fs/ufs.c: Likewise.
30868 * gensymlist.sh.in: Likewise.
30869 * genkernsyms.sh.in: Likewise.
30870 * include/grub/misc.h: Likewise.
30871 * include/grub/types.h: Likewise.
30872 * include/grub/symbol.h: Likewise.
30873 * include/grub/elf.h: Likewise.
30874 * include/grub/kernel.h: Likewise.
30875 * include/grub/disk.h: Likewise.
30876 * include/grub/dl.h: Likewise.
30877 * include/grub/i386/linux.h: Likewise.
30878 * include/grub/i386/pc/biosdisk.h: Likewise.
30879 * include/grub/efi/api.h: Likewise.
30880 * include/grub/efi/pe32.h: Likewise.
30881 * include/grub/util/misc.h: Likewise.
30882 * normal/execute.c: Likewise.
30883 * normal/arg.c: Likewise.
30884 * normal/completion.c: Likewise.
30885 * normal/lexer.c: Likewise.
30886 * normal/parser.y: Likewise.
30887 * normal/misc.c: Likewise.
30888 * commands/i386/pc/vbeinfo.c: Likewise.
30889 * commands/hexdump.c: Likewise.
30890 * commands/terminal.c: Likewise.
30891 * commands/ls.c: Likewise.
30892 * commands/help.c: Likewise.
30893 * partmap/pc.c: Likewise.
30894 * loader/efi/chainloader.c: Likewise.
30895 * loader/multiboot_loader.c: Likewise.
30896 * loader/i386/pc/multiboot2.c: Likewise.
30897 * term/efi/console.c: Likewise.
30898 * term/i386/pc/serial.c: Likewise.
30899 * util/lvm.c: Likewise.
30900 * util/console.c: Likewise.
30901 * util/i386/efi/grub-mkimage.c: Likewise.
30902 * util/raid.c: Likewise.
30903
7f02114b 309042009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30905
30906 * commands/videotest.c: Removed include to grub/machine/memory.h.
30907
30908 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30909 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30910 (video_mod_SOURCES): Removed.
30911 (video_mod_CFLAGS): Likewise.
30912 (video_mod_LDFLAGS): Likewise.
30913 (gfxterm_mod_SOURCES): Likewise.
30914 (gfxterm_mod_CFLAGS): Likewise.
30915 (gfxterm_mod_LDFLAGS): Likewise.
30916 (videotest_mod_SOURCES): Likewise.
30917 (videotest_mod_CFLAGS): Likewise.
30918 (videotest_mod_LDFLAGS): Likewise.
30919 (bitmap_mod_SOURCES): Likewise.
30920 (bitmap_mod_CFLAGS): Likewise.
30921 (bitmap_mod_LDFLAGS): Likewise.
30922 (tga_mod_SOURCES): Likewise.
30923 (tga_mod_CFLAGS): Likewise.
30924 (tga_mod_LDFLAGS): Likewise.
30925 (jpeg_mod_SOURCES): Likewise.
30926 (jpeg_mod_CFLAGS): Likewise.
30927 (jpeg_mod_LDFLAGS): Likewise.
30928 (png_mod_SOURCES): Likewise.
30929 (png_mod_CFLAGS): Likewise.
30930 (png_mod_LDFLAGS): Likewise.
30931
30932 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30933 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30934 (video_mod_SOURCES): Added.
30935 (video_mod_CFLAGS): Likewise.
30936 (video_mod_LDFLAGS): Likewise.
30937 (videotest_mod_SOURCES): Likewise.
30938 (videotest_mod_CFLAGS): Likewise.
30939 (videotest_mod_LDFLAGS): Likewise.
30940 (bitmap_mod_SOURCES): Likewise.
30941 (bitmap_mod_CFLAGS): Likewise.
30942 (bitmap_mod_LDFLAGS): Likewise.
30943 (tga_mod_SOURCES): Likewise.
30944 (tga_mod_CFLAGS): Likewise.
30945 (tga_mod_LDFLAGS): Likewise.
30946 (jpeg_mod_SOURCES): Likewise.
30947 (jpeg_mod_CFLAGS): Likewise.
30948 (jpeg_mod_LDFLAGS): Likewise.
30949 (png_mod_SOURCES): Likewise.
30950 (png_mod_CFLAGS): Likewise.
30951 (png_mod_LDFLAGS): Likewise.
30952 (gfxterm_mod_SOURCES): Likewise.
30953 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30954 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30955
30956 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30957 grub/machine/console.h.
30958
644fff97 309592009-01-04 Jerone Young <jerone@gmail.com>
30960
30961 Make on screen instructions clearer
30962
30963 Based on patch created by Jidanni <jidanni@jidanni.org>
30964
30965 * normal/menu.c: print clearer instructions on the screen
30966
1e901a75 309672009-01-02 Colin D Bennett <colin@gibibit.com>
30968
30969 New font engine.
34c44600 30970
1e901a75 30971 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30972 build system and fixed gfxterm.c to work with different sized fonts.
30973
30974 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30975
1e901a75 30976 * configure: Re-generated.
34c44600 30977
1e901a75 30978 * DISTLIST: Removed font/manager.c.
30979 Added font/font.c.
30980 Added font/font_cmd.c.
34c44600 30981
1e901a75 30982 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30983 compilation.
34c44600 30984
1e901a75 30985 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30986
30987 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30988
30989 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30990
1e901a75 30991 * normal/menu.c: Likewise.
34c44600 30992
1e901a75 30993 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30994 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30995
1e901a75 30996 * include/grub/font.h: Replaced with new file.
34c44600 30997
1e901a75 30998 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30999 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31000 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31001 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31002 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31003 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31004 fg_red, fg_green, fg_blue, fg_alpha.
31005 (grub_video_adapter): Removed blit_glyph.
34c44600 31006 (grub_video_blit_glyph): Removed.
31007
1e901a75 31008 * font/manager.c: Removed file.
34c44600 31009
31010 * font/font.c: New file.
31011
1e901a75 31012 * font/font_cmd.c: Likewise.
34c44600 31013
1e901a75 31014 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31015
1e901a75 31016 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31017 (grub_video_vbe_map_rgba): Likewise.
31018 (grub_video_vbe_unmap_color_int): Likewise.
31019 (grub_video_vbe_blit_glyph): Removed.
31020 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31021
1e901a75 31022 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31023 (get_pixel): Likewise.
34c44600 31024 (set_pixel): Likewise.
31025
1e901a75 31026 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31027
1e901a75 31028 * term/gfxterm.c: Adapted to new font engine.
34c44600 31029
1e901a75 31030 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31031
1e901a75 31032 * term/i386/pc/vga.c: Likewise.
34c44600 31033
1e901a75 31034 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31035
1e901a75 31036 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31037
1e901a75 31038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31039
1e901a75 31040 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31041
1e901a75 31042 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31043
1e901a75 31044 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31045
1e901a75 31046 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31047
1e901a75 31048 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31049
1e901a75 31050 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31051
31052 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31053
1e901a75 31054 * util/grub-mkconfig_lib.in: Changed font extension.
31055
278922e8 310562008-12-28 Felix Zielcke <fzielcke@z-51.de>
31057
31058 * util/getroot.c (grub_util_get_grub_dev): Add support for
31059 /dev/md/dNNpNN style partitionable mdraid devices.
31060
3ced05cf 310612008-12-12 Alex Smith <alex@alex-smith.me.uk>
31062
31063 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31064 at a time limit of the PXE TFTP API correctly.
31065 (grub_pxefs_close): Likewise.
31066
7fd0ee30 310672008-11-29 Robert Millan <rmh@aybabtu.com>
31068
34c44600 31069 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31070 grub_ata_device_initialize() calls.
31071
34c44600 310722008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31073
31074 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31075 iteration failed.
31076 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31077
89313780 310782008-11-28 Robert Millan <rmh@aybabtu.com>
31079
31080 Fix build on powerpc-ieee1275. Based on patch created by
31081 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31082 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31083 `kern/ieee1275/mmap.c'.
31084 * include/grub/powerpc/ieee1275/memory.h: New file.
31085
15257703 31086 Provide grub-install on coreboot.
31087 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31088 (grub_install_SOURCES): New variable.
31089 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31090 usable on coreboot.
31091
9fc5388a 310922008-11-25 Felix Zielcke <fzielcke@z-51.de>
31093
31094 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31095 to `grub_term_input_t'.
31096 (grub_term_get_current_output): Change return type to
31097 `grub_term_output_t'.
31098
bc3a2f31 310992008-11-22 Robert Millan <rmh@aybabtu.com>
31100
34c44600 31101 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31102 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31103 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31104 grub_vga_text_cls().
31105
80fc88f2 31106 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31107 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31108
cbf36fd3 31109 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31110 to 0x200000 (avoids trouble with some OFW implementations, and matches
31111 with the one in Yaboot).
31112 Reported by Manoel Abranches
31113
73e8e268 311142008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31115
31116 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31117 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31118
73e8e268 31119 * util/grub-mkconfig_lib.in (grub_warn): New function.
31120 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31121 warnings, to obtain consistent formatting.
31122 * util/grub.d/00_header.in: Likewise.
31123 * util/update-grub_lib.in: Likewise.
31124
e94045a1 31125 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31126 Move comment text to `#error' stanza.
e94045a1 31127
79d29fd7 31128 Harmonize ieee1275's grub_available_iterate() with the generic
31129 grub_machine_mmap_iterate() interface (fixes a recently-introduced
31130 build problem on i386-ieee1275):
31131 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
31132 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
31133 parameter `type'. Update all users of this function.
31134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31135 `kern/ieee1275/mmap.c'.
31136 * kern/ieee1275/init.c
31137 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
31138 with ...
31139 (grub_machine_mmap_iterate): ... this.
31140 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
31141 return type to `grub_err_t'. Update all implementations of this
31142 function prototype.
31143 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
31144 Likewise.
31145
60d6b16e 31146 Add `lsmmap' command (lists firmware-provided memory map):
31147 * commands/lsmmap.c: New file.
31148 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
31149 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
31150 variables.
31151 * conf/powerpc-ieee1275.rmk: Likewise.
31152 * conf/i386-coreboot.rmk: Likewise.
31153 * conf/i386-ieee1275.rmk: Likewise.
31154
ebaaf49b 311552008-11-19 Robert Millan <rmh@aybabtu.com>
31156
31157 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 31158 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
31159 constraints to initrd allocation (based on code from
31160 loader/i386/pc/linux.c). Without them, initrd was allocated too high
31161 for Linux to find it.
ebaaf49b 31162
dfab719f 311632008-11-14 Robert Millan <rmh@aybabtu.com>
31164
31165 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
31166 order to cope with duplicate slashes.
31167
10fc3eb9 311682008-11-14 Robert Millan <rmh@aybabtu.com>
31169
31170 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
31171 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
31172 don't want to mess with lower memory, because it is used in the Linux
31173 loader.
31174
31175 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 31176 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 31177 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
31178 is in our heap (probably as a result of it being corrupted during
2f2a3442 31179 decompression). Add #error instance with comment to explain why this
31180 loader isn't currently usable on PC/BIOS.
10fc3eb9 31181
e2e07847 311822008-11-14 Robert Millan <rmh@aybabtu.com>
31183
31184 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 31185 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 31186
fe8e8d69 311872008-11-12 Robert Millan <rmh@aybabtu.com>
31188
31189 Make loader/i386/linux.c buildable on i386-pc (although disabled).
31190
31191 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
31192 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
31193 from here ...
31194 * include/grub/i386/pc/memory.h: ... to here.
31195
976b07d0 311962008-11-12 Robert Millan <rmh@aybabtu.com>
31197
31198 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
31199 split).
31200
31201 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
31202 (grub_console_cur_color, grub_console_real_putchar)
31203 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31204 (grub_console_setcolorstate, grub_console_setcolor)
31205 (grub_console_getcolor): Move from here ...
31206 * include/grub/i386/vga_common.h: ... to here (new file).
31207
31208 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
31209 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
31210 `<grub/i386/io.h>'.
31211 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
31212 `<grub/i386/vga_common.h>'.
31213
76679cd3 312142008-11-12 Robert Millan <rmh@aybabtu.com>
31215
31216 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
31217 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
31218 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
31219 variables.
31220 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31221 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
31222
31223 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
31224 grub_console_init() with call to grub_vga_text_init().
31225 (grub_machine_fini): Replace call to
31226 grub_console_fini() with call to grub_vga_text_fini() and
31227 grub_at_keyboard_fini().
31228
31229 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
31230 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
31231 (grub_console_setcolorstate, grub_console_setcolor)
31232 (grub_console_getcolor): New function prototypes.
31233
31234 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
31235 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
31236 (grub_vga_text_setcursor): Static-ize.
31237 (grub_vga_text_term): New structure.
31238 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
31239
31240 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
31241 (grub_console_cur_color, grub_console_standard_color)
31242 (grub_console_normal_color, grub_console_highlight_color)
31243 (map_char, grub_console_putchar, grub_console_getcharwidth)
31244 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
31245 (grub_console_getcolor): Move from here ...
31246 * term/i386/vga_common.c: ... to here (same function names).
31247
95b841d3 312482008-11-12 Robert Millan <rmh@aybabtu.com>
31249
31250 Use newly-added Multiboot support in coreboot.
31251
31252 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
31253 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
31254
31255 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
31256 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
31257 (codestart): Store the MBI in `startup_multiboot_info' when we're
31258 being loaded using Multiboot.
31259
31260 * kern/i386/coreboot/init.c (grub_machine_init): Move
31261 grub_at_keyboard_init() call to beginning of function (useful for
31262 debugging). Call grub_machine_mmap_init() before attempting to use
31263 grub_machine_mmap_iterate().
31264 (grub_lower_mem, grub_upper_mem): Move from here ...
31265 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
31266 here (new file).
31267
31268 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
31269 function prototype.
31270
761ca975 312712008-11-12 Robert Millan <rmh@aybabtu.com>
31272
31273 Fix a regression introduced by the at_keyboard.mod split. Because
31274 some terminals are default on some platforms and non-default on
31275 others, the first terminal being registered determines which is
31276 going to be default.
31277
31278 * kern/term.c (grub_term_register_input): If this is the first
31279 terminal being registered, set it as the current one.
31280 (grub_term_register_output): Likewise.
31281
31282 * term/efi/console.c (grub_console_init): Do not call
31283 grub_term_set_current_output() or grub_term_set_current_input().
31284 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
31285 * term/i386/pc/console.c (grub_console_init): Likewise.
31286 (grub_console_fini): Do not call grub_term_set_current_input()
31287 (but leave grub_term_set_current_output() to restore text mode).
31288
6c529df7 312892008-11-10 Robert Millan <rmh@aybabtu.com>
31290
31291 * util/grub.d/00_header.in: Add backward compatibility check for
31292 versions of terminal.mod that don't understand `terminal_input' or
31293 `terminal_output'.
31294
132e4113 312952008-11-09 Robert Millan <rmh@aybabtu.com>
31296
31297 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
31298 `terminal_input' / `terminal_output', not `terminal'.
31299
ac293d50 313002008-11-08 Robert Millan <rmh@aybabtu.com>
31301
31302 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 31303 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 31304
0025933a 313052008-11-08 Robert Millan <rmh@aybabtu.com>
31306
31307 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 31308 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 31309 members. Update all users.
31310 * util/console.c (grub_ncurses_term): Split in ...
31311 (grub_ncurses_term_input): ... this, and ...
31312 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 31313 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 31314
37c86336 313152008-11-08 Robert Millan <rmh@aybabtu.com>
31316
31317 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
31318 (PKGDATA): Add $(pkgdata_SRCDIR).
31319 (pkglib_BUILDDIR): New variable.
31320 (pkgdata_SRCDIR): New variable.
31321 (build_env.mk): New target.
31322 (include_DATA): New variable.
31323 (install-local): Install $(include_DATA) files in $(includedir).
31324
b6c15a2d 313252008-11-07 Pavel Roskin <proski@gnu.org>
31326
d99d46f1 31327 * gendistlist.sh: Use C locale for sorting to ensure consistent
31328 output on all systems.
31329
b6c15a2d 31330 * util/grub.d/00_header.in: Remove incorrect space before
31331 "serial".
31332
c32ee8c9 313332008-11-07 Robert Millan <rmh@aybabtu.com>
31334
31335 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
31336 per specification.
31337 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
31338 * loader/multiboot_loader.c (find_multi_boot2_header): New function
31339 (based on find_multi_boot1_header).
31340 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
31341 using find_multi_boot2_header(), and abort if neither Multiboot or
31342 Multiboot headers were found.
31343
651c29b7 313442008-11-07 Robert Millan <rmh@aybabtu.com>
31345
31346 Modularize at_keyboard.mod:
31347
31348 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
31349 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31350 (at_keyboard_mod_LDFLAGS): New variables.
31351
31352 Actual terminal split:
31353
31354 * include/grub/term.h (struct grub_term): Split in ...
31355 (struct grub_term_input): ... this, and ...
31356 (struct grub_term_output): ... this. Update all users.
31357 (grub_term_set_current): Split in ...
31358 (grub_term_set_current_input): ... this, and ...
31359 (grub_term_set_current_output): ... this.
31360 (grub_term_get_current): Split in ...
31361 (grub_term_get_current_input): ... this, and ...
31362 (grub_term_get_current_output): ... this.
31363 (grub_term_register): Split in ...
31364 (grub_term_register_input): ... this, and ...
31365 (grub_term_register_output): ... this.
31366 (grub_term_unregister): Split in ...
31367 (grub_term_unregister_input): ... this, and ...
31368 (grub_term_unregister_output): ... this.
31369 (grub_term_iterate): Split in ...
31370 (grub_term_iterate_input): ... this, and ...
31371 (grub_term_iterate_output): ... this.
31372
31373 * kern/term.c (grub_term_list): Split in ...
31374 (grub_term_list_input): ... this, and ...
31375 (grub_term_list_output): ... this. Update all users.
31376 (grub_cur_term): Split in ...
31377 (grub_cur_term_input): ... this, and ...
31378 (grub_cur_term_output): ... this. Update all users.
31379 (grub_term_set_current): Split in ...
31380 (grub_term_set_current_input): ... this, and ...
31381 (grub_term_set_current_output): ... this.
31382 (grub_term_get_current): Split in ...
31383 (grub_term_get_current_input): ... this, and ...
31384 (grub_term_get_current_output): ... this.
31385 (grub_term_register): Split in ...
31386 (grub_term_register_input): ... this, and ...
31387 (grub_term_register_output): ... this.
31388 (grub_term_unregister): Split in ...
31389 (grub_term_unregister_input): ... this, and ...
31390 (grub_term_unregister_output): ... this.
31391 (grub_term_iterate): Split in ...
31392 (grub_term_iterate_input): ... this, and ...
31393 (grub_term_iterate_output): ... this.
31394
31395 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
31396 a check for input and one for output (and only attempt to get keys
31397 from user when input works).
31398
31399 * util/grub-probe.c (grub_term_get_current): Split in ...
31400 (grub_term_get_current_input): ... this, and ...
31401 (grub_term_get_current_output): ... this.
31402 * util/grub-fstest.c: Likewise.
31403 * util/i386/pc/grub-setup.c: Likewise.
31404 * util/grub-editenv.c: Likewise.
31405
31406 Portability adjustments:
31407
31408 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
31409 `term/i386/pc/at_keyboard.c'.
31410 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
31411 grub_keyboard_controller_init() (now handled by terminal .init).
31412 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
31413 grub_at_keyboard_init().
31414 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
31415 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
31416 at_keyboard.mod via input terminal interface).
31417 * include/grub/i386/coreboot/console.h: Convert into a stub for
31418 `<grub/i386/pc/console.h>'.
31419
31420 Migrate full terminals to new API:
31421
31422 * term/efi/console.c (grub_console_term): Split into ...
31423 (grub_console_term_input): ... this, and ...
31424 (grub_console_term_output): ... this. Update all users.
31425 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
31426 (grub_ofconsole_init): Split into ...
31427 (grub_ofconsole_init_input): ... this, and ...
31428 (grub_ofconsole_init_output): ... this.
31429 (grub_ofconsole_term): Split into ...
31430 (grub_ofconsole_term_input): ... this, and ...
31431 (grub_ofconsole_term_output): ... this. Update all users.
31432 * term/i386/pc/serial.c (grub_serial_term): Split into ...
31433 (grub_serial_term_input): ... this, and ...
31434 (grub_serial_term_output): ... this. Update all users.
31435 * term/i386/pc/console.c (grub_console_term): Split into ...
31436 (grub_console_term_input): ... this, and ...
31437 (grub_console_term_output): ... this. Update all users.
31438 (grub_console_term_input): Only enable it on PC/BIOS platform.
31439 (grub_console_init): Remove grub_keyboard_controller_init() call.
31440
31441 Migrate input terminals to new API:
31442
31443 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
31444 `i386' and `i386/pc' to enable build on x86_64 (this driver is
31445 i386-specific anyway).
31446 (grub_console_checkkey): Rename to ...
31447 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
31448 users.
31449 (grub_keyboard_controller_orig): New variable.
31450 (grub_console_getkey): Rename to ...
31451 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
31452 users.
31453 (grub_keyboard_controller_init): Static-ize. Save original
31454 controller value so that it can be restored ...
31455 (grub_keyboard_controller_fini): ... here (new function).
31456 (grub_at_keyboard_term): New structure.
31457 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
31458 functions.
31459
31460 Migrate output terminals to new API:
31461
31462 * term/i386/pc/vga.c (grub_vga_term): Change type to
31463 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31464 members. Update all users.
31465 * term/gfxterm.c (grub_video_term): Change type to
31466 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
31467 members. Update all users.
31468 * include/grub/i386/pc/console.h (grub_console_checkkey)
31469 (grub_console_getkey): Do not export (no longer needed by gfxterm,
31470 etc).
31471
31472 Migrate `terminal' command and userland tools to new API:
31473
31474 * commands/terminal.c (grub_cmd_terminal): Split into ...
31475 (grub_cmd_terminal_input): ... this, and ...
31476 (grub_cmd_terminal_output): ... this.
31477 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
31478 `terminal_input' and `terminal_output'.
31479 * util/grub.d/00_header.in: Adjust `terminal' calls to new
31480 `terminal_input' / `terminal_output' API.
31481 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
31482 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
31483 provided ${GRUB_TERMINAL}, convert it).
31484
96e5d876 314852008-11-04 Robert Millan <rmh@aybabtu.com>
31486
31487 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
31488 for FreeBSD.
31489 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
31490
556f3775 314912008-11-03 Bean <bean123ch@gmail.com>
31492
31493 * kern/elf.c (grub_elf32_load): Revert to previous code.
31494 (grub_elf64_load): Likewise.
31495
31496 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
31497
926b9823 314982008-11-01 Robert Millan <rmh@aybabtu.com>
31499
31500 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
31501 (TARGET_CPPFLAGS): Likewise.
31502 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
31503
1432e958 315042008-11-01 Carles Pina i Estany <carles@pina.cat>
31505
31506 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
31507
dba3f844 315082008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 31509
31510 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
31511 addition of objects until the code is not going to be able to fail.
31512
dba3f844 315132008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 31514
31515 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
31516 (add a missing NULL check, and correct them by moving the pointer
31517 operations after the actual check).
31518
7ab28c21 315192008-10-29 Robert Millan <rmh@aybabtu.com>
31520
31521 * util/i386/pc/grub-install.in: Handle empty string as output from
31522 make_system_path_relative_to_its_root().
31523
1b7748eb 315242008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
31525
31526 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
31527 circular metadata worst case scenario. If the metadata is circular
31528 then copy the wrap in place.
31529 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
31530 project lib/format_text/layout.h
31531 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
31532
c9618ab2 315332008-10-03 Felix Zielcke <fzielcke@z-51.de>
31534
7a36edca 31535 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 31536
bf981c62 315372008-10-03 Felix Zielcke <fzielcke@z-51.de>
31538
31539 * util/update-grub_lib.in: Mention filename in warning message.
31540
6d994591 315412008-09-29 Felix Zielcke <fzielcke@z-51.de>
31542
31543 * NEWS: Update for rename of update-grub to grub-mkconfig.
31544
18ade780 315452008-09-29 Felix Zielcke <fzielcke@z-51.de>
31546
31547 * util/update-grub_lib.in: Copy to ...
31548 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 31549 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 31550 * util/update-grub.in: Rename to ...
31551 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
31552 option. Add `--output' option to allow users to specify the generated
31553 configuration file. Default to stdout.
31554 (update_grub_dir): Rename to ...
31555 (grub_mkconfig_dir): ... this.
31556 (grub_cfg): Default to an empty string.
31557 * conf/common.rmk (update-grub): Rename to ...
31558 (grub-mkconfig): ... this.
31559 (update-grub_lib): Copy to ...
31560 (grub-mkconfig_lib): ... this.
31561 (update-grub_SCRIPTS): Copy to ...
31562 (grub-mkconfig_SCRIPTS): ... this. Update all users.
31563 (update-grub_DATA): Rename to ...
31564 (grub-mkconfig_DATA): ... this.
31565
556ce6ac 315662008-09-28 Robert Millan <rmh@aybabtu.com>
31567
31568 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
31569 to `modified'. Add the real `created' field.
31570 (grub_iso9660_uuid): Use `modified' rather than `created' for
31571 constructing the UUID.
31572
315732008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 31574
31575 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
31576 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
31577
92274e85 315782008-09-28 Bean <bean123ch@gmail.com>
31579
31580 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
31581 Thanks to Christian Franke for finding this bug.
31582
add6f17a 315832008-09-25 Robert Millan <rmh@aybabtu.com>
31584
31585 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
31586 instances of grub_util_get_disk_name() (see previous commit).
31587
d2a367b8 315882008-09-25 Robert Millan <rmh@aybabtu.com>
31589
31590 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
31591 `util/i386/get_disk_name.c'.
31592 * conf/i386-efi.rmk: Likewise.
31593 * conf/x86_64-efi.rmk: Likewise.
31594 * conf/i386-coreboot.rmk: Likewise.
31595 * conf/i386-ieee1275.rmk: Likewise.
31596 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
31597 `util/ieee1275/get_disk_name.c'.
31598 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
31599 * util/ieee1275/get_disk_name.c: Remove file.
31600 * util/i386/get_disk_name.c: Remove file.
31601 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
31602 "hd%d" for device.map entries, rather than using
31603 grub_util_get_disk_name().
31604
81a06771 316052008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 31606
31607 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
31608 warning.
31609 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
31610
5a004279 316112008-09-24 Carles Pina i Estany <carles@pina.cat>
31612
31613 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
31614 Changed to 0x5100.
31615 (GRUB_TERM_PPAGE): Changed to 0x4900.
31616
397093d3 316172008-09-24 Robert Millan <rmh@aybabtu.com>
31618
31619 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
31620 macros (they were i386-pc specific).
31621 * include/grub/sparc64/ieee1275/console.h: Likewise.
31622 * include/grub/efi/console.h: Likewise.
31623
a91b6c7c 316242008-09-22 Bean <bean123ch@gmail.com>
31625
31626 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
31627 resident and in attribute list.
31628
31629 * include/grub/ntfs.h (BMP_LEN): Removed.
31630
c40fd116 316312008-09-22 Bean <bean123ch@gmail.com>
31632
81a06771 31633 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31634 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31635
31636 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31637 error occurs, as grub_disk_open will call grub_disk_close, which will
31638 call p->close (scsi).
31639
81a06771 316402008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31641
31642 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31643 (AC_PREREQ): Bumped to 2.59.
31644 (AC_TRY_COMPILE): Replace obsolete macro with ...
31645 (AC_COMPILE_IFELSE): ... this.
31646 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31647 (AC_LINK_IFELSE): ... this.
31648
5dc43410 316492008-09-21 Felix Zielcke <fzielcke@z-51.de>
31650
31651 * autogen.sh: Add a call to `gendistlist.sh'.
31652
9035dce4 316532008-09-19 Christian Franke <franke@computer.org>
31654
31655 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31656 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31657 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31658 Export __enable_execute_stack() to modules.
31659 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31660 New function.
31661
7fd75377 316622008-09-09 Felix Zielcke <fzielcke@z-51.de>
31663
040030b3 31664 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31665 Sort the list.
31666
316672008-09-09 Felix Zielcke <fzielcke@z-51.de>
31668
31669 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31670 #include <grub/util/hostdisk.h>.
31671
89d5ffcf 316722008-09-08 Robert Millan <rmh@aybabtu.com>
31673
31674 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31675 segments when their filesz is zero (grub_file_read() interprets
81a06771 31676 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31677 Use `lowest_segment' rather than 0 for calculating the current
31678 segment load address.
31679
40da438f 316802008-09-08 Robert Millan <rmh@aybabtu.com>
31681
31682 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31683 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31684 clobbered useful information.
31685
ddbf5556 316862008-09-08 Robert Millan <rmh@aybabtu.com>
31687
31688 * include/grub/util/biosdisk.h: Move to ...
31689 * include/grub/util/hostdisk.h: ... here. Update all users.
31690 * util/biosdisk.c: Move to ...
31691 * util/hostdisk.c: ... here. Update all users.
31692
783d0f48 316932008-09-07 Robert Millan <rmh@aybabtu.com>
31694
31695 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31696 variables.
31697 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31698 and length can be stored directly in the `mbi->mmap_addr' and
31699 `mbi->mmap_length' struct fields.
31700
548e2ea5 317012008-09-07 Robert Millan <rmh@aybabtu.com>
31702
31703 * conf/i386.rmk: New file. Provides declaration for building
31704 `cpuid.mod'.
31705 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31706 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31707 variables.
31708 Include `conf/i386.mk'.
31709 * conf/i386-efi.rmk: Likewise.
31710 * conf/x86_64-efi.rmk: Likewise.
31711 * conf/i386-coreboot.rmk: Likewise.
31712 * conf/i386-ieee1275.rmk: Likewise.
31713
0ea85a37 317142008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31715
31716 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31717 Adds optimization support for BGR based modes.
31718
31719 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31720 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31721 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31722 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31723 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31724 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31725 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31726 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31727 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31728 (grub_video_i386_vbeblit_index_index): Likewise.
31729 (grub_video_i386_vbeblit_replace_directN): Added.
31730 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31731 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31732 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31733 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31734 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31735 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31736 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31737 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31738 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31739 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31740 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31741 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31742 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31743
31744 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31745 (grub_video_i386_vbefill_R8G8B8): Likewise.
31746 (grub_video_i386_vbefill_index): Likewise.
31747 (grub_video_i386_vbefill_direct32): Added.
31748 (grub_video_i386_vbefill_direct24): Likewise.
31749 (grub_video_i386_vbefill_direct16): Likewise.
31750 (grub_video_i386_vbefill_direct8): Likewise.
31751
81a06771 31752 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31753 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31754 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31755 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31756 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31757 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31758
0ea85a37 31759 * video/video.c (grub_video_get_blit_format): Updated to use new
31760 blit formats. Added handling for 16 bit color modes.
81a06771 31761
31762 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31763 fillers.
31764 (common_blitter): Updated to use new blitters.
31765
31766 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31767 Removed.
31768 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31770 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31771 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31772 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31773 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31774 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31775 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31776 (grub_video_i386_vbeblit_index_index): Likewise.
31777 (grub_video_i386_vbeblit_replace_directN): Added.
31778 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31779 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31780 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31781 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31782 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31783 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31784 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31785 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31786 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31787 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31788 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31789 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31790 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31791
0ea85a37 31792 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31793 (grub_video_i386_vbefill_R8G8B8): Likewise.
31794 (grub_video_i386_vbefill_index): Likewise.
31795 (grub_video_i386_vbefill_direct32): Added.
31796 (grub_video_i386_vbefill_direct24): Likewise.
31797 (grub_video_i386_vbefill_direct16): Likewise.
31798 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31799
0ea85a37 31800 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31801 types.
81a06771 31802
0ea85a37 31803 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31804 types.
81a06771 31805
0ea85a37 31806 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31807 blitter types.
81a06771 31808
0ea85a37 31809 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31810 types.
31811
e8a83df6 318122008-09-06 Felix Zielcke <fzielcke@z-51.de>
31813
31814 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31815 RAID level 1.
31816
6bcd8ee5 318172008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31818
6bcd8ee5 31819 * fs/iso9660.c (grub_iso9660_date): New structure.
31820 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31821 (grub_iso9660_uuid): New function.
c375ae58 31822
59261157 318232008-09-05 Bean <bean123ch@gmail.com>
31824
31825 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31826
31827 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31828 insensitive bit for names in Win32 and Win32 & DOS namespace.
31829
31830 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31831
31832 * include/grub/types.h (LONG_MAX): Likewise.
31833
58b6645a 318342008-09-04 Felix Zielcke <fzielcke@z-51.de>
31835
4ee55921 31836 * util/getroot.c: Include <config.h>.
31837 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31838 add support for /dev/md/N devices and handle LVM double dash escaping.
31839
318402008-09-04 Felix Zielcke <fzielcke@z-51.de>
31841
31842 * config.guess: Update to latest version from config git.
31843 * config.sub: Likewise.
58b6645a 31844
9124f65d 318452008-09-03 Robert Millan <rmh@aybabtu.com>
31846
31847 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31848 `disk->total_sectors'.
31849
81a06771 318502008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31851
31852 * include/grub/normal.h: Fixed incorrect comment for
31853 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31854
81a06771 318552008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31856
31857 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31858 values with defines.
31859
31860 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31861 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31862 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31863 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31864 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31865 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31866 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31867 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31868 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31869 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31870 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31871 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31872 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31873 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31874 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31875 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31876 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31877 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31878 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31879
93d5cbf8 318802008-08-31 Robert Millan <rmh@aybabtu.com>
31881
31882 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31883 declaration.
31884 (grub_multiboot): Fix a few warnings.
31885
21751d50 318862008-08-31 Robert Millan <rmh@aybabtu.com>
31887
31888 * loader/i386/pc/multiboot.c: Update comment not to say that
31889 boot_device support is unimplemented.
31890
e27a75c5 318912008-08-31 Robert Millan <rmh@aybabtu.com>
31892
31893 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31894 or memory map support are unimplemented.
31895
81a06771 318962008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31897
31898 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31899
81a06771 319002008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31901
31902 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31903 total video memory in 'vbeinfo' output; show color format details for
31904 each video mode.
31905
7c5d8d95 319062008-08-30 Pavel Roskin <proski@gnu.org>
31907
31908 * util/genmoddep.c: Remove for real this time.
31909 * DISTLIST: Remove util/genmoddep.c.
31910
4cebd25a 319112008-08-30 Robert Millan <rmh@aybabtu.com>
31912
31913 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31914 as required by Multiboot spec (it was already 4-byte aligned, but
31915 only by chance).
31916
b497a269 319172008-08-29 Pavel Roskin <proski@gnu.org>
31918
e3925185 31919 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31920 * kern/powerpc/ieee1275/startup.S: ... this.
31921 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31922 * DISTLIST: Likewise.
31923
b497a269 31924 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31925 grub/cpu/kernel.h. Add start label for consistency with other
31926 platforms. Add grub_prefix immediately after start. Add jump
31927 to the code after grub_prefix.
31928 * include/grub/powerpc/kernel.h: Provide valid values for
31929 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31930
6e5a42fe 319312008-08-29 Bean <bean123ch@gmail.com>
31932
31933 * configure.ac: Change host_os to cygwin for mingw.
31934 (asprintf): New check for function.
31935
31936 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31937 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31938
31939 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31940 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31941 sync, sleep and grub_util_get_disk_size for mingw.
31942
31943 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31944 to get size in mingw.
31945 (open_device): Use flag O_BINARY if it's defined.
31946 (find_root_device): Add dummy code for mingw.
31947
31948 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31949 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31950 (get_scsi_disk_name): Return 0 for mingw.
31951
31952 * util/hostfs.c: #include <grub/util/misc.h>.
31953 (grub_hostfs_open): Use "rb" flag to open file, use
31954 grub_util_get_disk_size to get disk size for mingw.
31955
31956 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31957 (asprintf): New function if HAVE_ASPRINTF is not set.
31958 (sync): New function for mingw.
31959 (sleep): Likewise.
31960 (grub_util_get_disk_size): Likewise.
31961
ab3f2673 319622008-08-28 Pavel Roskin <proski@gnu.org>
31963
31964 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31965 kern/time.c.
31966
1c282483 319672008-08-28 Robert Millan <rmh@aybabtu.com>
31968
31969 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31970
678e849c 319712008-08-28 Robert Millan <rmh@aybabtu.com>
31972
31973 Change find_grub_drive() syntax so it doesn't prevent it from
31974 detecting NULL names as errors.
31975
31976 * util/biosdisk.c (find_grub_drive): Move free slot search code
31977 from here ...
31978 (find_free_slot): ... to here.
31979 (read_device_map): Use find_free_slot() to search for free slots.
31980
965c75ca 319812008-08-27 Marco Gerards <marco@gnu.org>
31982
31983 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31984 (scsi_mod_SOURCES): New variable.
31985 (scsi_mod_CFLAGS): Likewise
31986 (scsi_mod_LDFLAGS): Likewise.
31987
31988 * disk/scsi.c: New file.
31989
31990 * include/grub/scsi.h: Likewise.
31991
31992 * include/grub/scsicmd.h: Likewise.
31993
31994 * disk/ata.c: Include <grub/scsi.h>.
31995 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31996 instead.
31997 (grub_ata_iterate): Skip ATAPI devices.
31998 (grub_ata_open): Only handle ATAPI devices.
31999 (struct grub_atapi_read): Removed.
32000 (grub_atapi_readsector): Likewise.
32001 (grub_ata_read): No longer handle ATAPI devices.
32002 (grub_ata_write): Likewise.
32003 (grub_atapi_iterate): New function.
32004 (grub_atapi_read): Likewise.
32005 (grub_atapi_write): Likewise.
32006 (grub_atapi_open): Likewise.
32007 (grub_atapi_close): Likewise.
32008 (grub_atapi_dev): New variable.
32009 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32010 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32011
32012 * include/grub/disk.h (enum grub_disk_dev_id): Add
32013 `GRUB_DISK_DEVICE_SCSI_ID'.
32014
c07ae501 320152008-08-26 Robert Millan <rmh@aybabtu.com>
32016
32017 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32018 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32019 descriptive.
32020
5ed20adc 320212008-08-23 Bean <bean123ch@gmail.com>
32022
32023 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32024 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32025 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32026 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32027 dm_nv.mod.
32028 (raid5rec_mod_SOURCES): New macro.
32029 (raid5rec_mod_CFLAGS): Likewise.
32030 (raid5rec_mod_LDFLAGS): Likewise.
32031 (raid6rec_mod_SOURCES): Likewise.
32032 (raid6rec_mod_CFLAGS): Likewise.
32033 (raid6rec_mod_LDFLAGS): Likewise.
32034 (mdraid_mod_SOURCES): Likewise.
32035 (mdraid_mod_CFLAGS): Likewise.
32036 (mdraid_mod_LDFLAGS): Likewise.
32037 (dm_nv_mod_SOURCES): Likewise.
32038 (dm_nv_mod_CFLAGS): Likewise.
32039 (dm_nv_mod_LDFLAGS): Likewise.
32040
32041 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32042 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32043 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32044
32045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32046 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32047
32048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32049
32050 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32051
32052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32053
32054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32055
32056 * disk/raid5_recover.c: New file.
32057
32058 * disk/raid6_recover.c: Likewise.
32059
32060 * disk/mdraid_linux.c: Likewise.
32061
32062 * disk/dmraid_nvidia.c: Likewise.
32063
32064 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32065 ULONG_MAX.
32066
32067 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32068 calculate the size of raid device.
32069 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32070 different layout of raid5.
32071 (grub_raid_scan_device): Remove code specific to mdraid.
32072 (grub_raid_list): New variable.
32073 (free_array): New function.
32074 (grub_raid_register): Likewise.
32075 (grub_raid_unregister): Likewise.
32076 (grub_raid_rescan): Likewise.
32077 (GRUB_MOD_INIT): Don't iterate device here.
32078 (GRUB_MOD_FINI): Use free_array to release resource.
32079
32080 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32081 (grub_raid5_recover_func_t): New function variable type.
32082 (grub_raid6_recover_func_t): Likewise.
32083 (grub_raid5_recover_func): New variable.
32084 (grub_raid6_recover_func): Likewise.
32085 (grub_raid_register): New function.
32086 (grub_raid_unregister): Likewise.
32087 (grub_raid_rescan): Likewise.
32088 (grub_raid_block_xor): Likewise.
32089
32090 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32091 (CMD_CRC): New macro.
32092 (part): Removed.
32093 (read_file): Handle device as well as file.
32094 (cmd_crc): New function.
32095 (fstest): Handle multiple disks.
32096 (options): Remove part, raw and long, add root and diskcount.
32097 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32098 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32099 add handling for the new options, support multiple disks.
32100
32101 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32102
29c18915 321032008-08-23 Bean <bean123ch@gmail.com>
32104
32105 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32106
32107 * genfslist.sh: Ignore kernel.mod.
32108
32109 * genpartmaplist.sh: Likewise.
32110
8415f261 321112008-08-23 Robert Millan <rmh@aybabtu.com>
32112
32113 * util/getroot.c (find_root_device): Skip anything that starts with
32114 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32115
d5a7dc5b 321162008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32117
d5a7dc5b 32118 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32119 * util/grub.d/00_header.in: Allow the administrator to change default
32120 gfxmode via ${GRUB_GFXMODE}.
32121
380cfbb4 321222008-08-21 Felix Zielcke <fzielcke@z-51.de>
32123
32124 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32125
c9baafe7 321262008-08-21 Robert Millan <rmh@aybabtu.com>
32127
32128 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32129 loader.
32130 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
32131 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
32132
e290bef2 321332008-08-20 Carles Pina i Estany <carles@pina.cat>
32134
32135 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
32136 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
32137
f9dbfc96 321382008-08-19 Robert Millan <rmh@aybabtu.com>
32139
32140 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
32141 (struct grub_virtual_screen): Remove `cursor_color'.
32142 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
32143 initialization.
32144 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
32145
dd6bd6ab 321462008-08-18 Robert Millan <rmh@aybabtu.com>
32147
32148 Unify (identical) linux_normal.c files.
32149 * loader/i386/efi/linux_normal.c: Move from here ...
32150 * loader/linux_normal.c: ... to here. Update all users.
32151 * loader/i386/pc/linux_normal.c: Delete. Update all users.
32152 * loader/i386/ieee1275/linux_normal.c: Likewise.
32153
7f42f83e 321542008-08-18 Robert Millan <rmh@aybabtu.com>
32155
32156 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
32157 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
32158 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
32159 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
32160 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
32161 New macros.
32162 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
32163 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
32164 (GRUB_LINUX_CL_END_OFFSET): ... to here.
32165 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
32166 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
32167 (GRUB_EFI_CL_END_OFFSET): Rename to ...
32168 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
32169 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
32170 Initialize `params->video_cursor_x' and `params->video_cursor_y'
32171 portably using grub_getxy().
32172 Replace `-EFI' with `-bzImage' in boot message.
32173
38487ddb 321742008-08-17 Robert Millan <rmh@aybabtu.com>
32175
32176 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
32177
deceb3ec 321782008-08-17 Robert Millan <rmh@aybabtu.com>
32179
32180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
32181
32182 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
32183 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
32184 (grub_machine_mmap_iterate): New function declaration.
32185 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
32186 structure.
32187 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
32188 macros.
32189
32190 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
32191 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
32192 Move e820 parsing from here ...
32193 * kern/i386/pc/mmap.c: New file.
32194 (grub_machine_mmap_iterate): ... to here.
32195
32196 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
32197 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
32198 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
32199 (grub_available_iterate): Redeclare to return `void', and redeclare
32200 its hook to use grub_uint64_t as addr and size parameters, and rename
32201 to ...
32202 (grub_machine_mmap_iterate): ... this. Update all users.
32203
32204 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
32205 to make it more readable. Rename to ...
32206 (grub_machine_mmap_iterate): ... this.
32207
32208 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
32209 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
32210 (grub_multiboot): Allocate an extra region after the payload, and fill
32211 it with a Multiboot memory map. Adjust a.out loader to calculate size
32212 with the extra space.
32213 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
32214 with the extra space.
32215
f8aa0f43 322162008-08-17 Carles Pina i Estany <carles@pina.cat>
32217
9807deb9 32218 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 32219
605f5bb6 322202008-08-17 Felix Zielcke <fzielcke@z-51.de>
32221
32222 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
32223 mdate-sh to the list `find' searches for.
32224 * DISTLIST: Regenerated.
32225
210db6c6 322262008-08-16 Felix Zielcke <fzielcke@z-51.de>
32227
32228 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
32229 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 32230 genmoddep.awk, gensymlist.sh.in.
32231 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 32232 * DISTLIST: Regenerated.
48cdbfd4 32233 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 32234
1082b929 322352008-08-16 Robert Millan <rmh@aybabtu.com>
32236
32237 * disk/raid.c (grub_raid_init): Handle/report errors set by
32238 grub_device_iterate().
32239 * disk/lvm.c (grub_lvm_init): Likewise.
32240
42ce5170 322412008-08-15 Bean <bean123ch@gmail.com>
32242
32243 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32244 and datehook.mod.
32245 (datetime_mod_SOURCES): New macro.
32246 (datetime_mod_CFLAGS): Likewise.
32247 (datetime_mod_LDFLAGS): Likewise.
32248 (date_mod_SOURCES): Likewise.
32249 (date_mod_CFLAGS): Likewise.
32250 (date_mod_LDFLAGS): Likewise.
32251 (datehook_mod_SOURCES): Likewise.
32252 (datehook_mod_CFLAGS): Likewise.
32253 (datehook_mod_LDFLAGS): Likewise.
32254
32255 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32256 and datehook.mod.
32257 (datetime_mod_SOURCES): New macro.
32258 (datetime_mod_CFLAGS): Likewise.
32259 (datetime_mod_LDFLAGS): Likewise.
32260 (date_mod_SOURCES): Likewise.
32261 (date_mod_CFLAGS): Likewise.
32262 (date_mod_LDFLAGS): Likewise.
32263 (datehook_mod_SOURCES): Likewise.
32264 (datehook_mod_CFLAGS): Likewise.
32265 (datehook_mod_LDFLAGS): Likewise.
32266
32267 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32268 and datehook.mod.
32269 (datetime_mod_SOURCES): New macro.
32270 (datetime_mod_CFLAGS): Likewise.
32271 (datetime_mod_LDFLAGS): Likewise.
32272 (date_mod_SOURCES): Likewise.
32273 (date_mod_CFLAGS): Likewise.
32274 (date_mod_LDFLAGS): Likewise.
32275 (datehook_mod_SOURCES): Likewise.
32276 (datehook_mod_CFLAGS): Likewise.
32277 (datehook_mod_LDFLAGS): Likewise.
32278
32279 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32280 and datehook.mod.
32281 (datetime_mod_SOURCES): New macro.
32282 (datetime_mod_CFLAGS): Likewise.
32283 (datetime_mod_LDFLAGS): Likewise.
32284 (date_mod_SOURCES): Likewise.
32285 (date_mod_CFLAGS): Likewise.
32286 (date_mod_LDFLAGS): Likewise.
32287 (datehook_mod_SOURCES): Likewise.
32288 (datehook_mod_CFLAGS): Likewise.
32289 (datehook_mod_LDFLAGS): Likewise.
32290
32291 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
32292 and datehook.mod.
32293 (datetime_mod_SOURCES): New macro.
32294 (datetime_mod_CFLAGS): Likewise.
32295 (datetime_mod_LDFLAGS): Likewise.
32296 (date_mod_SOURCES): Likewise.
32297 (date_mod_CFLAGS): Likewise.
32298 (date_mod_LDFLAGS): Likewise.
32299 (datehook_mod_SOURCES): Likewise.
32300 (datehook_mod_CFLAGS): Likewise.
32301 (datehook_mod_LDFLAGS): Likewise.
32302
32303 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
32304
32305 * commands/date.c: New file.
32306
32307 * hook/datehook.c: Likewise.
32308
32309 * include/grub/lib/datetime.h: Likewise.
32310
32311 * include/grub/i386/cmos.h: Likewise.
32312
32313 * lib/datetime.c: Likewise.
32314
32315 * lib/i386/datetime.c: Likewise.
32316
32317 * lib/efi/datetime.c: Likewise.
32318
0e9242da 323192008-08-14 Robert Millan <rmh@aybabtu.com>
32320
32321 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
32322 (grub_mkelfimage_SOURCES): New variable.
32323 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
32324
32325 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
32326 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
32327 * conf/powerpc-ieee1275.rmk: Likewise.
32328 * conf/i386-ieee1275.rmk: Likewise.
32329
32330 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
32331 * kern/i386/coreboot/init.c: Likewise.
32332
32333 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
32334 with `<grub/cpu/kernel.h>'.
32335 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
32336 to ...
32337 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
32338 * kern/i386/coreboot/startup.S: Likewise.
32339
32340 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
32341 (GRUB_MOD_GAP): Remove.
32342 * include/grub/powerpc/kernel.h: New file.
32343 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
32344 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32345 * include/grub/i386/kernel.h: New file.
32346 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
32347 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
32348 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
32349
32350 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
32351 `grub-mkelfimage'.
32352 Use --directory when invoking grub_mkimage.
32353
32354 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
32355 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
32356 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
32357 and GRUB_KERNEL_CPU_PREFIX.
32358
b86408f8 323592008-08-14 Felix Zielcke <fzielcke@z-51.de>
32360
d5e619ca 32361 * include/grub/err.h (grub_err_printf): New function prototype.
32362 * util/misc.c (grub_err_printf): New function.
32363 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
32364 grub_printf.
32365 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 32366
7161f0e0 323672008-08-13 Robert Millan <rmh@aybabtu.com>
32368
32369 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
32370
a1967522 323712008-08-13 Robert Millan <rmh@aybabtu.com>
32372
32373 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
32374 boot entry.
32375
371458b5 323762008-08-12 Robert Millan <rmh@aybabtu.com>
32377
32378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
32379 of the relocation code from here ...
32380 (grub_multiboot): ... to here.
32381 (forward_relocator, backward_relocator): Move from here ...
32382 * kern/i386/loader.S (grub_multiboot_forward_relocator)
32383 (grub_multiboot_backward_relocator): ... to here.
32384 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
32385 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
32386 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
32387 (grub_multiboot_forward_relocator_end)
32388 (grub_multiboot_backward_relocator)
32389 (grub_multiboot_backward_relocator_end): New variables.
32390
05f9452b 323912008-08-12 Bean <bean123ch@gmail.com>
32392
32393 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
32394
20024ab0 323952008-08-11 Robert Millan <rmh@aybabtu.com>
32396
32397 * kern/i386/linuxbios/startup.S: Move from here ...
32398 * kern/i386/coreboot/startup.S: ... to here.
32399
32400 * kern/i386/linuxbios/init.c: Move from here ...
32401 * kern/i386/coreboot/init.c: ... to here.
32402
32403 * kern/i386/linuxbios/table.c: Move from here ...
32404 * kern/i386/coreboot/mmap.c: ... to here.
32405
32406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
32407
e352e9cd 324082008-08-11 Robert Millan <rmh@aybabtu.com>
32409
32410 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
32411 errors. Leave it to the upper layer to handle them.
32412
2d05bc6a 324132008-08-09 Christian Franke <franke@computer.org>
32414
32415 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
32416 * conf/common.rmk: Install `grub-pe2elf' only if requested.
32417 Install `grub.d/10_windows' only on Cygwin.
32418 * configure.ac: Add subst of `target_os'.
32419 Check `target_os' also before setting TARGET_OBJ2ELF.
32420 Add `--enable-grub-pe2elf'.
32421
042bd419 324222008-08-08 Robert Millan <rmh@aybabtu.com>
32423
32424 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32425 (grub_last_time): Change type to grub_uint64_t.
32426 (grub_disk_open): Migrate code from to using grub_get_time_ms().
32427 (grub_disk_close): Likewise.
32428
32429 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
32430 (run_menu): Migrate code from to using grub_get_time_ms().
32431
32432 * util/misc.c (grub_get_time_ms): New function.
32433
7f280db5 324342008-08-08 Marco Gerards <marco@gnu.org>
32435
32436 * disk/ata.c (grub_ata_regget): Change return type to
32437 `grub_uint8_t'.
32438 (grub_ata_regget2): Likewise.
32439 (grub_ata_wait_status): New function.
32440 (grub_ata_wait_busy): Removed function, updated all users to use
32441 `grub_ata_wait_status'.
32442 (grub_ata_wait_drq): Likewise.
32443 (grub_ata_cmd): New function.
32444 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
32445 error handling.
32446 (grub_ata_pio_write): Add error handling.
32447 (grub_atapi_identify): Likewise.
32448 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
32449 handling.
32450 (grub_ata_identify): Use `grub_ata_cmd' and improve error
32451 handling. Actually use the detected registers. Reorder the
32452 detection logic such that it is easier to read.
32453 (grub_ata_pciinit): Do not assign the same ID to each controller.
32454 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
32455 handling.
32456 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
32457
32458 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
32459
1fbc5e66 324602008-08-08 Marco Gerards <marco@gnu.org>
32461
32462 * NEWS: Update.
32463
819ce6c0 324642008-08-07 Bean <bean123ch@gmail.com>
32465
32466 * include/grub/x86_64/pci.h: New file.
32467
5c41d44d 324682008-08-07 Christian Franke <franke@computer.org>
32469
32470 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
32471 (TIMER2_GATE): Likewise.
32472 (grub_pit_wait): Add enable/disable of the timer2 gate
32473 bit of port 0x61. This fixes a possible infinite loop.
32474
5ebc275d 324752008-08-07 Bean <bean123ch@gmail.com>
32476
32477 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
32478 kern/i386/tsc.c and kern/i386/pit.c.
32479
32480 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
32481 x86_64 platform.
32482
32483 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
32484 <grub/i386/tsc.h>.
32485
32486 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
32487
e383b3d0 324882008-08-07 Bean <bean123ch@gmail.com>
32489
32490 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
32491
32492 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
32493
32494 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
32495 multiple inclusion. Add #include <grub/types.h>.
32496
1cbb58ac 324972008-08-06 Christian Franke <franke@computer.org>
32498
32499 * conf/common.rmk: Build and install `10_windows'.
32500 * util/grub.d/10_windows.in: New script.
32501
337f5a1e 325022008-08-06 Pavel Roskin <proski@gnu.org>
32503
32504 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
32505
057bc4ac 325062008-08-06 Robert Millan <rmh@aybabtu.com>
32507
32508 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
32509 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
32510
2b99f123 325112008-08-06 Bean <bean123ch@gmail.com>
32512
32513 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
32514 (grub_pxefs_fs_int): Remove dummy definition.
32515 (grub_pxefs_open): Use data->block_size to store the current block
32516 size setting.
32517 (grub_pxefs_read): Use block size stored in data->block_size. As the
32518 value of grub_pxe_blksize can be changed after the file is opened.
32519
9f0234cb 325202008-08-06 Bean <bean123ch@gmail.com>
32521
32522 * fs/i386/pc/pxe.c (curr_file): new variable.
32523 (grub_pxefs_open): Simply the handling of pxe file system. Don't
32524 require the dummy internal file system anymore.
32525 (grub_pxefs_read): Removed.
32526 (grub_pxefs_close): Likewise.
32527 (grub_pxefs_fs_int): Likewise.
32528 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
32529 connection when we switch file.
32530 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
32531
a55d42e0 325322008-08-06 Robert Millan <rmh@aybabtu.com>
32533
32534 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
32535 `halt.mod'.
32536 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
32537 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
32538
32539 * kern/i386/halt.c: New file.
32540 * kern/i386/reboot.c: Likewise.
32541 * include/grub/i386/reboot.h: Likewise.
32542 * include/grub/i386/halt.h: Likewise.
32543
32544 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
32545 Include `<grub/cpu/halt.h>'.
32546 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
32547 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
32548
32549 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
32550 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
32551 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
32552 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
32553 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
32554 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
32555 from here ...
32556 * include/grub/i386/at_keyboard.h: ... to here.
32557
24371d26 325582008-08-05 Robert Millan <rmh@aybabtu.com>
32559
32560 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
32561 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
32562 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
32563 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32564 `kern/generic/millisleep.c'.
32565
32566 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
32567 instead of grub_get_rtc().
32568 (grub_tsc_init): Initialize `tsc_boot_time'.
32569
32570 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
32571 (grub_machine_init): Use grub_tsc_init() rather than
32572 installing an RTC-based handler via grub_install_get_time_ms().
32573
32574 * kern/i386/pit.c: New file.
32575 * include/grub/i386/pit.h: Likewise.
32576
9e7007b3 325772008-08-05 Bean <bean123ch@gmail.com>
32578
32579 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
32580
32581 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
32582 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
32583 (pxe_mod_SOURCES): New macro.
32584 (pxe_mod_CFLAGS): Likewise.
32585 (pxe_mod_LDFLAGS): Likewise.
32586 (pxecmd_mod_SOURCES): Likewise.
32587 (pxecmd_mod_CFLAGS): Likewise.
32588 (pxecmd_mod_LDFLAGS): Likewise.
32589
32590 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
32591 (grub_pxe_call): Likewise.
32592
32593 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
32594
32595 * commands/i386/pc/pxecmd.c: New file.
32596
9f0234cb 32597 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 32598
32599 * include/grub/i386/pc/pxe.h: Likewise.
32600
6977d49f 326012008-08-05 Bean <bean123ch@gmail.com>
32602
32603 * util/console.c (grub_console_cur_color): New variable.
32604 (grub_console_standard_color): Likewise.
32605 (grub_console_normal_color): Likewise.
32606 (grub_console_highlight_color): Likewise.
32607 (color_map): Likewise.
32608 (use_color): Likewise.
32609 (NUM_COLORS): New macro.
32610 (grub_ncurses_setcolorstate): Handle color properly.
32611 (grub_ncurses_setcolor): Don't change color here, just remember the
32612 settings, color will be set in grub_ncurses_setcolorstate.
32613 (grub_ncurses_getcolor): New function.
32614 (grub_ncurses_init): Initialize color pairs.
32615 (grub_ncurses_term): New member grub_ncurses_getcolor.
32616
9c2ff3ee 326172008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 32618
9c2ff3ee 32619 High resolution timer support. Implemented for x86 CPUs using TSC.
32620 Extracted generic grub_millisleep() so it's linked in only as needed.
32621 This requires a Pentium compatible CPU; if the RDTSC instruction is
32622 not supported, then it falls back on the generic grub_get_time_ms()
32623 implementation that uses the machine's RTC.
32624
32625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
32626 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
32627 `kern/generic/millisleep.c'.
32628
32629 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
32630 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
32631
32632 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32633 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32634
32635 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32636
32637 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32638 `kern/generic/millisleep.c'.
32639
32640 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32641
32642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32643
32644 * kern/generic/rtc_get_time_ms.c: New file.
32645
32646 * kern/generic/millisleep.c: New file.
337f5a1e 32647
9c2ff3ee 32648 * kern/misc.c: Don't include
32649 <kern/time.h> anymore.
32650 (grub_millisleep_generic): Removed.
32651
32652 * commands/sleep.c (grub_interruptible_millisleep): Uses
32653 grub_get_time_ms() instead of grub_get_rtc().
32654
32655 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32656 function.
32657 (grub_cpu_is_cpuid_supported): New inline function.
32658 (grub_cpu_is_tsc_supported): New inline function.
32659 (grub_tsc_init): New function prototype.
32660 (grub_tsc_get_time_ms): New function prototype.
32661
32662 * kern/i386/tsc.c (grub_get_time_ms): New file.
32663
32664 * include/grub/time.h: Include <grub/types.h.
32665 (grub_millisleep_generic): Removed.
32666 (grub_get_time_ms): New prototype.
32667 (grub_install_get_time_ms): New prototype.
32668 (grub_rtc_get_time_ms): New prototype.
32669
32670 * kern/time.c (grub_get_time_ms): New function.
32671 (grub_install_get_time_ms): New function.
32672
32673 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32674 <grub/time.h> anymore.
32675 (grub_millisleep): Removed.
32676 (grub_machine_init): Call grub_tsc_init.
32677
32678 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32679 get_time_ms() implementation.
32680
32681 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32682 (ieee1275_get_time_ms): New function.
32683 (grub_machine_init): Install get_time_ms() implementation.
32684
32685 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32686 (grub_machine_init): Call grub_tsc_init().
32687 (grub_millisleep): Removed.
bf06a93f 32688
9c2ff3ee 32689 * kern/ieee1275/init.c (grub_millisleep): Removed.
32690 (grub_machine_init): Install ieee1275_get_time_ms()
32691 implementation.
32692 (ieee1275_get_time_ms): New function.
32693 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32694 real work.
32695
9ec92aaf 326962008-08-05 Marco Gerards <marco@gnu.org>
32697
32698 * disk/ata.c: Include <grub/pci.h>.
32699 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32700 (grub_ata_initialize): Rewritten.
32701 (grub_ata_device_initialize): New function.
32702
8d23f507 327032008-08-04 Pavel Roskin <proski@gnu.org>
32704
32705 * kern/main.c: Include grub/mm.h.
32706
5e15ee3d 327072008-08-04 Robert Millan <rmh@aybabtu.com>
32708
32709 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32710 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32711 corruption problem).
32712
a9053f8f 327132008-08-04 Robert Millan <rmh@aybabtu.com>
32714
32715 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32716 warnings introduced in my last commit.
32717
dd19c7d7 327182008-08-03 Robert Millan <rmh@aybabtu.com>
32719
32720 Make PCI available on all i386 architectures.
32721
32722 * include/grub/i386/pc/pci.h: Move from here ...
32723 * include/grub/i386/pci.h: ... to here.
32724
32725 * include/grub/i386/pc/pci.h: Remove.
32726 * include/grub/i386/efi/pci.h: Remove.
32727 * include/grub/x86_64/efi/pci.h: Remove.
32728
32729 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32730 `<grub/cpu/pci.h>'.
32731
32732 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32733 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32734 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32735
32736 * conf/i386-ieee1275.rmk: Likewise.
32737
e14a6184 327382008-08-03 Robert Millan <rmh@aybabtu.com>
32739
32740 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32741 (grub_console_setcursor): Make it possible to set cursor off.
32742
52768e37 327432008-08-03 Robert Millan <rmh@aybabtu.com>
32744
32745 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32746 of modules instead of assuming which platform provides what.
32747 * util/update-grub.in: Likewise.
32748
2d52f57f 327492008-08-03 Robert Millan <rmh@aybabtu.com>
32750
32751 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32752 instead of `grub_install_dos_part' to determine whether a drive needs
32753 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32754 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32755
2a5cd121 327562008-08-02 Robert Millan <rmh@aybabtu.com>
32757
32758 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32759
93808428 327602008-08-02 Robert Millan <rmh@aybabtu.com>
32761
32762 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32763 of informational grub_dprintf() calls.
32764
3bd0a12a 327652008-08-02 Robert Millan <rmh@aybabtu.com>
32766
32767 * disk/memdisk.c (memdisk_size): Don't initialize.
32768 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32769
32770 * include/grub/i386/pc/kernel.h
32771 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32772 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32773 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32774 (grub_arch_memdisk_size): Remove.
32775
32776 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32777 field (was only used to transfer a constant). Add `type' field to
32778 support multiple module types.
32779 (grub_module_iterate): New function.
32780
32781 * kern/device.c (grub_device_open): Do not hide error messages
32782 when grub_disk_open() fails. Use grub_print_error() instead.
32783
32784 * kern/i386/pc/init.c (grub_arch_modules_addr)
32785 (grub_arch_memdisk_size): Remove functions.
32786 (grub_arch_modules_addr): Return the module address in high memory
32787 (now that it isn't copied anymore).
32788
32789 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32790 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32791 decompression routine (grub_total_module_size already includes that
32792 now). Don't copy modules back to low memory.
32793
32794 * kern/main.c: Include `<grub/mm.h>'.
32795 (grub_load_modules): Split out (and use) ...
32796 (grub_module_iterate): ... this function, which iterates through
32797 module objects and runs a hook.
32798 Comment out grub_mm_init_region() call, as it would cause non-ELF
32799 modules to be overwritten.
32800
32801 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32802 the memdisk image in its own region, make it part of the module list.
32803 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32804 (main): Parse --memdisk|-m option, and pass user-provided path as
32805 parameter to generate_image().
32806 (add_segments): Pass `memdisk_path' down to load_modules().
32807 (load_modules): Embed memdisk image in module section when requested.
32808 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32809 `header.type' instead of `header.offset'.
32810
32811 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32812 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32813 (memdisk_mod_LDFLAGS): New variables.
32814 * conf/i386-coreboot.rmk: Likewise.
32815 * conf/i386-ieee1275.rmk: Likewise.
32816
a927cc73 328172008-08-02 Robert Millan <rmh@aybabtu.com>
32818
32819 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32820 (backward_relocator): New variables. Used to allocate and relocate
32821 the payload, respectively.
32822 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32823 address, install the appropriate relocator code in each bound of
a927cc73 32824 the payload, and set the entry point such that
32825 grub_multiboot_real_boot() will jump to one of them.
32826
32827 * kern/i386/loader.S (grub_multiboot_payload_size)
32828 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32829 (grub_multiboot_payload_entry_offset): New variables.
32830 (grub_multiboot_real_boot): Set cpu context to what the relocator
32831 expects, and jump to the relocator instead of the payload.
32832
32833 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32834 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32835 (grub_multiboot_payload_entry_offset): Export.
32836
b15d8a0c 328372008-08-01 Bean <bean123ch@gmail.com>
32838
32839 * normal/menu_entry.c (editor_getline): Don't return the original
32840 string as result, as it will be released by lexer once it has done
32841 using it.
32842
cdfb3d22 328432008-08-01 Robert Millan <rmh@aybabtu.com>
32844
32845 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32846 within menuentries, not before them.
32847 util/grub.d/10_hurd.in: Likewise.
32848
9175e93d 328492008-08-01 Bean <bean123ch@gmail.com>
32850
32851 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32852 (bufio_mod_SOURCES): New macro.
32853 (bufio_mod_CFLAGS): Likewise.
32854 (bufio_mod_LDFLAGS): Likewise.
32855
32856 * include/grub/bufio.h: New file.
32857
32858 * io/bufio.c: Likewise.
32859
32860 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32861 (grub_video_reader_png): Use grub_buffile_open to open file.
32862
32863 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32864 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32865
32866 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32867 (grub_video_reader_tga): Use grub_buffile_open to open file.
32868
32869 * font/manager.c: Include <grub/bufio.h>.
32870 (add_font): Use grub_buffile_open to open file.
32871
3d8383e7 328722008-07-31 Robert Millan <rmh@aybabtu.com>
32873
32874 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32875 ELF segments, use a macro for arbitrarily accessing any of them instead
32876 of preparing a pointer that allows access to one at a time.
32877 (grub_multiboot_load_elf64): Likewise.
32878
16e641b6 328792008-07-31 Bean <bean123ch@gmail.com>
32880
32881 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32882 GRUB_KERNEL_MACHINE_DATA_END.
32883
59198b72 328842008-07-30 Robert Millan <rmh@aybabtu.com>
32885
32886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32887 Increase from 0x50 to 0x60.
32888 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32889 use UUIDs to identify the root drive for them. If that's not
32890 possible, abort.
32891 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32892 check, for cross-disk installs.
32893
ae88bca3 328942008-07-30 Robert Millan <rmh@aybabtu.com>
32895
32896 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32897 is non-empty, use it to set the `prefix' environment variable instead
32898 of the usual approach.
32899 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32900 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32901 environment variable instead of dummy make_install_device().
32902
32903 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32904 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32905 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32906
32907 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32908 New variable reference.
32909 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32910 New macro. Defines offset of `grub_prefix' within startup.S (relative
32911 to `start').
32912 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32913 section within startup.S (relative to `start').
32914 * include/grub/i386/coreboot/kernel.h: Likewise.
32915
32916 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32917 Overwrite grub_prefix with its contents, at the beginning of the
32918 first segment.
32919 (main): Understand -p|--prefix.
32920
14f41dd1 329212008-07-30 Robert Millan <rmh@aybabtu.com>
32922
32923 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32924
4ca049a3 329252008-07-30 Robert Millan <rmh@aybabtu.com>
32926
32927 * term/i386/pc/vga_text.c (grub_console_cls): Use
32928 grub_console_gotoxy() to go back to beginning of the screen.
32929 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32930
2921d337 329312008-07-29 Christian Franke <franke@computer.org>
32932
32933 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32934 Add conversion of emulated mount points on Cygwin.
32935
b609876d 329362008-07-29 Christian Franke <franke@computer.org>
32937
32938 * util/update-grub.in: Add a check for admin
32939 group on Cygwin.
32940 Remove old `grub.cfg.new' before creation.
32941 Add `-f' to `mv' to handle the different filesystem
32942 semantics of Windows.
32943
e93e4679 329442008-07-29 Bean <bean123ch@gmail.com>
32945
32946 * normal/main.c (get_line): Fix buffer overflow bug.
32947
41694fd0 329482008-07-28 Robert Millan <rmh@aybabtu.com>
32949
32950 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32951 (struct grub_apple_header): New struct. Describes the layout of
32952 the partmap header.
32953 (apple_partition_map_iterate): Check the header magic as well as the
32954 partition magic (which was already being checked).
32955
cfd0b4e6 329562008-07-28 Pavel Roskin <proski@gnu.org>
32957
32958 * genmk.rb: Add a warning to the beginning of the output that
32959 it's a generated file and should not be edited.
32960
93cce016 329612008-07-28 Robert Millan <rmh@aybabtu.com>
32962
32963 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32964 with the same number are found, just use issue a warning with
32965 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32966
cd1df915 329672008-07-27 Robert Millan <rmh@aybabtu.com>
32968
32969 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32970 information.
32971
b70a8427 329722008-07-27 Bean <bean123ch@gmail.com>
32973
32974 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32975 (grub_fat_find_dir): Ignore case when comparing filename.
32976
8f5e379f 329772008-07-27 Bean <bean123ch@gmail.com>
32978
32979 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32980 smallino, as it's more descriptive, and i8count can be confused with
32981 the other field count.
32982 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32983 inode type.
32984
a85cd5a0 329852008-07-27 Bean <bean123ch@gmail.com>
32986
32987 * commands/crc.c: New file.
32988
32989 * lib/crc.c: Likewise.
32990
32991 * include/grub/lib/crc.h: Likewise.
32992
32993 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32994
32995 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32996 (hexdump): Move this function to ...
32997
32998 * lib/hexdump.c: ... here.
32999
33000 * include/grub/hexdump.h: Renamed to ...
33001
33002 * include/grub/lib/hexdump.h: ... this.
33003
33004 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33005
33006 * util/grub-editenv.c: Likewise.
33007
33008 * include/envblk.h: Renamed to ...
33009
33010 * include/lib/envblk.h: ... this.
33011
33012 * util/envblk.c: Renamed to ...
33013
33014 * lib/envblk.c: ... this.
33015
33016 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33017 lib/hexdump.c.
33018 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33019 (pkglib_MODULES): Add crc.mod.
33020 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33021 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33022 (crc_mod_SOURCES): New macro.
33023 (crc_mod_CFLAGS): Likewise.
33024 (crc_mod_LDFLAGS): Likewise.
33025
33026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33027
33028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33029
33030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33031
33032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33033
33034 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33035
c298def0 330362008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33037
33038 * commands/help.c: Include <grub/term.h>.
33039 (TERM_WIDTH): Removed. Updated all users.
33040
cc349fb3 330412008-07-27 Pavel Roskin <proski@gnu.org>
33042
33043 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33044 spurious warnings about a comment within a comment.
33045
9051607e 330462008-07-25 Robert Millan <rmh@aybabtu.com>
33047
33048 * util/getroot.c (find_root_device): Skip devices that match
33049 /dev/dm-[0-9]. This lets the real device be found for any type of
33050 abstraction (LVM, EVMS, RAID..).
33051 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33052 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33053 device is found first, find_root_device() will now skip it.
33054
01453bfc 330552008-07-24 Pavel Roskin <proski@gnu.org>
33056
33057 * include/grub/types.h: Use __builtin_bswap32() and
33058 __builtin_bswap64() with gcc 4.3 and newer.
33059
6af9849f 330602008-07-24 Christian Franke <franke@computer.org>
33061
3a0fa256 33062 * util/i386/pc/grub-install.in: If `--debug' is specified,
33063 pass `--verbose' to grub-setup.
33064 Abort script if make_system_path_relative_to_its_root() fails.
33065
7810e747 330662008-07-24 Bean <bean123ch@gmail.com>
33067
33068 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33069 variable `target_platform' should be `platform'.
33070
42290e17 330712008-07-24 Bean <bean123ch@gmail.com>
33072
51cc5193 33073 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33074 (grub_png_init_fixed_block): New function.
33075 (grub_png_decode_image_data): Handle fixed huffman code compression.
33076
2a8a80e4 330772008-07-24 Bean <bean123ch@gmail.com>
33078
33079 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33080 (grub_pe2elf_SOURCES): New macro.
33081 (CLEANFILES): Add grub-pe2elf.
33082
33083 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33084 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33085 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33086 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33087 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33088 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33089 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33090 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33091 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33092 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33093 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33094 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33095 (GRUB_PE32_DT_FUNCTION): Likewise.
33096 (GRUB_PE32_REL_I386_DIR32): Likewise.
33097 (GRUB_PE32_REL_I386_REL32): Likewise.
33098 (grub_pe32_symbol): New structure.
33099 (grub_pe32_reloc): Likewise.
33100
33101 * util/grub-pe2elf.c: New file.
33102
33103 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33104 start symbol in non pc platform.
33105
33106 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33107
33108 The following patches are from Christian Franke.
33109
33110 * include/grub/dl.h: Remove .previous, gas supports this only
33111 for ELF format.
33112
33113 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33114 Remove .type, gas supports this only for ELF format.
33115
33116 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33117 nullbytes in symbol table. This fixes an infinite loop if table is
33118 zero filled.
33119
33120 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33121 TARGET_IMG_LDFLAGS and EXEEXT.
33122
33123 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33124 TARGET_IMG_LDFLAGS_AC.
33125 (grub_CHECK_STACK_ARG_PROBE): New function.
33126
33127 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33128
33129 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
33130
33131 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
33132 to set TARGET_IMG_LD* accordingly.
33133 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
33134 Add call to grub_CHECK_STACK_ARG_PROBE.
33135 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
33136
33137 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
33138
33139 * genmk.rb: Add EXEEXT to CLEANFILES.
33140
12ccdb75 331412008-07-23 Robert Millan <rmh@aybabtu.com>
33142
33143 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
33144 define the codes for arrows and lines used for the menu).
33145 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
33146 as well.
33147
33148 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
33149 fonts, because the latter are too slow.
33150
18eeaf04 331512008-07-21 Bean <bean123ch@gmail.com>
33152
33153 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
33154 a20. Run keyboard test last, as it will cause macbook to halt.
33155
b095e2ad 331562008-07-18 Pavel Roskin <proski@gnu.org>
33157
33158 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
33159 load foreign architecture modules correctly anyway. Keep
33160 support for loading host architecture modules, whether we
33161 compile them or not.
33162
737feb35 331632008-07-17 Pavel Roskin <proski@gnu.org>
33164
3f4ce737 33165 * configure.ac: Use -m32 or -m64 regardless of whether we had to
33166 change target_cpu. The compiler default can mismatch target_cpu
33167 in any case.
33168
4ad2d049 33169 * disk/efi/efidisk.c: Fix format warnings on x86_64.
33170 * kern/efi/efi.c: Likewise.
33171
f6130a12 33172 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
33173 target compiler is functional.
33174 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
33175 are set up.
33176
58393a2d 33177 * configure.ac: Default to efi platform for x86_64-apple. Allow
33178 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
33179 adjustments from the rest, only do them if target is not
33180 explicitly given. Merge other adjustments with the final sanity
33181 check. Remove an extraneous check for supported CPU. Be
33182 specific which CPU and which platform is not supported.
33183
737feb35 33184 * configure.ac: Default to pc platform for x86_64.
33185
546f966a 331862008-07-17 Robert Millan <rmh@aybabtu.com>
33187
33188 Partial LinuxBIOS -> Coreboot rename.
33189
33190 * conf/i386-linuxbios.rmk: Renamed to ...
33191 * conf/i386-coreboot.rmk: ... this.
33192 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
33193 * configure.ac: Accept "coreboot" as input platform (but maintain
33194 compatibility with "linuxbios").
33195 * include/grub/i386/linuxbios: Renamed to ...
33196 * include/grub/i386/coreboot: ... this.
33197
20011694 331982008-07-17 Bean <bean123ch@gmail.com>
33199
33200 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 33201 (appleldr_mod_SOURCE): New variable.
20011694 33202 (appleldr_mod_CFLAGS): Likewise.
33203 (appleldr_mod_LDFLAGS): Likewise.
33204 (pci_mod_SOURCES): Likewise.
33205 (pci_mod_CFLAGS): Likewise.
33206 (pci_mod_LDFLAGS): Likewise.
33207 (lspci_mod_SOURCES): Likewise.
33208 (lspci_mod_CFLAGS): Likewise.
33209 (lspci_mod_LDFLAGS): Likewise.
33210
33211 * conf/x86_64-efi.rmk: New file.
33212
33213 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
33214 macro.
33215 (grub_efidisk_write): Likewise.
33216
33217 * include/efi/api.h (efi_call_0): New macro.
33218 (efi_call_1): Likewise.
33219 (efi_call_2): Likewise.
33220 (efi_call_3): Likewise.
33221 (efi_call_4): Likewise.
33222 (efi_call_5): Likewise.
33223 (efi_call_6): Likewise.
33224
33225 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
33226 grub_rescue_cmd_chainloader.
33227
33228 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
33229 (grub_pe32_optional_header): Change some fields based on i386 or
33230 x86_64 platform.
33231 (GRUB_PE32_PE32_MAGIC): Likewise.
33232
33233 * include/grub/efi/uga_draw.h: New file.
33234
33235 * include/grub/elf.h (STN_ABS): New constant.
33236 (R_X86_64_NONE): Relocation constant for x86_64.
33237 (R_X86_64_64): Likewise.
33238 (R_X86_64_PC32): Likewise.
33239 (R_X86_64_GOT32): Likewise.
33240 (R_X86_64_PLT32): Likewise.
33241 (R_X86_64_COPY): Likewise.
33242 (R_X86_64_GLOB_DAT): Likewise.
33243 (R_X86_64_JUMP_SLOT): Likewise.
33244 (R_X86_64_RELATIVE): Likewise.
33245 (R_X86_64_GOTPCREL): Likewise.
33246 (R_X86_64_32): Likewise.
33247 (R_X86_64_32S): Likewise.
33248 (R_X86_64_16): Likewise.
33249 (R_X86_64_PC16): Likewise.
33250 (R_X86_64_8): Likewise.
33251 (R_X86_64_PC8): Likewise.
33252
33253 * include/grub/i386/efi/pci.h: New file.
33254
33255 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
33256 Change it value based on platform.
33257 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
33258 (GRUB_E820_RAM): Likewise.
33259 (GRUB_E820_RESERVED): Likewise.
33260 (GRUB_E820_ACPI): Likewise.
33261 (GRUB_E820_NVS): Likewise.
33262 (GRUB_E820_EXEC_CODE): Likewise.
33263 (GRUB_E820_MAX_ENTRY): Likewise.
33264 (grub_e820_mmap): New structure.
33265 (linux_kernel_header): Change the efi field according to different
33266 kernel version, also field from linux_kernel_header.
33267
33268 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
33269
33270 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
33271 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
33272 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
33273 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
33274 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
33275 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
33276 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
33277 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
33278 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
33279 (GRUB_PCI_ADDR_IO_MASK): Likewise.
33280
33281 * include/grub/x86_64/efi/kernel.h: New file.
33282
33283 * include/grub/x86_64/efi/loader.h: Likewise.
33284
33285 * include/grub/x86_64/efi/machine.h: Likewise.
33286
33287 * include/grub/x86_64/efi/pci.h: Likewise.
33288
33289 * include/grub/x86_64/efi/time.h: Likewise.
33290
33291 * include/grub/x86_64/linux.h: Likewise.
33292
33293 * include/grub/x86_64/setjmp.h: Likewise.
33294
33295 * include/grub/x86_64/time.h: Likewise.
33296
33297 * include/grub/x86_64/types.h: Likewise.
33298
33299 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
33300 GRUB_TARGET_SIZEOF_VOID_P.
33301
33302 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
33303 (grub_efi_locate_handle): Likewise.
33304 (grub_efi_open_protocol): Likewise.
33305 (grub_efi_set_text_mode): Likewise.
33306 (grub_efi_stall): Likewise.
33307 (grub_exit): Likewise.
33308 (grub_reboot): Likewise.
33309 (grub_halt): Likewise.
33310 (grub_efi_exit_boot_services): Likewise.
33311 (grub_get_rtc): Likewise.
33312
33313 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
33314 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
33315 (grub_efi_allocate_pages): Wrap efi calls.
33316 (grub_efi_free_pages): Wrap efi calls.
33317 (grub_efi_get_memory_map): Wrap efi calls.
33318
33319 * kern/x86_64/dl.c: New file.
33320
33321 * kern/x86_64/efi/callwrap.S: Likewise.
33322
33323 * kern/x86_64/efi/startup.S: Likewise.
33324
33325 * loader/efi/appleloader.c: Likewise.
33326
33327 * loader/efi/chainloader.c (cmdline): New variable.
33328 (grub_chainloader_unload): Wrap efi calls.
33329 (grub_chainloader_boot): Likewise.
33330 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
33331 command line.
33332
33333 * loader/efi/chainloader_normal.c (chainloader_command):
33334 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
33335 command line.
33336
33337 * loader/i386/efi/linux.c (allocate_pages): Change allocation
33338 method.
33339 (grub_e820_add_region): New function.
33340 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
33341 booting.
33342 (grub_find_video_card): New function.
33343 (grub_linux_setup_video): New function.
33344 (grub_rescue_cmd_linux): Probe for video information.
33345
33346 * normal/x86_64/setjmp.S: New file.
33347
33348 * term/efi/console.c (map_char): New function.
33349 (grub_console_putchar): Map unicode char.
33350 (grub_console_checkkey): Wrap efi calls.
33351 (grub_console_getkey): Likewise.
33352 (grub_console_getwh): Likewise.
33353 (grub_console_gotoxy): Likewise.
33354 (grub_console_cls): Likewise.
33355 (grub_console_setcolorstate): Likewise.
33356 (grub_console_setcursor): Likewise.
33357
33358 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
33359
59652a20 333602008-07-16 Pavel Roskin <proski@gnu.org>
33361
ef294055 33362 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
33363 format strings.
33364
59652a20 33365 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
33366 pointer, not an integer. This fixes a warning and prevents
33367 precision loss on 64-bit systems.
33368 (relocate_addresses): Remove unneeded cast.
33369
afc3b5d7 333702008-07-15 Pavel Roskin <proski@gnu.org>
33371
506b2b3e 33372 * kern/i386/ieee1275/init.c: Include grub/cache.h.
33373
62ead89c 33374 * term/ieee1275/ofconsole.c: Disable code unused on i386.
33375
c4cd51d7 33376 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
33377 Fix comparison between signed and unsigned.
33378
0d3d8f28 33379 * include/grub/i386/ieee1275/console.h: Declare
33380 grub_console_init() and grub_console_fini().
33381
8804b286 33382 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
33383 It's empty and unused.
33384
ee01cf35 33385 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
33386 beginning to avoid warnings with some compilers.
33387
afc3b5d7 33388 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
33389 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
33390
e4e8eaa5 333912008-07-14 Pavel Roskin <proski@gnu.org>
33392
407aceb4 33393 * kern/env.c (grub_register_variable_hook): Don't copy empty
33394 string, it leaks memory. Pass "" to grub_env_set(), it should
33395 handle constant strings.
33396
e4e8eaa5 33397 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
33398 * commands/cmp.c (grub_cmd_cmp): Likewise.
33399 * kern/dl.c (grub_dl_flush_cache): Likewise.
33400 (grub_dl_load_core): Likewise.
33401 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
33402 (grub_elf64_load_phdrs): Likewise.
33403
d4e2dad3 334042008-07-13 Pavel Roskin <proski@gnu.org>
33405
33406 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
33407 between signed and unsigned.
33408 (LzmaEnc_Finish): Fix warning about an unused parameter.
33409
aa24b516 334102008-07-13 Bean <bean123ch@gmail.com>
33411
33412 * Makefile.in (enable_lzo): New rule.
33413
33414 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
33415
33416 * configure.ac (ENABLE_LZO): New option --enable-lzo.
33417
33418 * boot/i386/pc/lnxboot.S: #include <config.h>.
33419
33420 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 33421 its value according to the compression algorithm used, lzo or lzma.
aa24b516 33422
33423 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
33424 compression algorithm according to configure macro.
33425
33426 * kern/i386/pc/startup.S (codestart): Likewise.
33427
33428 * kern/i386/pc/lzma_decode.S: New file.
33429
33430 * include/grub/lib/LzFind.h: Likewise.
33431
33432 * include/grub/lib/LzHash.h: Likewise.
33433
33434 * include/grub/lib/LzmaDec.h: Likewise.
33435
33436 * include/grub/lib/LzmaEnc.h: Likewise.
33437
33438 * include/grub/lib/LzmaTypes.h: Likewise.
33439
33440 * lib/LzFind.c: Likewise.
33441
33442 * lib/LzmaDec.c: Likewise.
33443
33444 * lib/LzmaEnc.c: Likewise.
33445
4ae821ac 334462008-07-13 Bean <bean123ch@gmail.com>
33447
33448 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
33449 (grub_ext4_extent_header): New structure.
33450 (grub_ext4_extent): Likewise.
33451 (grub_ext4_extent_idx): Likewise.
33452 (grub_ext4_find_leaf): New function.
33453 (grub_ext2_read_block): Handle extents.
33454
9a745147 334552008-07-12 Robert Millan <rmh@aybabtu.com>
33456
33457 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
33458
d49a4cf6 334592008-07-11 Robert Millan <rmh@aybabtu.com>
33460
33461 * util/grub.d/40_custom.in: New file. Example on how to add custom
33462 entries to /etc/grub.d.
33463 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
33464 40_custom (implicitly, by merging all the grub.d rules).
33465
947414b4 334662008-07-11 Pavel Roskin <proski@gnu.org>
33467
0059cf6f 33468 * commands/read.c (grub_getline): Fix invalid memory access.
33469 Don't add newline to the variable value.
33470
947414b4 33471 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
33472 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
33473 (serial_hw_get_port): Check validity of the port number.
33474 (grub_cmd_serial): Check return value of serial_hw_get_port().
33475
62a02d00 334762008-07-07 Pavel Roskin <proski@gnu.org>
33477
33478 * boot/i386/pc/diskboot.S (notification_string): Replace
33479 "Loading kernel" with just "loading". This is shorter, less
33480 confusing and saves a few bytes for possible future changes.
33481
3e5581b0 334822008-07-05 Pavel Roskin <proski@gnu.org>
33483
ea387a48 33484 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
33485 size for ATAPI devices, they are undefined. Output sector
33486 number in decimal form.
33487
3e5581b0 33488 * disk/ata.c: Use named constants for status bits.
33489
fdecb8fd 334902008-07-04 Pavel Roskin <proski@gnu.org>
33491
bcd35b90 33492 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
33493 grub_addr_t before casting it to the void pointer to fix a
33494 warning. Non-addressable regions are discarded earlier.
33495 (grub_arch_modules_addr): Cast _end to grub_addr_t.
33496 * kern/i386/linuxbios/table.c: Include grub/misc.h.
33497 (check_signature): Don't shadow table_header.
33498 (grub_linuxbios_table_iterate): Cast numeric constants to
33499 grub_linuxbios_table_header_t.
33500 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
33501 grub_stop().
33502
af58ab3d 33503 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
33504 prevent warnings.
33505
1759aa57 33506 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
33507 pointer, which can cause warnings. Support 64-bit addresses.
33508
fdecb8fd 33509 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
33510 of sizeof(long). This fixes PowerPC image generation on x86_64.
33511
8516d2a8 335122008-07-04 Robert Millan <rmh@aybabtu.com>
33513
33514 This fixes a performance issue when pc & gpt partmap iterators
33515 didn't abort iteration even after our hook found what it was
fe987087 33516 looking for (often causing expensive probes of non-existent drives).
8516d2a8 33517
33518 Some callers relied on previous buggy behaviour, since they would
34c44600 33519 raise an error when their own hooks caused early abortion of its
8516d2a8 33520 iteration.
33521
33522 * kern/device.c (grub_device_open): Improve error message.
33523 * disk/lvm.c (grub_lvm_open): Likewise.
33524 * disk/raid.c (grub_raid_open): Likewise.
33525
33526 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
33527 when hook requests it, independently of grub_errno.
33528 (pc_partition_map_probe): Do not fail when find_func() caused
33529 early abortion of pc_partition_map_iterate().
33530
33531 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
33532 when hook requests it, independently of grub_errno.
33533 (gpt_partition_map_probe): Do not fail when find_func() caused
33534 early abortion of gpt_partition_map_iterate().
33535
33536 * kern/partition.c (grub_partition_iterate): Abort parent iteration
33537 when hook requests it, independently of grub_errno. Do not fail when
33538 part_map_iterate_hook() caused early abortion of p->iterate().
33539
33540 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
33541 when grub_partition_iterate() returned with non-zero.
33542
277d0de9 335432008-07-03 Pavel Roskin <proski@gnu.org>
33544
33545 * disk/ata.c (grub_ata_pio_write): Check status before writing,
33546 like we do in grub_ata_pio_read().
33547 (grub_ata_readwrite): Always write individual sectors. Fix the
33548 sector count for the remainder.
33549 (grub_ata_write): Enable writing to ATA devices. Correctly
33550 report error for ATAPI devices.
33551
d4c9b428 335522008-07-02 Pavel Roskin <proski@gnu.org>
33553
e43fc690 33554 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
33555 warning.
33556
f707af42 33557 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
33558 for every read sector, we already increment it for the whole
33559 batch. This fixes reading more than 256 sectors at once.
33560
11e16b15 33561 * util/grub-editenv.c (cmd_info): Cast argument to long
33562 explicitly. ptrdiff_t reduces to int on i386.
33563
cbabfdd4 33564 * util/grub-editenv.c (main): Be specific which parameter is
33565 missing.
33566
b8fbce0a 33567 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
33568 (memdisk): Make memdisk_orig_addr a pointer.
33569
c9c8e606 33570 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
33571 for file offsets, use grub_off_t instead. Fix printf format
33572 warnings.
33573
ca62e598 33574 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
33575 there. Real unexpected warnings should not drown in the noise
33576 about known problems.
33577
ce8d1766 33578 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
33579 grub_disk_addr_t for memory addresses.
33580
00c7a56a 33581 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
33582 explicitly to fix a warning.
33583
08d3ef09 33584 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
33585
cb71ba20 33586 * Makefile.in (MODULE_LDFLAGS): New variable.
33587 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
33588 the linker accepts --build-id=none.
33589 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
33590 MODULE_LDFLAGS.
33591 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
33592
d4c9b428 33593 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
33594 those in Linux XFS code. Provide a way to access 64-bit parent
33595 inode.
33596 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
33597 the end of struct grub_xfs_dir_header.
33598
d4156eee 335992008-07-02 Bean <bean123ch@gmail.com>
33600
33601 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
33602 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33603 and GRUB_IEEE1275_FLAG_NO_ANSI.
33604
33605 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
33606 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
33607 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
33608
33609 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
33610 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
33611
33612 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
33613 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
33614
33615 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
33616 esc sequence on non ANSI terminal.
33617 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
33618
33619 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
33620 beginning of file.
33621
2270f77b 336222008-07-02 Bean <bean123ch@gmail.com>
33623
33624 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
33625 (grub_editenv_SOURCES): New variable.
33626 (pkglib_MODULES): Add loadenv.mod.
33627 (loadenv_mod_SOURCES): New variable.
33628 (loadenv_mod_CFLAGS): Likewise.
33629 (loadenv_mod_LDFLAGS): Likewise.
33630
33631 * include/grub/envblk.h: New file.
33632
33633 * util/envblk.c: New file.
33634
33635 * util/grub-editenv.c: New file.
33636
33637 * commands/loadenv.c: New file.
33638
0e9e51ec 336392008-07-01 Pavel Roskin <proski@gnu.org>
33640
d89b7634 33641 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33642 not unsigned char. This fixes warnings and is consistent with
33643 other tags.
33644
bf1835b1 33645 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33646
8222a04b 33647 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33648
6a42d99d 33649 * term/tparm.c (analyze): Always set *popcount.
33650
10b159d1 33651 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33652 cast to fix a warning.
33653
b8789f6c 33654 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33655 cast to suppress a warning.
33656
29d7e38a 33657 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33658 grub_fshelp_read_file() expects.
33659
f341f669 33660 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33661 write uuid as a 32-bit value in CPU byte order, so declare and
33662 use it as such.
33663
0e9e51ec 33664 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33665 long if the format specifier expects it.
33666 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33667 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33668 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33669 long to fix a warning.
33670 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33671 grub_dprintf() arguments to fix warnings.
33672
3aefa857 336732008-06-30 Pavel Roskin <proski@gnu.org>
33674
56c7668b 33675 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33676 install_bsd_part immediately before core.img is embedded or
33677 modified on disk. This fixes core.img verification if core.img
33678 cannot be embedded.
33679
3aefa857 33680 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33681 core_path to calculate the blocklist.
33682 Patch from Javier Martín <lordhabbit@gmail.com>
33683
5444088d 336842008-06-29 Robert Millan <rmh@aybabtu.com>
33685
33686 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33687 block to disk block.
33688 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33689 Patch from Niels Böhm <bitbucket@arcor.de>
33690
674835c8 336912008-06-29 Robert Millan <rmh@aybabtu.com>
33692
33693 * util/update-grub_lib.in (font_path): Search for fonts in
33694 /boot/grub first, which is more likely to be readable (we aren't
33695 deciding where fonts live, just looking for them).
33696
f527dbc8 336972008-06-26 Pavel Roskin <proski@gnu.org>
33698
6c2d8df6 33699 * util/biosdisk.c (read_device_map): Don't leave dead map
33700 entries for devices failing stat() check.
33701
f527dbc8 33702 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33703 core_path_dev for the core.img path on the target device.
33704
aebe3d13 337052008-06-26 Robert Millan <rmh@aybabtu.com>
33706
33707 * disk/fs_uuid.c: New file.
33708 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33709 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33710 (fs_uuid_mod_LDFLAGS): New variables.
33711 * include/grub/disk.h (grub_disk_dev_id): Add
33712 `GRUB_DISK_DEVICE_UUID_ID'.
33713 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33714 implement iterate().
33715
37aaf354 337162008-06-26 Robert Millan <rmh@aybabtu.com>
33717
33718 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33719 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33720 Linux image includes no initrd.
33721
25ff262a 337222008-06-21 Javier Martín <lordhabbit@gmail.com>
33723
33724 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33725 call to resolve the core image location that effectively appended the
33726 name twice.
33727
76a2bd44 337282008-06-21 Robert Millan <rmh@aybabtu.com>
33729
33730 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33731 call from here ...
33732
33733 * util/grub.d/10_hurd.in: ... to here ...
33734 * util/grub.d/10_linux.in: ... and here.
33735
650e1c79 337362008-06-19 Robert Millan <rmh@aybabtu.com>
33737
fe987087 33738 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33739 after it has been set by grub_machine_set_prefix().
33740
6ce63911 337412008-06-19 Robert Millan <rmh@aybabtu.com>
33742
33743 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33744 search result when not saving to variable, not the other way around.
33745 When saving to variable, abort iteration as soon as a match is found.
33746
73940cec 337472008-06-19 Robert Millan <rmh@aybabtu.com>
33748
33749 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33750 check for partition that provides /boot/grub. Its logic is flawed,
33751 as it prevents prepare_grub_to_access_device() from being called
33752 multiple times.
33753
3c62a39d 337542008-06-19 Robert Millan <rmh@aybabtu.com>
33755
33756 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33757 "insmod" command directly when abstraction modules are needed,
fe987087 33758 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33759 since it had already been processed).
33760
47395a42 337612008-06-19 Pavel Roskin <proski@gnu.org>
33762
33763 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33764 changed. This is needed in case GRUB_LIBDIR changes.
33765 * conf/i386-ieee1275.rmk: Likewise.
33766 * conf/i386-linuxbios.rmk: Likewise.
33767 * conf/i386-pc.rmk: Likewise.
33768 * conf/powerpc-ieee1275.rmk: Likewise.
33769
a145ac2d 337702008-06-18 Pavel Roskin <proski@gnu.org>
33771
33772 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33773 kernel_elf_symlist.c to symlist.c for consistency with other
33774 architectures. Update all users.
33775 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33776
7847c51e 337772008-06-18 Robert Millan <rmh@aybabtu.com>
33778
33779 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33780 it in prefix.
33781
33782 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33783 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33784 a RAID device, run setup() for all members independently on whether
33785 LVM abstraction is being used.
33786 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33787 If grub-mkimage has set `*install_dos_part == -2', don't override this
33788 value.
33789 Perform *install_dos_part adjustments independently on whether
33790 we're embedding or not.
33791 Clarify error message when image is too big for embedding.
33792 Remove duplicate *install_dos_part stanza.
33793
b23e5644 337942008-06-17 Robert Millan <rmh@aybabtu.com>
33795
33796 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33797 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33798 variables.
33799 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33800 values in grub_ofconsole_normal_color and
33801 grub_ofconsole_highlight_color (they're not directly related to
33802 background and foreground).
33803 (grub_ofconsole_setcolorstate): Extract background and foreground
33804 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33805
0aac2f79 338062008-06-17 Robert Millan <rmh@aybabtu.com>
33807
33808 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33809 /boot/grub for the check in last commit, not /boot (they could be
33810 different partitions).
33811
3cca7ef3 338122008-06-16 Robert Millan <rmh@aybabtu.com>
33813
33814 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33815 asked to setup access for the same partition that provides /boot,
33816 don't bother using UUIDs since our root already has the value we
33817 want.
33818
347396d8 338192008-06-16 Robert Millan <rmh@aybabtu.com>
33820
33821 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33822 I2O devices.
33823 Patch from Sven Mueller <sven@debian.org>.
33824
991477f8 338252008-06-16 Robert Millan <rmh@aybabtu.com>
33826
33827 * util/update-grub.in: Check for $EUID instead of $UID.
33828 Reported by Vincent Zweije.
33829
d31a32a1 338302008-06-16 Bean <bean123ch@gmail.com>
33831
fe987087 33832 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33833 (grub_ext2_read_block): Likewise.
33834 (grub_ext2_read_inode): Likewise.
33835 (grub_ext2_mount): Likewise.
33836 (grub_ext2_close): Likewise.
33837 (grub_ext3_get_journal): Removed.
33838
fe987087 33839 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33840 (grub_reiserfs_read_symlink): Likewise.
33841 (grub_reiserfs_mount): Likewise.
33842 (grub_reiserfs_open): Likewise.
33843 (grub_reiserfs_read): Likewise.
33844 (grub_reiserfs_close): Likewise.
33845 (grub_reiserfs_get_journal): Removed.
33846
33847 * fs/fshelp.c (grub_fshelp_read): Removed.
33848 (grub_fshelp_map_block): Likewise.
33849
33850 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33851 (grub_fshelp_journal): Likewise.
33852 (grub_fshelp_read): Likewise.
33853 (grub_fshelp_map_block): Likewise.
33854
3540a760 338552008-06-16 Pavel Roskin <proski@gnu.org>
33856
33857 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33858 floating point anymore.
33859 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33860
95614c84 338612008-06-15 Pavel Roskin <proski@gnu.org>
33862
33863 * commands/ls.c (grub_ls_list_files): Use integer calculations
33864 for human readable format, avoid floating point use.
33865 * kern/misc.c (grub_ftoa): Remove.
33866 (grub_vsprintf): Remove floating point support.
33867
50465dd6 338682008-06-15 Robert Millan <rmh@aybabtu.com>
33869
fe6b695a 33870 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33871 devices.
33872 Reported by Max Vozeler.
33873
a9207284 338742008-06-15 Robert Millan <rmh@aybabtu.com>
33875
33876 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33877 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33878 skipped later.
33879 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33880 the beginning of the prefix.
33881
33882 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33883 It is assumed that if we have a memdisk, grub-mkimage has set
33884 grub_prefix to include the "(memdisk)" drive in it.
33885
a7cbd45a 338862008-06-15 Robert Millan <rmh@aybabtu.com>
33887
33888 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33889 Initialize keyboard controller after registering the terminal, so that
33890 grub_printf() can be called from grub_keyboard_controller_init().
33891
21cf716a 338922008-06-15 Robert Millan <rmh@aybabtu.com>
33893
33894 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33895 extent-btree which is written as big endian on disk.
33896 Reported by Alain Greppin <al@chilibi.org>.
33897
23a64d8e 338982008-06-14 Robert Millan <rmh@aybabtu.com>
33899
33900 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33901 * util/i386/pc/grub-install.in (modules): Likewise.
33902
d687651c 339032008-06-13 Pavel Roskin <proski@gnu.org>
33904
33905 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33906
dfe9ddd4 339072008-06-13 Bean <bean123ch@gmail.com>
33908
33909 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33910
33911 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33912
33913 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33914 to indicate sparse block.
33915
16ae7781 339162008-06-12 Pavel Roskin <proski@gnu.org>
33917
e6d1a308 33918 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33919 number, grub_fshelp_read() does it for us.
33920
16ae7781 33921 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33922 linear disk read with journal translation.
33923 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33924 * include/grub/fshelp.h: Declare grub_fshelp_read().
33925
40fd3a2b 339262008-06-09 Pavel Roskin <proski@gnu.org>
33927
33928 * fs/minix.c (grub_minix_mount): Handle error reading
33929 superblock.
33930
f5679726 339312008-06-08 Robert Millan <rmh@aybabtu.com>
33932
33933 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33934 don't append the RAID prefix afterwards.
33935 Reported by Clint Adams.
33936
ce525529 339372008-06-08 Robert Millan <rmh@aybabtu.com>
33938
33939 Based on description from Pavel:
33940 * kern/disk.c (grub_disk_check_range): Rename to ...
33941 (grub_disk_adjust_range): ... this. Add a comment explaining the
33942 tasks performed by this function.
33943
ad4936a0 339442008-06-08 Robert Millan <rmh@aybabtu.com>
33945
33946 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33947 `num_serial' (for consistency with other variables).
33948 (struct grub_ntfs_data): Add `uuid' member.
33949 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33950 (grub_ntfs_uuid): New function.
33951 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33952
dc20b0f9 339532008-06-07 Pavel Roskin <proski@gnu.org>
33954
33955 * util/biosdisk.c (open_device): Revert last change to the
33956 function, it broke installation. The sector needs to be
33957 different dependent on which device is opened.
33958
c5e3cfba 339592008-06-06 Robert Millan <rmh@aybabtu.com>
33960
33961 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33962 rest of GRUB, and breakage doesn't happen if its value were modified.
33963
33964 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33965 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33966 a constant (same value).
33967 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33968 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33969
26a1f8c4 339702008-06-06 Robert Millan <rmh@aybabtu.com>
33971
33972 * util/biosdisk.c (open_device): Do not modify sector offset when
33973 accessing a partition. kern/disk.c already handles this for us.
33974
25d6b327 339752008-06-06 Robert Millan <rmh@aybabtu.com>
33976
33977 * util/grub-emu.c (grub_machine_init): Move code in this function from
33978 here ...
33979 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33980 segfault in case grub_printf() is called).
33981
33982 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33983 grub_probe. Update all users not to explicitly add it again.
33984 (grub_device): New variable; contains corresponding device for grubdir.
33985 (fs_module, partmap_module, devabstraction_module): Pass
33986 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33987 every time.
33988
9ece62fb 339892008-06-05 Robert Millan <rmh@aybabtu.com>
33990
33991 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33992 is found, print it (same layout as with labels).
33993
1ad36d37 339942008-06-04 Robert Millan <rmh@aybabtu.com>
33995
33996 * util/biosdisk.c (get_drive): Rename to ...
33997 (find_grub_drive): ... this. Update all users.
33998
33999 (get_os_disk): Rename to ...
34000 (convert_system_partition_to_system_disk): ... this. Update all users.
34001
34002 (find_drive): Rename to ...
34003 (find_system_device): ... this. Update all users.
34004
e6a30859 340052008-06-04 Robert Millan <rmh@aybabtu.com>
34006
34007 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34008 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34009 (make_device_map): Likewise.
34010
00c108a4 340112008-06-01 Robert Millan <rmh@aybabtu.com>
34012
34013 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34014 before dereferencing it.
34015
34016 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34017 union with fat12/fat16-specific ones. Add some new fields, including
34018 `num_serial' for both versions.
34019 (struct grub_fat_data): Add `uuid' member.
34020 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34021 names. Initialize `data->uuid' using `num_serial'.
34022 (grub_fat_uuid): New function.
34023 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34024
34025 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34026 (grub_reiserfs_uuid): New function.
34027 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34028 member.
34029
34030 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34031 (grub_xfs_uuid): New function.
34032 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34033
1385c5bb 340342008-06-01 Robert Millan <rmh@aybabtu.com>
34035
34036 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34037 code that is backward compatible with pre-uuid search command.
34038
c682dfd7 340392008-05-31 Robert Millan <rmh@aybabtu.com>
34040
34041 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34042 floppies after everything else, to ensure floppy drive isn't accessed
34043 unnecessarily (patch from Bean).
34044
b7db5d47 340452008-05-31 Robert Millan <rmh@aybabtu.com>
34046
34047 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34048 not print device names when we were asked to set a variable.
34049
6e037aa9 340502008-05-31 Robert Millan <rmh@aybabtu.com>
34051
34052 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34053 using "cursor-on" and "cursor-off" commands (understood at least by
34054 the Open Firmware flavour on OLPC).
34055
41305bc8 340562008-05-31 Michael Gorven <michael@gorven.za.net>
34057
34058 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34059 on and off sequences.
34060
69ba137e 340612008-05-31 Robert Millan <rmh@aybabtu.com>
34062
34063 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34064 * util/update-grub.in: Likewise.
34065
520ae21b 340662008-05-30 Pavel Roskin <proski@gnu.org>
34067
34068 * util/biosdisk.c (linux_find_partition): Simplify logic and
34069 make the code more universal. Keep special processing for
34070 devfs, but use a simple rule for all other devices. If the
34071 device ends with a number, append 'p' and the partition number.
34072 Otherwise, append only the partition number.
34073
5786569b 340742008-05-30 Robert Millan <rmh@aybabtu.com>
34075
34076 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34077 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34078 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34079 the `root' parameter to Linux.
34080
51500452 340812008-05-30 Robert Millan <rmh@aybabtu.com>
34082
34083 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34084 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34085 --fs_uuid with --fs-uuid.
34086 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34087 all filesystems support them).
34088
811d3878 340892008-05-30 Robert Millan <rmh@aybabtu.com>
34090
34091 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34092 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34093
cab63c95 340942008-05-30 Robert Millan <rmh@aybabtu.com>
34095
34096 * util/grub.d/00_header.in: Remove obsolete comment referencing
34097 convert_system_path_to_grub_path().
34098 * util/update-grub.in: Likewise.
34099 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34100 (convert_system_path_to_grub_path): Add a warning message explaining
34101 that this function is deprecated. Rely on is_path_readable_by_grub()
34102 for the readability checks.
34103 (font_path): Use is_path_readable_by_grub() for the readability
34104 check rather than convert_system_path_to_grub_path().
34105
972e2f7a 341062008-05-30 Robert Millan <rmh@aybabtu.com>
34107
34108 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34109 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34110 converting it first.
34111 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34112 grub.cfg for access to font file, and afterwards call it again to set
34113 the root device.
34114
62191274 341152008-05-30 Robert Millan <rmh@aybabtu.com>
34116
34117 * commands/search.c (options): Add --fs_uuid option.
34118 (search_fs_uuid): New function.
34119 (grub_cmd_search): Fix --set argument passing.
34120 Use search_fs_uuid() when requested via --fs_uuid.
34121 (grub_search_init): Update help message.
34122 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34123 and redeclare it as an array of 16-bit words.
34124 (grub_ext2_uuid): New function.
34125 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34126 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34127 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34128 (GRUB_DEVICE_BOOT_UUID): New variables.
34129 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
34130 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
34131 whenever possible.
34132 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
34133 just assume `root' variable has the right value.
34134 * util/grub.d/10_linux.in: Likewise.
34135 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
34136 via PRINT_FS_UUID.
34137 (main): Recognise `-t fs_uuid' argument.
34138
01b73ec8 341392008-05-30 Robert Millan <rmh@aybabtu.com>
34140
34141 * util/biosdisk.c (map): Redefine structure to hold information
34142 about GRUB drive name.
fe6b695a 34143 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 34144 drive names.
34145 (call_hook): Remove.
34146 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
34147 member. Assume drive has partitions.
34148 (grub_util_biosdisk_open): Access device names via `.device' struct
34149 member.
34150 (open_device): Likewise.
34151 (find_drive): Likewise.
34152 (read_device_map): Adjust map[] usage to match the new struct
34153 definition. Don't check for duplicates (still possible, but not cheap
34154 anymore).
34155 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
34156 (make_device_name): Remove assumption of BIOS-like drive names.
34157
22f16596 341582008-05-30 Pavel Roskin <proski@gnu.org>
34159
34160 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
34161 compiling execute.c doesn't need grub_script.tab.h anymore.
34162 (normal/command.c_DEPENDENCIES): Likewise.
34163 (normal/function.c_DEPENDENCIES): Likewise.
34164 * conf/i386-ieee1275.rmk: Likewise.
34165 * conf/i386-linuxbios.rmk: Likewise.
34166 * conf/i386-pc.rmk: Likewise.
34167 * conf/powerpc-ieee1275.rmk: Likewise.
34168 * conf/sparc64-ieee1275.rmk: Likewise.
34169
528ad8f2 341702008-05-29 Pavel Roskin <proski@gnu.org>
34171
d1dff95d 34172 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
34173 when scanning metadata for volume group name.
34174
528ad8f2 34175 * include/grub/script.h: Don't include grub_script.tab.h. It's
34176 a generated file, which may only be included from the files with
34177 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
34178 use union YYSTYPE, as the later allows forward declaration.
34179 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
34180
47248e08 341812008-05-29 Robert Millan <rmh@aybabtu.com>
34182
34183 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
34184 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
34185 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
34186 (grub_console_checkkey): Add grub_dprintf() call to report unknown
34187 scan codes.
34188
ee632529 341892008-05-29 Robert Millan <rmh@aybabtu.com>
34190
34191 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
34192 control key combinations.
34193
eee96e08 341942008-05-29 Robert Millan <rmh@aybabtu.com>
34195
34196 * util/powerpc/ieee1275/grub-install.in: Move from here ...
34197 * util/ieee1275/grub-install.in: ... to here.
34198 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
34199 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
34200 (grub_install_SOURCES): Likewise.
34201
da9a6a94 342022008-05-29 Robert Millan <rmh@aybabtu.com>
34203
34204 * fs/affs.c: Update copyright year.
34205 * fs/ext2.c: Likewise.
34206 * fs/fshelp.c: Likewise.
34207 * fs/hfsplus.c: Likewise.
34208 * fs/ntfs.c: Likewise.
34209 * fs/xfs.c: Likewise.
34210 * include/grub/fshelp.h: Likewise.
34211 * util/grub-mkdevicemap.c: Likewise.
34212
12e65f3a 342132008-05-28 Robert Millan <rmh@aybabtu.com>
34214
34215 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
34216 might need to be fatfs to support some firmware implementations
34217 (e.g. OFW or EFI).
34218
23023641 342192008-05-28 Robert Millan <rmh@aybabtu.com>
34220
34221 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
34222 devices.
34223 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34224 (make_device_map): Likewise.
34225
887d2619 342262008-05-20 Bean <bean123ch@gmail.com>
34227
34228 * fs/fshelp.c (grub_fshelp_map_block): New function.
34229 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
34230 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
34231
34232 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
34233 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
34234 (grub_fshelp_journal): New structure.
34235 (grub_fshelp_map_block): New function prototype.
34236 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
34237 (grub_fshelp_map_block): Likewise.
34238
34239 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
34240 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
34241 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
34242 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
34243 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
34244 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
34245 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
34246 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
34247 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
34248 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
34249 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
34250 (grub_ext2_sblock): New members for journal support.
34251 (grub_ext3_journal_header): New structure.
34252 (grub_ext3_journal_revoke_header): Likewise.
34253 (grub_ext3_journal_block_tag): Likewise.
34254 (grub_ext3_journal_sblock): Likewise.
34255 (grub_fshelp_node): New members logfile and journal.
34256 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
34257 grub_fshelp_map_block to get real block number.
34258 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
34259 number.
34260 (grub_ext2_read_inode): Likewise.
34261 (grub_ext3_get_journal): New function.
34262 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
34263 (grub_ext2_close): Release memory used by journal.
34264
34265 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
34266 (REISERFS_MAGIC_DESC_BLOCK): New macro.
34267 (grub_reiserfs_transaction_header): Renamed to
34268 grub_reiserfs_description_block, replace field data with real_blocks.
34269 (grub_reiserfs_commit_block): New structure.
34270 (grub_reiserfs_data): New member journal.
34271 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
34272 number.
34273 (grub_reiserfs_read_symlink): Likewise.
34274 (grub_reiserfs_iterate_dir): Likewise.
34275 (grub_reiserfs_open): Likewise.
34276 (grub_reiserfs_read): Likewise.
34277 (grub_reiserfs_get_journal): New function.
34278 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
34279 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
34280 using grub_reiserfs_get_journal.
34281 (grub_reiserfs_close): Release memory used by journal.
34282
34283 * fs/affs.c (grub_affs_read_block): Change block type to
34284 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
34285
34286 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
34287
34288 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
34289
34290 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
34291
34292 * fs/udf.c (grub_udf_read_block): Change block type to
34293 grub_disk_addr_t. Use type cast to avoid warning.
34294
34295 * fs/xfs.c (grub_xfs_read_block): Likewise.
34296
b7c6bed5 342972008-05-16 Christian Franke <franke@computer.org>
34298
34299 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
34300 to ensure that break with ESC will always work.
34301 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
34302 Remove ESC from keyboard queue.
34303
eedf167f 343042008-05-16 Christian Franke <franke@computer.org>
34305
34306 * util/biosdisk.c: [__CYGWIN__] Add includes.
34307 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
34308 (get_os_disk): Move variable declarations to OS specific
34309 parts to avoid warning.
34310 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
34311 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
34312 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
34313 Cygwin.
34314 * util/getroot.c: [__CYGWIN__] Add includes.
34315 (strip_extra_slashes): Fix "/" case.
34316 [__CYGWIN__] (get_win32_path): New function.
34317 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
34318 [__CYGWIN__] (find_root_device): Disable.
34319 [__CYGWIN__] (get_bootsec_serial): New function.
34320 [__CYGWIN__] (find_cygwin_root_device): Likewise.
34321 [__linux__] (grub_guess_root_device): Add early returns to simplify
34322 structure.
34323 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
34324 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
34325 check for Linux only.
34326
a079699e 343272008-05-15 Bean <bean123ch@gmail.com>
34328
34329 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
34330 keyboard hang problem in apple's intel mac.
34331
1cf4059a 343322008-05-09 Robert Millan <rmh@aybabtu.com>
34333
34334 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
34335 devices.
34336 * util/grub-mkdevicemap.c (get_virtio_disk_name)
34337 (make_device_map): Likewise.
34338 Reported by Aurelien Jarno <aurel32@debian.org>
34339
ed759390 343402008-05-07 Ian Campbell <ijc@hellion.org.uk>
34341
34342 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
34343 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
34344 (make_device_map): Output entries for xvd type disks.
34345
b56c4eaa 343462008-05-07 Robert Millan <rmh@aybabtu.com>
34347
34348 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
34349 devices.
34350 * util/grub-mkdevicemap.c (get_cciss_disk_name)
34351 (make_device_map): Likewise.
34352 Reported by Roland Dreier <rdreier@cisco.com>
34353
7f8866ed 343542008-05-07 Robert Millan <rmh@aybabtu.com>
34355
34356 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
34357 grub_strstr() call. Correct a few mistakes in failure path handling.
34358
b0346e0f 343592008-05-06 Robert Millan <rmh@aybabtu.com>
34360
34361 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34362 Do not print a trailing slash (therefore, the root directory is an
34363 empty string).
34364 (convert_system_path_to_grub_path): Do not remove trailing slash
34365 from make_system_path_relative_to_its_root() output.
34366
34367 * util/i386/pc/grub-install.in: Add trailing slash to output from
34368 make_system_path_relative_to_its_root().
34369
6cf12cbd 343702008-05-06 Robert Millan <rmh@aybabtu.com>
34371
34372 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
34373 ensures that output lines aren't intermangled with those sent to
34374 stderr (via grub_util_info()).
34375 * util/grub-probe.c (grub_refresh): Likewise.
34376 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
34377
0fbb3117 343782008-05-05 Christian Franke <franke@computer.org>
34379
34380 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
34381 Add Cygwin device names.
34382 (get_ide_disk_name) [__CYGWIN__]: Likewise.
34383 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
34384 (check_device): Return error instead of success on empty name.
34385 (make_device_map): Move label inside linux specific code to
34386 prevent compiler warning.
34387
8124cdb7 343882008-04-30 Robert Millan <rmh@aybabtu.com>
34389
34390 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
34391 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
34392 first boot option.
34393 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
34394
094c01d0 343952008-04-29 Robert Millan <rmh@aybabtu.com>
34396
34397 * docs/grub.cfg: New file (example GRUB configuration).
34398
f4b1fc02 343992008-04-26 Robert Millan <rmh@aybabtu.com>
34400
329ce2a5 34401 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
34402 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
34403 and `disk/ieee1275/nand.c'.
f4b1fc02 34404
25f16ec1 344052008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 34406
25f16ec1 34407 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
34408 i386-linuxbios.
34409
34410 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
34411 change the buffer size to 4096 for cdrom device.
34412
34413 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
34414 and nand.mod.
34415 (_linux_mod_SOURCES): New variable.
34416 (_linux_mod_CFLAGS): Likewise.
34417 (_linux_mod_LDFLAGS): Likewise.
34418 (linux_mod_SOURCES): Likewise.
34419 (linux_mod_CFLAGS): Likewise.
34420 (linux_mod_LDFLAGS): Likewise.
34421 (nand_mod_SOURCES): Likewise.
34422 (nand_mod_CFLAGS): Likewise.
34423 (nand_mod_LDFLAGS): Likewise.
34424
34425 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
34426 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
34427 type property. (nand device in olpc don't have this property)
34428
34429 * include/grub/disk.h (grub_disk_dev_id): New macro
34430 GRUB_DISK_DEVICE_NAND_ID.
34431
34432 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
34433 function prototype.
34434 (grub_rescue_cmd_initrd): Likewise.
34435
34436 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
34437 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
34438 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 34439
25f16ec1 34440 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
34441 GRUB_MACHINE_IEEE1275 is defined.
34442
34443 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
34444 Use NESTED_FUNC_ATTR attribute on the hook parameter.
34445
34446 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
34447 on nested function heap_init.
34448 (grub_upper_mem): New variable for i386-ieee1275.
34449 (grub_get_extended_memory): New function for i386-ieee1275.
34450 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
34451
34452 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
34453 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
34454 property.
f19dbdb7 34455
25f16ec1 34456 * loader/i386/ieee1275/linux.c: New file.
34457
34458 * loader/i386/ieee1275/linux_normal.c: New file.
34459
34460 * disk/ieee1275/nand.c: New file.
34461
e89d61e9 344622008-04-18 Thomas Schwinge <tschwinge@gnu.org>
34463
34464 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
34465 value.
34466 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
34467
602566f6 344682008-04-18 Robert Millan <rmh@aybabtu.com>
34469
34470 Restructures early code path on ieee1275 to unify grub_main() as
34471 the first C function that is executed in every platform.
34472
34473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
34474 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
34475 cmain().
34476 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
34477 * kern/ieee1275/cmain.c (cmain): Rename to ...
34478 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
34479 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
34480 at the beginning.
34481
57490c2b 344822008-04-18 Robert Millan <rmh@aybabtu.com>
34483
34484 * util/update-grub.in: Fix syntax error when setting
34485 `GRUB_PRELOAD_MODULES'.
34486 Reported by Stephane Chazelas <stephane@artesyncp.com>
34487
1977517d 344882008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
34489
34490 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
34491 section into account, newer toolchains generate unique build ids
34492 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 34493 we want build ids to be preserved
1977517d 34494 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
34495 far from other sections don't cause the raw binary images grow
34496 size
34497
bfb1f1a2 344982008-04-15 Robert Millan <rmh@aybabtu.com>
34499
34500 * disk/lvm.c: Update copyright year.
34501 * kern/misc.c: Likewise.
34502
01979850 345032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34504
34505 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 34506 there is no memory left for physical volume name.
01979850 34507
0a1150e2 345082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
34509
34510 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
34511 volume name mapping to support bigger than 9 character names properly.
34512
82ead3fe 345132008-04-13 Robert Millan <rmh@aybabtu.com>
34514
34515 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
34516 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
34517
e54a72f5 345182008-04-13 Christian Franke <franke@computer.org>
34519
34520 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
34521 to create a floppy emulation boot CD when non emulation mode
34522 does not work.
34523 Enable Joliet CD filesystem extension.
34524
9fe86034 345252008-04-13 Robert Millan <rmh@aybabtu.com>
34526
34527 * kern/misc.c (grub_strncat): Fix off-by-one error.
34528 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
34529
34530 * kern/env.c (grub_env_context_close): Clear current context, not
34531 previous one.
34532 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
34533
34534 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
34535
7ceeee39 345362008-04-13 Robert Millan <rmh@aybabtu.com>
34537
34538 Improve robustness when handling LVM.
34539
34540 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 34541 (and leave `*p' unmodified).
7ceeee39 34542 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
34543 through it.
34544 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
34545 iterating through it.
34546 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
34547 through it.
fe6b695a 34548 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 34549 when due) on each grub_lvm_getvalue() or grub_strstr() call.
34550 Don't assume `vg->pvs != NULL' when iterating through it.
34551
58cd3d85 345522008-04-13 Robert Millan <rmh@aybabtu.com>
34553
34554 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
34555 * genmk.rb (partmap): New variable.
34556 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
34557 (#{partmap}): New target rule.
34558 * genpartmaplist.sh: New file.
34559 * Makefile.in (pkglib_DATA): Add partmap.lst.
34560 (partmap.lst): New target rule.
34561 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
34562 modules (including all partition maps), instead of preloading them.
34563
78b51059 345642007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
34565
34566 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
34567 `linux-boot-prober' (if installed) to detect other operating
34568 systems which are installed on the computer and add them to
34569 the boot menu.
34570 * conf/common.rmk: Build and install 30_os-prober.
34571
a91627b4 345722008-04-12 Robert Millan <rmh@aybabtu.com>
34573
34574 * kern/powerpc/ieee1275/init.c: Move from here ...
34575 * kern/ieee1275/init.c: ... to here. Update all users.
34576
34577 * kern/powerpc/ieee1275/cmain.c: Move from here ...
34578 * kern/ieee1275/cmain.c: ... to here. Update all users.
34579
34580 * kern/powerpc/ieee1275/openfw.c: Move from here ...
34581 * kern/ieee1275/openfw.c: ... to here. Update all users.
34582
34583 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
34584 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
34585
322562ea 345862008-04-10 Pavel Roskin <proski@gnu.org>
34587
34588 * configure.ac: Always use "_cv_" in cache variables for
34589 compatibility with Autoconf 2.62.
34590
a02a73c5 345912008-04-07 Robert Millan <rmh@aybabtu.com>
34592
34593 Revert grub/machine/init.h addition by Pavel (since it breaks on
34594 i386-ieee1275 and others):
34595 * util/i386/pc/misc.c: Remove grub/machine/init.h.
34596 * util/powerpc/ieee1275/misc.c: Likewise.
34597
25c024b1 345982008-04-07 Robert Millan <rmh@aybabtu.com>
34599
34600 * util/grub-probe.c (probe): Improve error message.
34601
3cbd2f98 346022008-04-07 Robert Millan <rmh@aybabtu.com>
34603
34604 * util/biosdisk.c (read_device_map): Skip devices that don't exist
34605 (this prevents the presence of a bogus entry from ruining the whole
34606 thing).
34607
87a297bf 346082008-04-06 Pavel Roskin <proski@gnu.org>
34609
36747a62 34610 * util/biosdisk.c: Include grub/util/biosdisk.h.
34611 * util/grub-fstest.c (execute_command): Make static.
34612 * util/grub-mkdevicemap.c (check_device): Likewise.
34613 * util/i386/pc/misc.c: Include grub/machine/init.h.
34614 * util/powerpc/ieee1275/misc.c: Likewise.
34615 * util/lvm.c: Include grub/util/lvm.h.
34616 * util/misc.c: Include grub/kernel.h, grub/misc.h and
34617 grub/cache.h.
34618 * util/raid.c: Include grub/util/raid.h.
34619 (grub_util_getdiskname): Make static.
34620
87a297bf 34621 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
34622 grub_hostfs_fini(), as they are called from grub_init_all() and
34623 grub_fini_all() respectively. This fixes an infinite loop in
34624 grub-fstest due to double registration of hostfs.
34625 Reported by Christian Franke <Christian.Franke@t-online.de>
34626
f6ce7629 346272008-04-05 Pavel Roskin <proski@gnu.org>
34628
34629 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
34630 all 8 functions. Otherwise, probe function 0 only.
34631
070e49e4 346322008-04-04 Pavel Roskin <proski@gnu.org>
34633
8b088a4c 34634 * commands/lspci.c (grub_lspci_iter): Print the bus number
34635 correctly.
34636
4f657021 34637 * commands/lspci.c (grub_pci_classes): Fix typos.
34638 (grub_lspci_iter): Don't print func twice. Print vendor ID
34639 before device ID, as it's normally done.
34640
070e49e4 34641 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34642 Fix signedness warnings.
34643 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34644 Likewise.
34645 * util/ieee1275/get_disk_name.c: Include config.h so that
34646 _GNU_SOURCE is defined and getline() is declared. Mark an
34647 unused argument as such. Fix a signedness warning.
34648
ba7328dc 346492008-04-02 Pavel Roskin <proski@gnu.org>
34650
26887f22 34651 * genkernsyms.sh.in: Use more robust assignments for CC and
34652 srcdir. Quote srcdir.
34653 * gensymlist.sh.in: Likewise. Assert at the compile time that
34654 the symbol table is not empty.
34655
ba7328dc 34656 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34657 * fs/cpio.c (grub_cpio_read): Likewise.
34658
0f582c6b 346592008-04-01 Pavel Roskin <proski@gnu.org>
34660
4b6e1995 34661 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34662 * disk/host.c (grub_host_open): Likewise.
34663 * disk/loopback.c (grub_loopback_open): Likewise.
34664 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34665 disk->id as in disk/host.c, not a multi-character constant.
34666
828a2768 34667 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34668 later is obsolete, potentially dangerous and sets a bad example.
34669 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34670 * util/misc.c (grub_util_get_image_size): Likewise.
34671
2bb4fb47 34672 * disk/loopback.c (options): Improve help for "--partitions".
34673
0f582c6b 34674 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34675 options to align them with the short options, e.g. "echo -e".
34676
a33224e0 346772008-03-31 Bean <bean123ch@gmail.com>
34678
34679 * video/reader/png.c (grub_png_data): New member is_16bit and
34680 image_data.
34681 (grub_png_decode_image_header): Detect 16 bit png image.
34682 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34683 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34684 (grub_video_reader_png): Release memory occupied by image_data.
34685
34686 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34687 4096 bytes.
34688 (grub_nfs_mount): Skip the test for sector per cluster.
34689
34690 * include/grub/ntfs.h (MAX_SPC): Removed.
34691
86cb4f54 346922008-03-31 Bean <bean123ch@gmail.com>
34693
34694 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34695 (grub_probe_SOURCES): Add fs/afs.c.
34696 (grub_fstest_SOURCES): Likewise.
34697 (afs_mod_SOURCES): New variable.
34698 (afs_mod_CFLAGS): Likewise.
34699 (afs_mod_LDFLAGS): Likewise.
34700
34701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34702 (grub_emu_SOURCES): Likewise.
34703
34704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34705
34706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34707
34708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34709
34710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34711
34712 * fs/afs.c: New file.
34713
17c74c21 347142008-03-30 Pavel Roskin <proski@gnu.org>
34715
4cb68e89 34716 * disk/host.c: Include grub/misc.h to fix a warning.
34717 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34718 warnings about implicit declarations.
34719
8790bb04 34720 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34721 variable.
34722 * include/grub/i386/loader.h: Change declaration of
34723 grub_linux_boot() to match what grub_loader_set() expects.
34724 * util/getroot.c (grub_guess_root_device): Return const char* to
34725 fix a warning.
34726 * util/grub-probe.c (probe): Fix a warning about uninitialized
34727 abstraction_name variable.
34728 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34729 second argument as unused to fix a warning.
34730
9a3f3296 34731 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34732 missing grub_error() call.
34733
0ecef90d 34734 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34735 2.60 and newer uses it to define datadir.
34736
0bf6d401 34737 * commands/sleep.c: Fix warning about implicit declaration.
34738 * disk/memdisk.c: Likewise.
34739 * loader/aout.c: Likewise.
34740 * loader/i386/bsd_normal.c: Likewise.
34741 * util/grub-probe.c: Likewise.
34742
7cdacf97 34743 * commands/i386/cpuid.c (has_longmode): Make static.
34744 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34745 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34746
17c74c21 34747 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34748 GDT. This is more robust, as %ds can change.
34749 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34750 calling real_to_prot().
34751 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34752
80a3e68b 347532008-03-28 Pavel Roskin <proski@gnu.org>
34754
34755 * kern/i386/pc/startup.S: Assert that uncompressed functions
34756 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34757 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34758 code, as they push parts of the code (error handlers) beyond
34759 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34760 code as correctness and size.
34761
77bcd272 347622008-03-28 Pavel Roskin <proski@gnu.org>
34763
34764 * kern/i386/pc/startup.S
34765 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34766 data block address to the real mode, keep offset minimal. This
34767 works around a bug in AWARD BIOS on old Athlon systems, which
34768 makes CD detection hang.
34769
c5dfd43b 347702008-03-26 Pavel Roskin <proski@gnu.org>
34771
34772 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34773 const.
34774 * include/grub/normal.h: Add grub_parse_color_name_pair()
34775 declaration.
34776
bf962df2 347772008-03-24 Bean <bean123ch@gmail.com>
34778
34779 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34780 (cd_count): Removed.
34781 (cd_drive): New variable.
34782 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34783 (grub_biosdisk_call_hook): Likewise.
34784 (grub_biosdisk_iterate): Change cdrom detection method.
34785 (grub_biosdisk_open): Replace cd_start with cd_drive.
34786 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34787 detect cdrom device.
34788
34789 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34790 Removed.
34791 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34792 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34793 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34794 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34795 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34796 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34797 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34798 (grub_biosdisk_cdrp): New structure.
34799 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34800
34801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34802
34803 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34804 device.
34805
34806 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34807 New function.
34808
68e7fc7a 348092008-03-20 Robert Millan <rmh@aybabtu.com>
34810
34811 Remove 2 TiB limit in ata.mod.
34812 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34813 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34814 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34815 grub_uint64_t instead of grub_uint32_t.
34816
38ad2cf5 348172008-03-05 Bean <bean123ch@gmail.com>
34818
34819 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34820 (grub_multiboot): Set boot device.
34821
34822 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34823
2b89344e 348242008-03-02 Bean <bean123ch@gmail.com>
34825
34826 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34827 symlink_buffer.
34828
87a95d1f 348292008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34830
34831 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34832 texinfo.tex.
34833
34834 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34835 modified.
34836
34837 * docs/fdl.texi: New file.
f19dbdb7 34838
87a95d1f 34839 * docs/mdate-sh: New file. Copied from gnulib.
34840 * docs/texinfo.tex: Likewise.
34841
34842 * config.guess: Updated from gnulib.
34843 * install-sh: Likewise.
34844
7dc15d8e 348452008-02-28 Robert Millan <rmh@aybabtu.com>
34846
34847 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34848 (aout_mod_SOURCES): New variable.
34849 (aout_mod_CFLAGS): Likewise.
34850 (aout_mod_LDFLAGS): Likewise.
34851
34852 * conf/i386-ieee1275.rmk: Likewise.
34853
b00ab696 348542008-02-28 Robert Millan <rmh@aybabtu.com>
34855
34856 * util/update-grub.in: Reorganise terminal validity check. Accept
34857 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34858 Based on suggestion by Franklin PIAT.
34859
79ca2d78 348602008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34861
34862 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34863 function.
34864 * util/getroot.c (grub_util_check_block_device): New function that
34865 returns the given argument if it is a block device and returns NULL else.
34866 * util/grub-probe.c (argument_is_device): New variable.
34867 (probe): Promote device_name from a variable to an argument. Receive
34868 device_name from grub_util_check_block_device() if path is NULL and from
34869 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34870 (options): Introduce new parameter '-d, --device'.
79ca2d78 34871 (main): Add description of the new parameter to the help screen.
34872 Rename path variable to argument. Set argument_is_device if the '-d'
34873 option is given. Pass argument to probe() depending on
34874 argument_is_device.
34875
0d16e571 348762008-02-24 Bean <bean123ch@gmail.com>
34877
34878 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34879 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34880 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34881 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34882 (GRUB_ISO9660_VOLDESC_END): Likewise.
34883 (grub_iso9660_primary_voldesc): New member escape.
34884 (grub_iso9660_data): New member joliet.
34885 (grub_iso9660_convert_string): New function.
34886 (grub_iso9660_mount): Detect joliet extension.
34887 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34888 (grub_iso9660_iso9660_label): Likewise.
34889
34890 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34891 (grub_setup_SOURCES): Add fs/udf.c.
34892 (grub_fstest_SOURCES): Likewise.
34893 (udf_mod_SOURCES): New variable.
34894 (udf_mod_CFLAGS): Likewise.
34895 (udf_mod_LDFLAGS): Likewise.
34896
34897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34898 (grub_emu_SOURCES): Likewise.
34899
34900 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34901
34902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34903
34904 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34905
34906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34907
34908 * fs/udf.c: New file.
34909
8a594a17 349102008-02-24 Robert Millan <rmh@aybabtu.com>
34911
34912 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34913 (normal/lexer.c_DEPENDENCIES): New variables.
34914 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34915 (normal/lexer.c_DEPENDENCIES): Likewise.
34916 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34917 (normal/lexer.c_DEPENDENCIES): Likewise.
34918 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34919 (normal/lexer.c_DEPENDENCIES): Likewise.
34920 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34921 (normal/lexer.c_DEPENDENCIES): Likewise.
34922 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34923 (normal/lexer.c_DEPENDENCIES): Likewise.
34924
2dc33c03 349252008-02-23 Robert Millan <rmh@aybabtu.com>
34926
34927 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34928 since they were intended to be in hex. This didn't break previously
34929 because of a bug in gpt_partition_map_iterate() (see below).
34930
34931 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34932 when checking the validity of GPT header.
34933 Remove `partno', since it always provides the same information as `i'.
34934
f6f4cfb0 349352008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34936
34937 * include/grub/efi/time.h: Fix a wrong comment.
34938
79ff665f 349392008-02-19 Pavel Roskin <proski@gnu.org>
34940
34941 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34942 message.
34943
d38e24c2 349442008-02-19 Bean <bean123ch@gmail.com>
34945
34946 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34947 (aout_mod_SOURCES): New variable.
34948 (aout_mod_CFLAGS): Likewise.
34949 (aout_mod_LDFLAGS): Likewise.
34950 (_bsd_mod_SOURCES): New variable.
34951 (_bsd_mod_CFLAGS): Likewise.
34952 (_bsd_mod_LDFLAGS): Likewise.
34953 (bsd_mod_SOURCES): New variable.
34954 (bsd_mod_CFLAGS): Likewise.
34955 (bsd_mod_LDFLAGS): Likewise.
34956
34957 * include/grub/aout.h: New file.
34958
34959 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34960
34961 * include/grub/i386/bsd.h: New file.
34962
34963 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34964 to make it public.
34965
34966 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34967 function is called, so that it's possible to change it inside the hook.
34968 (grub_elf64_load): Likewise.
34969 (grub_elf_file): Don't close the file if elf header is not found.
34970 (grub_elf_close): Close the file if grub_elf_file fails (The new
34971 grub_elf_file won't close it).
34972 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34973 (grub_elf64_size): Likewise.
34974
34975 * kern/i386/loader.S (grub_unix_real_boot): New function.
34976
34977 * loader/aout.c: New file.
34978
34979 * loader/i386/bsd.c: New file.
34980
34981 * loader/i386/bsd_normal.c: New file.
34982
34983 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34984
34985 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34986 can test other formats.
d38e24c2 34987
b93bdb0f 349882008-02-19 Robert Millan <rmh@aybabtu.com>
34989
34990 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34991 (grub_gpt_partition_type_empty): Redefine with macro from
34992 `<grub/gpt_partition.h>'.
34993 (gpt_partition_map_iterate): Adjust partition type comparison.
34994
34995 Export `entry' as partmap-specific `part.data' struct.
34996 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34997
34998 * include/grub/gpt_partition.h (grub_gpt_header)
34999 (grub_gpt_partentry): ... to here (new file).
35000
35001 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35002
35003 (grub_gpt_partition_type_bios_boot): New const variable, defined
35004 with macro from `<grub/gpt_partition.h>'.
35005
35006 (setup): Replace `first_start' with `embed_region', which keeps
35007 track of the embed region (and is partmap-agnostic).
35008
35009 Replace find_first_partition_start() with find_usable_region(),
35010 which finds a usable region for embedding using partmap-specific
35011 knowledge (supports PC/MSDOS and GPT).
35012
35013 Fix all assumptions that the embed region start at sector 1, using
35014 `embed_region.start' from now on. Similarly, use `embed_region.end'
35015 rather than `first_start' to calculate available size.
35016
35017 In grub_util_info() message, replace "into after the MBR" with an
35018 indication of the specific sector our embed region starts at.
35019
66cb40f6 350202008-02-19 Robert Millan <rmh@aybabtu.com>
35021
35022 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35023 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35024 `commands/reboot.c'.
35025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35026 (halt_mod_SOURCES): Likewise.
35027 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35028 (halt_mod_SOURCES): Likewise.
35029
b7202015 350302008-02-17 Christian Franke <franke@computer.org>
35031
35032 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35033
32b0fc49 350342008-02-17 Robert Millan <rmh@aybabtu.com>
35035
35036 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35037 set `first_start' to 0 for non-PC/MSDOS partition maps.
35038
aca63502 350392008-02-16 Robert Millan <rmh@aybabtu.com>
35040
35041 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35042 do not assume partition map is PC/MSDOS before performing checks that
35043 are specific to that layout.
35044
0de8be86 350452008-02-13 Robert Millan <rmh@aybabtu.com>
35046
35047 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35048 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35049 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35050
c3db8364 350512008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35052
35053 * configure.ac: Only a cosmetic change on the handling of
35054 -fno-stack-protector.
35055
f714229e 350562008-02-12 Alexandre Boeglin <alex@boeglin.org>
35057
c3db8364 35058 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35059 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35060 reboot.c.
f714229e 35061 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35062 (halt_mod_SOURCES): New variable.
35063 (halt_mod_CFLAGS): Likewise.
35064 (halt_mod_LDFLAGS): Likewise.
35065 (reboot_mod_SOURCES): Likewise.
35066 (reboot_mod_CFLAGS): Likewise.
35067 (reboot_mod_LDFLAGS): Likewise.
35068
c3db8364 35069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35070 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35071 reboot.c.
f714229e 35072 (halt_mod_SOURCES): Likewise.
35073 (reboot_mod_SOURCES): Likewise.
35074
c3db8364 35075 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35076 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35077 (reboot_mod_SOURCES): Likewise.
35078
35079 * commands/i386/pc/reboot.c: merge this file ...
35080
35081 * commands/ieee1275/reboot.c: ... and this file ...
35082
35083 * commands/reboot.c: ... to this file.
c3db8364 35084 Add some precompiler directive to include the correct header for
35085 each machine.
f714229e 35086
35087 * commands/ieee1275/halt.c: move this file ...
35088
35089 * commands/halt.c: ... to here.
c3db8364 35090 Add some precompiler directive to include the correct header for
35091 each machine.
f714229e 35092
35093 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35094 (grub_halt): Likewise.
35095
35096 * kern/efi/efi.c (grub_reboot): New function.
35097 (grub_halt): Likewise.
35098
c74493e0 350992008-02-12 Robert Millan <rmh@aybabtu.com>
35100
35101 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35102 /dev (like it is done for /dev/mapper). This doesn't provide support
35103 for EVMS, but at least it is now easy to identify the problem when it
35104 arises.
35105
d0db4b04 351062008-02-11 Robert Millan <rmh@aybabtu.com>
35107
35108 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35109 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35110 comparing it with -1, not 0.
35111
bf748642 351122008-02-10 Robert Millan <rmh@aybabtu.com>
35113
35114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35115 `disk/lvm.c'.
35116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35117 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35118
35119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35120 `disk/lvm.c' to the end of the list.
35121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35123
b5db202a 351242008-02-10 Robert Millan <rmh@aybabtu.com>
35125
35126 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35127 grub_print_error() instead. This will let user know why we're entering
35128 rescue mode.
35129 Based on suggestions from Sam Morris.
35130
83abee31 351312008-02-10 Alexandre Boeglin <alex@boeglin.org>
35132
35133 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
35134 on remaining N args, instead of "--" arg N times.
35135
78d5a08b 351362008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
35137
35138 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
35139 (fill_with_default_glyph): Changed to use unknown_glyph for fill
35140 pattern for unknown glyphs.
35141
68807e5f 351422008-02-09 Robert Millan <rmh@aybabtu.com>
35143
35144 * configure.ac: Probe for `help2man'.
35145 * Makefile.in (builddir): New variable.
35146 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
35147 or otherwise add a few flags/options to it.
35148 (install-local): For every executable utility or script that is
35149 installed, invoke $(HELP2MAN) to install a manpage based on --help
35150 output.
35151
35152 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
35153 that it doesn't prevent --help from working in build tree.
35154
35155 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
35156 with `bug-grub@gnu.org'.
35157 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
35158 * util/update-grub.in (usage): New function.
35159 Implement proper argument check, with support for --help and --version
35160 (as well as existing -y).
35161
351622008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 35163
35164 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
35165 avoid overwriting previous output.
35166 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
35167
c1962162 351682008-02-09 Robert Millan <rmh@aybabtu.com>
35169
35170 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
35171 drawing the menu.
35172
3dac2e3f 351732008-02-09 Robert Millan <rmh@aybabtu.com>
35174
35175 * commands/sleep.c: New file.
35176 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
35177 (sleep_mod_SOURCES): New variable.
35178 (sleep_mod_CFLAGS): Likewise.
35179 (sleep_mod_LDFLAGS): Likewise.
35180
7a634e08 351812008-02-09 Robert Millan <rmh@aybabtu.com>
35182
35183 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
35184 situations in which we can deduce the RAID size and the superblock
35185 doesn't match it.
35186
b92f0c18 351872008-02-09 Robert Millan <rmh@aybabtu.com>
35188
35189 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
35190 and return a grub_diskmemberlist_t composed of LVM physical volumes.
35191 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
35192
35193 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
35194 and return a grub_diskmemberlist_t composed of physical array members.
35195 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
35196
35197 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
35198 prototype.
35199 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
35200 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
35201 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
35202
35203 * util/grub-probe.c (probe): Move partmap probing code from here ...
35204 (probe_partmap): ... to here.
35205 (probe): Use probe_partmap() once for the disk we're probing, and
35206 additionally, when such disk contains a memberlist() struct member,
35207 once for each disk that is contained in the structure returned by
35208 memberlist().
35209
91a4bf68 352102008-02-09 Robert Millan <rmh@aybabtu.com>
35211
35212 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
35213 environment variable to 'all' in order to obtain debug output from
35214 non-util/ code.
35215 * util/i386/pc/grub-setup.c (main): Likewise.
35216
a96f9caa 352172008-02-08 Robert Millan <rmh@aybabtu.com>
35218
35219 * disk/raid.c (grub_raid_scan_device): Check for
35220 `array->device[sb.this_disk.number]' rather than for
35221 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 35222 guaranteed to be accessible.
a96f9caa 35223
b37a9222 352242008-02-08 Robert Millan <rmh@aybabtu.com>
35225
35226 * disk/raid.c: Update copyright.
35227 * fs/cpio.c: Likewise.
35228 * include/grub/raid.h: Likewise.
35229 * loader/i386/pc/multiboot.c: Likewise.
35230 * util/hostfs.c: Likewise.
35231
5626aee1 352322008-02-08 Robert Millan <rmh@aybabtu.com>
35233
35234 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
35235 to a grub_disk_t array.
35236 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
35237 `device[x]'.
35238 (grub_raid_scan_device): Replace `device[x].name' accesses with
35239 `device[x]->name'. Simplify initialization of `array->device[x]'.
35240
554f0187 352412008-02-08 Robert Millan <rmh@aybabtu.com>
35242
35243 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
35244 grub_dprintf() calls.
35245 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
35246 error message.
35247
1ec8425d 352482008-02-07 Christian Franke <franke@computer.org>
35249
35250 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
35251 instead of fseek and ftell to support large files.
35252 (grub_hostfs_read): Likewise.
35253
f2156fda 352542008-02-07 Robert Millan <rmh@aybabtu.com>
35255
35256 Patch from Jeroen Dekkers.
35257 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 35258 failure, since successfully reading all array members might not be
f2156fda 35259 required.
35260
9216e0e7 352612008-02-06 Robert Millan <rmh@aybabtu.com>
35262
35263 * util/grub-probe.c (probe): Simplify partmap probing (with the
35264 assumption that the first word up to the underscore equals to
35265 the module name).
35266
b0dfd29a 352672008-02-06 Christian Franke <franke@computer.org>
35268
35269 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
35270 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
35271 last block of a cpio or tar stream.
35272 Check for "TRAILER!!!" instead of any empty data
35273 block to detect last block of a cpio stream.
35274 (grub_cpio_dir): Fix constness of variable np.
35275 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
35276 cpio or tar trailer is detected. This fixes a crash
35277 on open of a non existing file.
35278
c32865bf 352792008-02-05 Bean <bean123ch@gmail.com>
35280
35281 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
35282 address of entry.
35283 (grub_multiboot_load_elf64): Likewise.
35284 (grub_multiboot): Initialize mbi structure.
35285
35286 * util/grub-fstest.c: Don't include unused header file script.h.
35287
fe6b695a 35288 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 35289 of file.
35290 (grub_fstest_SOURCES): Likewise.
35291
409480b7 352922008-02-05 Robert Millan <rmh@aybabtu.com>
35293
35294 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
35295 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
35296 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
35297 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
35298
35299 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
35300 (translation_table): Replace hardcoded values with macros
35301 provided by `<grub/term.h>'.
35302
35303 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
35304 (keyboard_map): Correct/add a few values, with macros provided
35305 by `<grub/term.h>'.
35306 (keyboard_map_shift): Zero values that don't differ from their
35307 `keyboard_map' equivalents.
35308 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
35309 Discard the second scan code that is always sent by Caps lock.
35310 Only use `keyboard_map_shift' when it provides a non-zero value,
35311 otherwise fallback to `keyboard_map'.
35312
99fadbaa 353132008-02-04 Bean <bean123ch@gmail.com>
35314
35315 * Makefile.in (enable_grub_fstest): New variable.
35316
35317 * conf/common.rmk (grub_fstest_init.lst): New rule.
35318 (grub_fstest_init.h): Likewise.
35319 (grub_fstest_init.c): Likewise.
35320 (util/grub-fstest.c_DEPENDENCIES): New variable.
35321 (grub_fstest_SOURCES): Likewise.
35322
35323 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
35324
35325 * util/grub-fstest.c: New file.
35326
bf567c50 353272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35328
35329 Make grub-setup handle a separate root device.
f19dbdb7 35330
bf567c50 35331 * util/i386/pc/grub-setup.c (setup): Always open the root device,
35332 so that the root device can be compared with the destination
35333 device.
35334 When embedding the core image, if the root and destination devices
35335 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
35336 0xFF.
35337 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 35338
9be6b98b 353392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35340
35341 Add support for having a grub directory in a different drive. This
35342 is still only the data handling part.
f19dbdb7 35343
9be6b98b 35344 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
35345 (codestart): Save %dh in GRUB_ROOT_DRIVE.
35346 (grub_root_drive): New variable.
35347
35348 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
35349 instead of GRUB_BOOT_DRIVE to construct a device name. Set
35350 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
35351 as it was.
35352
35353 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
35354
35355 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
35356 macro.
35357 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
35358
35359 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
35360 is bogus, because PXE booting does not specify any drive
35361 correctly.
35362
35363 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
35364 am not sure if this is really correct.
35365
35366 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
35367 is always identical to the boot drive when booting from a CD.
35368
35369 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
35370 longer.
35371 (root_drive): New variable.
35372 (real_start): Unconditionally set %dh to ROOT_DRIVE.
35373 (setup_sectors): Push %dx right after popping it, because %dh will
35374 be modified later.
35375 (copy_buffer): Restore %dx.
35376
e0ca0677 353772008-02-03 Robert Millan <rmh@aybabtu.com>
35378
35379 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
35380 use `cdboot.img' for cdrom images.
35381
3b3f6629 353822008-02-03 Robert Millan <rmh@aybabtu.com>
35383
35384 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
35385 only setup gfxterm when `font' command has succeeded.
35386
d42b3672 353872008-02-03 Robert Millan <rmh@aybabtu.com>
35388
35389 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
35390 (grub_rescue_cmd_multiboot_loader)
35391 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
35392
fa370ea6 353932008-02-03 Pavel Roskin <proski@gnu.org>
35394
e0c5dacb 35395 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 35396 %edx and %esi from stack only after grub_gate_a20() is called.
35397 grub_gate_a20() clobbers %edx.
35398
f2a76e1d 353992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
35400
35401 * configure.ac (AC_INIT): Bumped to 1.96.
35402
35403 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
35404 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
35405 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
35406 video/readers/png.c.
35407
90fd32d1 354082008-02-03 Bean <bean123ch@gmail.com>
9be665dd 35409
35410 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
35411 (cdboot_img_SOURCES): New variable.
35412 (cdboot_img_ASFLAGS): New variable.
35413 (cdboot_img_LDFLAGS): New variable.
35414
35415 * boot/i386/pc/cdboot.S: New file.
35416
35417 * disk/i386/pc/biosdisk.c (cd_start): New variable.
35418 (cd_count): Likewise.
35419 (grub_biosdisk_get_drive): Add support for cd device.
35420 (grub_biosdisk_call_hook): Likewise.
35421 (grub_biosdisk_iterate): Likewise.
35422 (grub_biosdisk_open): Likewise.
35423 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
35424 (grub_biosdisk_rw): Support reading from cd device.
35425 (GRUB_MOD_INIT): Iterate cd devices.
35426
35427 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
35428 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
35429 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
35430
35431 * kern/i386/pc/init.c (make_install_device): Check for cd device.
35432
4020aa53 354332008-02-02 Robert Millan <rmh@aybabtu.com>
35434
35435 * commands/read.c: New file.
35436 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
35437 (read_mod_SOURCES): New variable.
35438 (read_mod_CFLAGS): Likewise.
35439 (read_mod_LDFLAGS): Likewise.
35440
e03a1132 354412008-02-02 Robert Millan <rmh@aybabtu.com>
35442
35443 * normal/main.c (grub_normal_execute): Check for `menu->size' when
35444 determining whether menu has to be displayed.
35445
58c69220 354462008-02-02 Marco Gerards <marco@gnu.org>
35447
35448 * bus/pci.c: New file.
35449
35450 * include/grub/pci.h: Likewise.
35451
35452 * include/grub/i386/pc/pci.h: Likewise.
35453
35454 * commands/lspci.c: Likewise.
35455
35456 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
35457 `lspci.mod'.
35458 (pci_mod_SOURCES): New variable.
35459 (pci_mod_CFLAGS): Likewise.
35460 (pci_mod_LDFLAGS): Likewise.
35461 (lspci_mod_SOURCES): Likewise.
35462 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 35463 (lspci_mod_LDFLAGS): Likewise.
58c69220 35464
c004e1b4 354652008-02-02 Bean <bean123ch@gmail.com>
35466
35467 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
35468 (grub_ufs_get_file_block): Fix indirect block calculation problem.
35469
35470 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
35471 (grub_xfs_btree_node): New structure.
35472 (grub_xfs_btree_root): New structure.
35473 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
35474 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
35475 (GRUB_XFS_EXTENT_BLOCK): Likewise.
35476 (GRUB_XFS_EXTENT_SIZE): Likewise.
35477 (grub_xfs_read_block): Support btree format type.
35478 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
35479 Use directory block as basic unit.
35480
35481 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
35482
35483 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
35484 __attribute__ ((__regparm__ (1))).
35485
f95562bf 354862008-02-01 Robert Millan <rmh@aybabtu.com>
35487
35488 Correct a mistake in previous commit.
35489
35490 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
35491 top.
35492 (normal/command.c_DEPENDENCIES): New variable.
35493
7d31f41f 354942008-02-01 Robert Millan <rmh@aybabtu.com>
35495
35496 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
35497 top.
35498 (normal/command.c_DEPENDENCIES): New variable.
35499 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
35500 * conf/i386-ieee1275.rmk: Likewise.
35501 * conf/i386-linuxbios.rmk: Likewise.
35502 * conf/i386-pc.rmk: Likewise.
35503 * conf/sparc64-ieee1275.rmk: Likewise.
35504 * conf/powerpc-ieee1275.rmk: Likewise.
35505 (grub_emu_SOURCES): Add `fs/fshelp.c'.
35506
35507 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
35508
60b6be74 355092008-02-01 Robert Millan <rmh@aybabtu.com>
35510
35511 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
35512 call at beginning of function.
35513
078522ab 355142008-01-31 Pavel Roskin <proski@gnu.org>
35515
35516 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 35517 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
35518 (grub_mkrescue_SOURCES): Likewise.
078522ab 35519 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
35520
ccaa8a5f 355212008-01-30 Robert Millan <rmh@aybabtu.com>
35522
35523 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
35524 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
35525 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
35526 (grub_probe_SOURCES): ... to here.
35527
35528 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
35529 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
35530 * conf/i386-ieee1275.rmk: Likewise.
35531 * conf/i386-linuxbios.rmk: Likewise.
35532 * conf/powerpc-ieee1275.rmk: Likewise.
35533
ae5a9cd7 355342008-01-30 Tristan Gingold <gingold@free.fr>
35535
35536 * kern/rescue.c: Silently accept empty lines.
35537
70bc2ef2 355382008-01-29 Bean <bean123ch@gmail.com>
35539
35540 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
35541 (real_code_2): Code cleanup and change comment style.
35542 (move_memory): Avoid using 32-bit address mode.
35543
6a4d50ea 355442008-01-29 Bean <bean123ch@gmail.com>
35545
35546 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
35547 (png_mod_SOURCES): New variable.
35548 (png_mod_CFLAGS): Likewise.
35549 (png_mod_LDFLAGS): Likewise.
35550
35551 * video/readers/png.c: New file.
35552
11cc30ac 355532008-01-28 Robert Millan <rmh@aybabtu.com>
35554
35555 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
35556 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
35557 `ifndef GRUB_MOD_GAP' hack.
35558 * util/elf/grub-mkimage.c (add_segments): Likewise.
35559
3abc589f 355602008-01-27 Robert Millan <rmh@aybabtu.com>
35561
35562 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
35563 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 35564 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 35565
e1907778 355662008-01-27 Robert Millan <rmh@aybabtu.com>
35567
35568 Get grub-emu to build again (including parallel builds).
35569
35570 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
35571 Split into ...
35572 (util/grub-emu.c_DEPENDENCIES): ... this, ...
35573 (normal/execute.c_DEPENDENCIES): ... this, ...
35574 (grub-emu_DEPENDENCIES): ... and this.
35575
35576 * conf/i386-efi.rmk: Likewise.
35577 * conf/i386-linuxbios.rmk: Likewise.
35578 * conf/i386-ieee1275.rmk: Likewise.
35579 * conf/powerpc-ieee1275.rmk: Likewise.
35580 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
35581
2216b101 355822008-01-27 Robert Millan <rmh@aybabtu.com>
35583
35584 * NEWS: Add a few items.
35585
f75172d9 355862008-01-27 Robert Millan <rmh@aybabtu.com>
35587
35588 Fix parallel builds with grub-emu. Based on earlier commit for
35589 grub-probe and grub-setup.
35590
35591 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35592 (util/grub-emu.c_DEPENDENCIES): ... this.
35593 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35594 (util/grub-emu.c_DEPENDENCIES): ... this.
35595 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35596 (util/grub-emu.c_DEPENDENCIES): ... this.
35597 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35598 (util/grub-emu.c_DEPENDENCIES): ... this.
35599 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
35600 (util/grub-emu.c_DEPENDENCIES): ... this.
35601
3f51de77 356022008-01-27 Pavel Roskin <proski@gnu.org>
35603
35604 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
35605 to create a gap between _end and the modules added to the image
35606 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
35607 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
35608 * util/elf/grub-mkimage.c (add_segments): Likewise.
35609
2033f53e 356102008-01-26 Pavel Roskin <proski@gnu.org>
35611
35612 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
35613 just return an error.
35614
22da1f6f 356152008-01-26 Bean <bean123ch@gmail.com>
35616
35617 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
35618 (grub_reiserfs_get_item): Save offset of the next item.
35619 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
35620
2a9525e6 356212008-01-25 Robert Millan <rmh@aybabtu.com>
35622
35623 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
35624 make all filesystem sources appear together (possibly fixing omissions
35625 while at it).
35626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35628 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35630
35631 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
35632 add `kern/file.c'.
35633 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35634 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35635 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35636 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35637
35638 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35639 (probe): Add a sanity check to make sure of our ability to read
35640 requested files when probing for filesystem type.
35641
35642 * genmk.rb: Update copyright year (2007).
35643
35644 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35645 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35646 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35647 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35648 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35649 : Remove function prototypes.
35650
b95f71b5 356512008-01-25 Robert Millan <rmh@aybabtu.com>
35652
35653 Revert my previous commits (based on wrong assumption of how grub_errno
35654 works).
35655
fe6b695a 35656 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35657 * kern/file.c (grub_file_open): Likewise.
35658
d08bbb49 356592008-01-24 Pavel Roskin <proski@gnu.org>
35660
35661 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35662 that hang if GRUB tries to setup colors.
35663 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35664 colors for firmwares that don't support it.
35665 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35666 Recognize Open Hack'Ware, set flags to work around its
35667 limitations.
35668
605e36ed 356692008-01-24 Robert Millan <rmh@aybabtu.com>
35670
35671 * kern/file.c (grub_file_open): Do not account previous failures of
35672 unrelated functions when grub_errno is checked for.
35673 Reported by Oleg Strikov.
35674
bac332a1 356752008-01-24 Bean <bean123ch@gmail.com>
35676
35677 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35678 (grub_ufs_sblock): New member volume name.
35679 (grub_ufs_find_file): Fix string copy bug.
35680 (grub_ufs_label): Implement this function properly.
35681
35682 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35683 (grub_hfs_iterate_records): Use the correct file number for extents
35684 and catalog file. Fix problem in next index calculation.
35685 (grub_hfs_find_node): Replace recursive function call with loop.
35686 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35687
15c80c09 356882008-01-23 Robert Millan <rmh@aybabtu.com>
35689
35690 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35691 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35692 (grub_multiboot2_real_boot): New function prototype.
35693
35694 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35695 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35696
35697 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35698 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35699
305338fd 357002008-01-23 Robert Millan <rmh@aybabtu.com>
35701
35702 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35703 #ifdef'ed out grub_printf().
35704
3ea52685 357052008-01-23 Robert Millan <rmh@aybabtu.com>
35706
35707 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35708 grub_dprintf calls, since they make "debug=all" mode unusable.
35709 (grub_console_checkkey): Likewise.
35710
5882ae4b 357112008-01-23 Robert Millan <rmh@aybabtu.com>
35712
35713 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35714 `term/i386/pc/at_keyboard.c'.
35715 (pkglib_MODULES): Add `serial.mod'.
35716 (serial_mod_SOURCES): New variable.
35717 (serial_mod_CFLAGS): Likewise.
35718 (serial_mod_LDFLAGS): Likewise.
35719
35720 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35721 `<grub/powerpc/ieee1275/console.h>'.
35722 (grub_keyboard_controller_init): New function prototype.
35723 (grub_console_checkkey): Likewise.
35724 (grub_console_getkey): Likewise.
35725
35726 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35727 keyboard on i386.
35728
35729 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35730 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35731
06ab5303 357322008-01-23 Robert Millan <rmh@aybabtu.com>
35733
35734 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35735 present, "(memdisk)/boot/grub" becomes the default prefix.
35736
35737 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35738 a memdisk tarball with all the modules. Add --overlay=DIR option that
35739 allows users to overlay additional files into the image.
35740
dbb475a4 357412008-01-23 Robert Millan <rmh@aybabtu.com>
35742
35743 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35744 and `machine/memory.h'.
35745 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35746 (_multiboot_mod_SOURCES): New variable.
35747 (_multiboot_mod_CFLAGS): Likewise.
35748 (_multiboot_mod_LDFLAGS): Likewise.
35749 (multiboot_mod_SOURCES): Likewise.
35750 (multiboot_mod_CFLAGS): Likewise.
35751 (multiboot_mod_LDFLAGS): Likewise.
35752
35753 * include/grub/i386/ieee1275/loader.h: New file.
35754
35755 * include/grub/i386/ieee1275/machine.h: Likewise.
35756
35757 * include/grub/i386/ieee1275/memory.h: Likewise.
35758
35759 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35760 variable declaration.
35761 (grub_os_area_size): Likewise.
35762
35763 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35764 (grub_lower_mem, grub_upper_mem): New variables.
35765 (grub_stop_floppy): New function (just to make
35766 grub_multiboot2_real_boot() happy).
35767
35768 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35769 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35770 (grub_stop): New function.
35771 Include `"../realmode.S"' and `"../loader.S"'.
35772
35773 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35774 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35775
35776 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35777 rely on grub_multiboot2_real_boot() for final boot.
35778
25638629 357792008-01-22 Robert Millan <rmh@aybabtu.com>
35780
35781 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35782 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35783 device that doesn't look like an SD card.
35784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35785 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35786 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35787 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35788 found.
35789
9dad816d 357902008-01-22 Robert Millan <rmh@aybabtu.com>
35791
35792 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35793 avoid claiming over our own code.
35794
34842f2d 357952008-01-22 Bean <bean123ch@gmail.com>
35796
35797 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35798 (jpeg_mod_SOURCES): New variable.
35799 (jpeg_mod_CFLAGS): Likewise.
35800 (jpeg_mod_LDFLAGS): Likewise.
35801
35802 * video/readers/jpeg.c : New file.
35803
44023a28 358042008-01-22 Bean <bean123ch@gmail.com>
35805
35806 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35807 there are no more items.
35808
bc2d8ac6 358092008-01-21 Robert Millan <rmh@aybabtu.com>
35810
35811 * kern/mm.c (grub_mm_init_region): Improve debug message.
35812
261bd4bc 358132008-01-21 Robert Millan <rmh@aybabtu.com>
35814
35815 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35816 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35817 address.
35818 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35819 a C macro.
35820 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35821 Indicates start of upper memory.
35822 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35823 (generate_image): Abort when image size is big enough to corrupt
35824 upper memory.
35825
35826 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35827 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35828 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35829 instead of hardcoding 0xA0000.
35830 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35831 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35832 instead of hardcoding 0xA0000.
35833
f970b55e 358342008-01-21 Robert Millan <rmh@aybabtu.com>
35835
35836 * disk/memdisk.c (memdisk_size): New variable.
35837 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35838 `memdisk_size'.
35839 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35840 image to dynamic memory.
35841 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35842 `memdisk_size'. Free memdisk block.
35843
1a8b0526 358442008-01-21 Robert Millan <rmh@aybabtu.com>
35845
35846 Fix detection of very small filesystems (like tar).
35847
35848 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35849 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35850 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35851 a problem with this disk).
35852
6e9b4aab 358532008-01-21 Robert Millan <rmh@aybabtu.com>
35854
35855 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35856 on grub_biosdisk_rw_standard() error.
35857
0d8837b2 358582008-01-21 Robert Millan <rmh@aybabtu.com>
35859
35860 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35861 recent changes.
35862 * kern/elf.c: Likewise.
35863 * kern/ieee1275/ieee1275.c: Likewise.
35864 * kern/powerpc/ieee1275/openfw.c: Likewise.
35865 * term/ieee1275/ofconsole.c: Likewise.
35866
ffd36e34 358672008-01-21 Robert Millan <rmh@aybabtu.com>
35868
35869 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35870
3f0093d0 35871 * include/grub/kernel.h (grub_arch_memdisk_addr)
35872 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35873
3f0093d0 35874 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35875 (grub_arch_memdisk_size): ... to here.
ffd36e34 35876
6c391b21 358772008-01-21 Robert Millan <rmh@aybabtu.com>
35878
35879 Mostly based on bugfix from Bean.
35880
35881 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35882 attribute with hook() parameter.
35883 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35884 declaration.
35885 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35886 attribute with hook() parameter.
35887 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35888 declaration.
35889
55a581dc 358902008-01-21 Robert Millan <rmh@aybabtu.com>
35891
35892 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35893 (pkglib_MODULES): Add `memdisk.mod'.
35894 (memdisk_mod_SOURCES): New variable.
35895 (memdisk_mod_CFLAGS): Likewise.
35896 (memdisk_mod_LDFLAGS): Likewise.
35897
35898 * disk/memdisk.c: New file.
35899
35900 * include/grub/disk.h (grub_disk_dev_id): Add
35901 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35902
35903 * include/grub/i386/pc/kernel.h
35904 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35905 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35906 (grub_kernel_image_size): New variable declaration.
35907 (grub_total_module_size): Likewise.
35908 (grub_memdisk_image_size): Likewise.
35909
35910 * include/grub/i386/pc/memory.h
35911 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35912
35913 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35914 (grub_arch_memdisk_addr): New variable declaration.
35915 (grub_arch_memdisk_size): Likewise.
35916
35917 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35918 (grub_arch_memdisk_size): Likewise.
35919
35920 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35921 (codestart): Replace hardcoded `0x100000' with
35922 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35923
35924 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35925 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35926 not NULL, append the contents of the file it refers to, at the end of
35927 the compressed kernel image. Initialize `grub_memdisk_image_size'
35928 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35929 (options): Add "memdisk"|'m' option.
35930 (main): Parse --memdisk|-m option, and pass user-provided path as
35931 parameter to generate_image().
35932
3d7f54c9 359332008-01-20 Robert Millan <rmh@aybabtu.com>
35934
35935 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35936 grub_dprintf() calls from here ...
35937 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35938
0bf74728 359392008-01-20 Robert Millan <rmh@aybabtu.com>
35940
35941 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35942
35943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35944 declaration.
35945 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35946 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35947 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35948 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35949 property).
35950 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35951 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35952
33bf70a7 359532008-01-19 Robert Millan <rmh@aybabtu.com>
35954
fe6b695a 35955 Get rid of confusing function (superseded by
33bf70a7 35956 `grub_ieee1275_get_integer_property')
35957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35958 prototype.
35959 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35960 function.
35961 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35962 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35963 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35964
e2da7d26 359652008-01-19 Robert Millan <rmh@aybabtu.com>
35966
35967 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35968 command after "shut-down", since implementations differ on which
35969 the command for halt is.
35970
59f1fd8d 359712008-01-19 Robert Millan <rmh@aybabtu.com>
35972
35973 * include/grub/i386/linuxbios/console.h: Add header protection.
35974 (grub_keyboard_controller_init): New function prototype.
35975 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35976 (KEYBOARD_COMMAND_READ): Likewise.
35977 (KEYBOARD_COMMAND_WRITE): Likewise.
35978 (KEYBOARD_SCANCODE_SET1): Likewise.
35979 (grub_keyboard_controller_write): New function.
35980 (grub_keyboard_controller_read): Likewise.
35981 (grub_keyboard_controller_init): Likewise.
35982
35983 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35984 (grub_console_init): On coreboot/LinuxBIOS, call
35985 grub_keyboard_controller_init().
35986
5f5a7c15 359872008-01-19 Robert Millan <rmh@aybabtu.com>
35988
35989 PowerPC changes provided by Pavel Roskin.
35990
35991 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35992 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35993 don't rely on cmain() doing it.
35994 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35995 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35996
1210e168 359972008-01-16 Robert Millan <rmh@aybabtu.com>
35998
35999 * include/grub/i386/linuxbios/memory.h
36000 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36001 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36002 receive `table_header' as argument. Instead, probe for it in the
36003 known memory ranges where it can be present.
36004 (grub_available_iterate): Do not pass a fixed `table_header' address
36005 to grub_linuxbios_table_iterate().
36006
3d04eab8 360072008-01-15 Robert Millan <rmh@aybabtu.com>
36008
36009 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36010 * conf/i386-ieee1275.rmk: New file.
36011 * include/grub/i386/ieee1275/console.h: Likewise.
36012 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36013 * include/grub/i386/ieee1275/kernel.h: Likewise.
36014 * include/grub/i386/ieee1275/time.h: Likewise.
36015 * kern/i386/ieee1275/init.c: Likewise.
36016 * kern/i386/ieee1275/startup.S: Likewise.
36017
d1bc1b73 360182008-01-15 Robert Millan <rmh@aybabtu.com>
36019
36020 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36021 when pointers are 32-bit (but still do set it to one when they are
36022 64-bit).
36023
66a65807 360242008-01-15 Robert Millan <rmh@aybabtu.com>
36025
36026 * include/grub/ieee1275/ieee1275.h
36027 (grub_ieee1275_get_integer_property): New function prototype.
36028
36029 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36030 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36031 grub_ieee1275_get_property() to handle endianness.
66a65807 36032
36033 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36034 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36035 where appropriate.
66a65807 36036 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36037 (grub_map): Likewise.
36038 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36039
a83ccafd 360402008-01-15 Bean <bean123ch@gmail.com>
36041
36042 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36043 (grub_script_execute_cmdline): Reset grub_errno.
36044
36045 * normal/main.c (read_config_file): Reset grub_errno.
36046
36047 * normal/parse.y (script_init): New.
36048 (script): Move function and menuentry here.
36049 (delimiter): New.
36050 (command): Add delimiter at the end of command.
36051 (commands): Adjust to match the new command.
36052 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36053 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36054 (if): Use the new commands.
36055
36056 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36057
df6ecfc6 360582008-01-15 Robert Millan <rmh@aybabtu.com>
36059
36060 * normal/menu.c (run_menu): Move timeout message from here ...
36061 (print_timeout): ... to here.
36062 (run_menu): Use print_timeout() once during initial draw to print
36063 the whole message, and again in every clock tick to update only
36064 the number of seconds.
36065
87ae25eb 360662008-01-15 Robert Millan <rmh@aybabtu.com>
36067
36068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36069 actual size of `available' from grub_ieee1275_get_property(), and
36070 restrict parsing to that bound.
36071
47bf09a4 360722008-01-15 Christian Franke <franke@computer.org>
36073
36074 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36075 (argp_program_version): Remove variable.
36076 (argp_program_bug_address): Likewise.
36077 (options): Convert from struct argp_option to struct option.
36078 (struct arguments): Remove.
36079 (parse_opt): Remove.
36080 (usage): New function.
36081 (main): Replace struct args members by simple variables.
36082 Replace argp_parse() by getopt_long().
36083 Add switch to evaluate options.
36084 Add missing "(...)" around root_dev in prefix string.
36085
c86f1469 360862008-01-14 Robert Millan <rmh@aybabtu.com>
36087
36088 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36089 for grub_ieee1275_exit(), in order to improve portability.
36090
e622c559 360912008-01-14 Robert Millan <rmh@aybabtu.com>
36092
36093 * util/grub.d/10_linux.in (prefix): Define.
36094 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36095
44cb1ec8 360962008-01-13 Pavel Roskin <proski@gnu.org>
36097
36098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36099 grub_errno if no errors have been detected.
36100
1eb8c802 361012008-01-12 Robert Millan <rmh@aybabtu.com>
36102
36103 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36104 (grub_util_get_dev_abstraction): New function prototype.
36105
36106 * util/getroot.c: Include `<grub/util/getroot.h>'
36107 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36108 (grub_util_get_dev_abstraction): ... here (new function).
36109
36110 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36111 `PRINT_ABSTRACTION'.
36112 (probe): Probe for abstraction type when requested.
36113 (main): Understand `--target=abstraction'.
36114
36115 * util/i386/efi/grub-install.in: Add abstraction module to core
36116 image when it is found to be necessary.
36117 * util/i386/pc/grub-install.in: Likewise.
36118 * util/powerpc/ieee1275/grub-install.in: Likewise.
36119
36120 * util/update-grub_lib.in (font_path): Return system path without
36121 converting to GRUB path.
36122 * util/update-grub.in: Convert system path returned by font_path()
36123 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36124 abstraction module is needed for loading fonts (if any). Export
36125 that as `GRUB_PRELOAD_MODULES'.
36126 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36127 insmod commands).
36128
52bd3de9 361292008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
36130
36131 Remove some unused code from reiserfs.
f19dbdb7 36132
52bd3de9 36133 * fs/reiserfs.c (struct grub_reiserfs_key)
36134 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
36135 (struct grub_reiserfs_node_body): Removed.
36136 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36137 Likewise.
36138 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36139 Likewise.
36140 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36141 Likewise.
36142 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
36143 Likewise.
36144 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
36145 Likewise.
36146 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
36147 Likewise.
36148 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36149 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36150 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
36151
2f80039d 361522008-01-10 Robert Millan <rmh@aybabtu.com>
36153
36154 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
36155 Determines if a file is garbage left by packaging systems, etc.
36156 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
36157 for processing /etc/grub.d scripts.
36158 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
36159 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
36160 as a condition for processing Linux images.
36161
87888032 361622008-01-10 Pavel Roskin <proski@gnu.org>
36163
36164 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
36165 to compile reiserfs.c on PowerPC.
36166
7e54fced 361672008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 36168
36169 * kern/device.c (grub_device_iterate): Do not abort device iteration
36170 when one of the devices cannot be opened.
36171 * kern/disk.c (grub_disk_open): Do not account previous failures of
36172 unrelated functions when grub_errno is checked for.
36173
5aa541e6 361742008-01-08 Robert Millan <rmh@aybabtu.com>
36175
36176 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
36177 `! grub_linux_is_bzimage', change order of address comparison to make
36178 it more intuitive, and improve "too big zImage" error message.
36179
7076340d 361802008-01-08 Robert Millan <rmh@aybabtu.com>
36181
36182 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
36183 `$(update-grub_DATA)'.
36184 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
36185 targets.
36186
9ca70333 361872008-01-07 Robert Millan <rmh@aybabtu.com>
36188
36189 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
36190 which instruction is modified by grub-setup during installation
36191 (since it wasn't obvious by only looking at this file).
36192
38ccf575 361932008-01-07 Robert Millan <rmh@aybabtu.com>
36194
36195 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
36196 listing actual TODO items.
36197
f5db4291 361982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36199
868967cf 36200 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
36201 correctly.
36202 (grub_reiserfs_get_key_offset): Likewise.
36203 (grub_reiserfs_set_key_offset): Likewise.
36204 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 36205 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 36206
36207 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
36208 better to remove the bitfield version completely.
f19dbdb7 36209
868967cf 362102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36211
f5db4291 36212 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
36213 allocated from the heap, due to the fshelp implementation.
36214 (grub_reiserfs_dir): Free NODE, due to the same reason.
36215
492e6d9d 362162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36217
36218 Mostly from Vincent Pelletier:
f19dbdb7 36219
492e6d9d 36220 * fs/reiserfs.c: New file.
f19dbdb7 36221
492e6d9d 36222 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
36223 (reiserfs_mod_SOURCES): New variable.
36224 (reiserfs_mod_CFLAGS): Likewise.
36225 (reiserfs_mod_LDFLAGS): Likewise.
36226
36227 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
36228 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
36229 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
36230 normal/color.c.
36231
9ce3e7c1 362322008-01-06 Robert Millan <rmh@aybabtu.com>
36233
36234 * normal/color.c: Remove `<grub/env.h>'.
36235
f3b58148 362362008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
36237
36238 * include/grub/normal.h: Include <grub/env.h>.
36239
7ac3bcfa 362402008-01-05 Robert Millan <rmh@aybabtu.com>
36241
36242 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
36243 usage example with `(hd0,1)'.
fb358190 36244 Reported by Samuel Thibault.
7ac3bcfa 36245
c8ee99d7 362462008-01-05 Robert Millan <rmh@aybabtu.com>
36247
36248 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
36249 (grub_linux_boot_zimage): Rename to ...
36250 (grub_linux_boot): ... this.
36251 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
36252 (grub_linux_boot_zimage): Conditionalize zImage copy.
36253
36254 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
36255 (grub_linux_boot_bzimage): Remove prototype.
36256 (grub_linux_boot_zimage): Rename to ...
36257 (grub_linux_boot): ... this.
36258
36259 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
36260 (grub_linux_boot): Remove function.
36261
0ece25b1 362622008-01-05 Robert Millan <rmh@aybabtu.com>
36263
36264 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
36265 (grub_env_write_color_highlight): Likewise.
36266 (grub_wait_after_message): Likewise.
36267
36268 * normal/color.c: New file.
36269
36270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36271 (normal_mod_DEPENDENCIES): Likewise.
36272
36273 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36274 (normal_mod_DEPENDENCIES): Likewise.
36275
36276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36277 (normal_mod_DEPENDENCIES): Likewise.
36278
36279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
36280 (normal_mod_DEPENDENCIES): Likewise.
36281
36282 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
36283 for waiting after a message is printed.
36284 * normal/main.c (read_config_file): Likewise.
36285 (grub_normal_init): Register grub_env_write_color_normal() and
36286 grub_env_write_color_highlight() hooks. Mark `color_normal' and
36287 `color_highlight' variables as global.
36288
36289 * normal/menu.c (grub_wait_after_message): New function.
36290 (grub_color_menu_normal): New variable. Replaces ...
36291 (GRUB_COLOR_MENU_NORMAL): ... this macro.
36292 (grub_color_menu_highlight): New variable. Replaces ...
36293 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
36294 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
36295 `GRUB_TERM_COLOR_STANDARD'.
36296 (print_message): Use `grub_setcolorstate' to reload colors. Rename
36297 `normal_code' and `highlight_code' to `old_color_normal' and
36298 `old_color_highlight', respectively.
36299 (grub_menu_init_page): Update colors when drawing the menu, based on
36300 `menu_color_normal' and `menu_color_highlight' variables.
36301 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
36302 a message is printed.
36303
182dd4e5 363042008-01-05 Robert Millan <rmh@aybabtu.com>
36305
36306 * kern/env.c (grub_env_context_open): Propagate hooks for global
36307 variables to new context.
36308
36309 * kern/main.c (grub_set_root_dev): Export `root' variable.
36310
ddf8f6ad 363112008-01-05 Robert Millan <rmh@aybabtu.com>
36312
36313 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 36314 discs unconditionally, since udev and others have options to provide
ddf8f6ad 36315 them.
36316
d8b43d9b 363172008-01-05 Robert Millan <rmh@aybabtu.com>
36318
36319 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
36320
2bff2de3 363212008-01-04 Christian Franke <franke@computer.org>
36322
36323 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
36324 of eisa_mmap.
36325
97eab917 363262008-01-03 Pavel Roskin <proski@gnu.org>
36327
36328 * kern/i386/linuxbios/init.c: Put "void" to all function
36329 declarations with no arguments.
36330 * kern/powerpc/ieee1275/init.c: Likewise.
36331 * term/i386/pc/at_keyboard.c: Likewise.
36332 * term/i386/pc/vga_text.c: Likewise.
36333 * util/grub-mkdevicemap.c: Likewise.
36334
b9416d00 363352008-01-02 Robert Millan <rmh@aybabtu.com>
36336
36337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
36338 message when loaded image is out of bounds.
36339 (grub_multiboot_load_elf64): Likewise.
36340
92695df9 363412008-01-02 Pavel Roskin <proski@gnu.org>
36342
36343 * util/grub.d/10_linux.in: Try version without ".old" when
36344 looking for initrd. It's better to use initrd from the newer
36345 kernel of the same version than no initrd at all.
36346
d98d9cad 363472008-01-01 Robert Millan <rmh@aybabtu.com>
36348
36349 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
36350
dbfdce36 363512008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
36352
f19dbdb7 36353 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 36354 grub_video_get_active_render_target.
36355 (grub_video_adapter): Added unmap_color and get_active_render_target.
36356
f19dbdb7 36357 * video/video.c: Added grub_video_unmap_color and
dbfdce36 36358 grub_video_get_active_render_target.
36359 (grub_video_get_info): Changed method to accept NULL pointer as an
36360 argument to allow detection of active video adapter.
36361
36362 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
36363 grub_video_vbe_unmap_color_int.
36364 Added grub_video_vbe_unmap_color and
36365 grub_video_vbe_get_active_render_target.
36366 (grub_video_vbe_adapter): Added unmap_color and
36367 get_active_render_target.
36368
f19dbdb7 36369 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 36370 with grub_video_vbe_unmap_color_int.
36371
36372 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
36373 (DEFAULT_NORMAL_COLOR): Likewise.
36374 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
36375 (DEFAULT_FG_COLOR): Removed.
36376 (DEFAULT_BG_COLOR): Likewise.
36377 (DEFAULT_CURSOR_COLOR): Changed value.
36378 (grub_virtual_screen): Added standard_color_setting,
36379 normal_color_setting, highlight_color_setting and term_color.
36380 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
36381 (bitmap_width): Added.
36382 (bitmap_height): Likewise.
36383 (bitmap): Likewise.
36384 (set_term_color): Likewise.
36385 (grub_virtual_screen_setup): Changed to use new terminal coloring
36386 settings.
36387 (grub_gfxterm_init): Added init for bitmap.
36388 (grub_gfxterm_fini): Added destroy for bitmap.
36389 (redraw_screen_rect): Updated to use background bitmap and new
36390 terminal coloring.
36391 (scroll_up): Added optimization for case when there is no bitmap.
36392 (grub_gfxterm_cls): Fixed to use correct background color.
36393 (grub_virtual_screen_setcolorstate): Changed to use new terminal
36394 coloring.
36395 (grub_virtual_screen_setcolor): Likewise.
36396 (grub_virtual_screen_getcolor): Added.
36397 (grub_gfxterm_background_image_cmd): Likewise.
36398 (grub_video_term): Added setcolor and getcolor.
36399 (MOD_INIT): Added registration of background_image command.
36400 (MOD_TERM): Added unregistration for background_image command.
36401
c3c20931 364022007-12-30 Pavel Roskin <proski@gnu.org>
36403
36404 * loader/multiboot_loader.c: Fix multiboot command
36405 unregistration. Fix all typos in the word "multiboot".
36406
df266716 364072007-12-29 Pavel Roskin <proski@gnu.org>
94239199 36408
36409 * util/grub.d/10_linux.in: Refactor search for initrd. Add
36410 support for initrd names used in Fedora.
36411
fc6e896c 364122007-12-26 Bean <bean123ch@gmail.com>
36413
36414 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
36415 (cpio_mod_SOURCES): New variable.
36416 (cpio_mod_CFLAGS): Likewise.
36417 (cpio_mod_LDFLAGS): Likewise.
36418
36419 * fs/cpio.c: New file.
36420
36421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
36422
36423 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36424
36425 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36426
36427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36428
533110ad 364292007-12-25 Robert Millan <rmh@aybabtu.com>
36430
36431 * include/grub/term.h (struct grub_term): Add `getcolor' function.
36432 (grub_getcolor): New function.
36433
36434 * kern/term.c (grub_getcolor): New function.
36435 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
36436 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
36437 (print_entry): Set normal and highlight colors to
36438 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
36439 respectively, before printing and restore them to old
36440 values afterwards.
36441 (grub_menu_init_page): Likewise. Fill an additional colored space
36442 that would otherwise be left blank.
36443
36444 * term/efi/console.c (grub_console_getcolor): New function.
36445 (struct grub_console_term.getcolor): New variable.
36446 * term/i386/pc/console.c (grub_console_getcolor): New function.
36447 (struct grub_console_term.getcolor): New variable.
36448 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
36449 (struct grub_console_term.getcolor): New variable.
36450
36451 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
36452 (struct grub_console_term.setcolor): Remove variable.
36453 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
36454 (struct grub_console_term.setcolor): Remove variable.
36455 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
36456 (struct grub_console_term.setcolor): Remove variable.
36457 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
36458 (struct grub_console_term.setcolor): Remove variable.
36459
4931827f 364602007-12-25 Robert Millan <rmh@aybabtu.com>
36461
36462 * configure.ac: Search for possible unifont.hex locations, and
36463 define UNIFONT_HEX if found.
36464
36465 * Makefile.in (UNIFONT_HEX): Define variable.
36466 (DATA): Rename to ...
36467 (PKGLIB): ... this. Update all users.
36468 (PKGDATA): New variable.
36469 (pkgdata_IMAGES): Rename to ...
36470 (pkglib_IMAGES): ... this. Update all users.
36471 (pkgdata_MODULES): Rename to ...
36472 (pkglib_MODULES): ... this. Update all users.
36473 (pkgdata_PROGRAMS): Rename to ...
36474 (pkglib_PROGRAMS): ... this. Update all users.
36475 (pkgdata_DATA): Rename to ...
36476 (pkglib_DATA): ... this. Update all users.
36477 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
36478 (unicode.pff, ascii.pff): New rules.
36479 (all-local): Add `$(PKGDATA)' dependency.
36480 (install-local): Process `$(PKGDATA)'.
36481
36482 * util/update-grub_lib.in (font_path): Search for *.pff files in
36483 a few more locations, including `${pkgdata}'.
36484
57e57e31 364852007-12-23 Robert Millan <rmh@aybabtu.com>
36486
36487 Patch from Bean <bean123ch@gmail.com>:
36488 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
36489 `size'.
36490
4bc72aa9 364912007-12-21 Bean <bean123ch@gmail.com>
36492
36493 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
36494 (ntfscomp_mod_SOURCES): New variable.
36495 (ntfscomp_mod_CFLAGS): Likewise.
36496 (ntfscomp_mod_LDFLAGS): Likewise.
36497
36498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
36499 (grub_probe_SOURCES): Likewise.
36500 (grub_emu_SOURCES): Likewise.
36501
36502 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36503 (grub_emu_SOURCES): Likewise.
36504
36505 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36506 (grub_emu_SOURCES): Likewise.
36507
36508 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
36509 (grub_emu_SOURCES): Likewise.
36510
36511 * fs/ntfs.c (grub_ntfscomp_func): New variable.
36512 (read_run_list): Renamed to grub_ntfs_read_run_list.
36513 (decomp_nextvcn): Moved to ntfscomp.c.
36514 (decomp_getch): Likewise.
36515 (decomp_get16): Likewise.
36516 (decomp_block): Likewise.
36517 (read_block): Likewise.
36518 (read_data): Partially moved to ntfscomp.c.
36519 (fixup): Change unsigned to grub_uint16_t.
36520 (read_mft): Change unsigned long to grub_uint32_t.
36521 (read_attr): Likewise.
36522 (read_data): Likewise.
36523 (read_run_data): Likewise.
36524 (read_run_list): Likewise.
36525 (read_mft): Likewise.
36526
36527 * fs/ntfscomp.c: New file.
36528
36529 * include/grub/ntfs.h: New file.
36530
af680a87 365312007-12-16 Robert Millan <rmh@aybabtu.com>
36532
36533 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
36534 IDE disk check, since Linux is known to support 20 IDE disks.
36535 Reported by Colin Watson.
36536
84be7599 365372007-12-15 Bean <bean123ch@gmail.com>
36538
36539 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
36540 (lnxboot_img_SOURCES): New variable.
36541 (lnxboot_img_ASFLAGS): Likewise.
36542 (lnxboot_img_LDFLAGS): Likewise.
36543
36544 * boot/i386/pc/lnxboot.S: New file.
36545
6af9db01 365462007-11-24 Pavel Roskin <proski@gnu.org>
36547
36548 * configure.ac: Test if '--build-id=none' is supported by the
36549 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
36550 objcopy to generate incorrect binary files (binutils
36551 2.17.50.0.18-1 as shipped by Fedora 8).
36552 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
36553 linking, so that build ID doesn't break the test.
36554
7361cfe6 365552007-11-24 Pavel Roskin <proski@gnu.org>
36556
36557 * include/grub/i386/time.h: use "void" in the argument list
36558 of grub_cpu_idle().
36559 * include/grub/powerpc/time.h: Likewise.
36560 * include/grub/sparc64/time.h: Likewise.
36561
1593e10c 365622007-11-18 Christian Franke <franke@computer.org>
36563
36564 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
36565 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
36566 This fixes the problem that function keys did not work in grub-emu.
36567
3b8db1a8 365682007-11-18 Christian Franke <franke@computer.org>
36569
36570 * disk/host.c (grub_host_open): Remove attribute unused from
36571 name parameter. Add check for "host". This fixes the problem
36572 that grub-emu does not find partitions.
36573
2e29408d 365742007-11-18 Christian Franke <franke@computer.org>
36575
36576 * util/hostfs.c (is_dir): New function.
36577 (grub_hostfs_dir): Handle missing dirent.d_type case.
36578 (grub_hostfs_read): Add missing fseek().
36579 (grub_hostfs_label): Clear label pointer. This fixes a crash
36580 of grub-emu on "ls (host)".
36581
398cd047 365822007-11-18 Christian Franke <franke@computer.org>
36583
36584 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
36585 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
36586 to 64 bit boundary by default.
36587
c405c391 365882007-11-18 Bean <bean123ch@gmail.com>
36589
36590 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
36591 (hexdump_mod_SOURCES): New variable.
36592 (hexdump_mod_CFLAGS): Likewise.
36593 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 36594
c405c391 36595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36596
36597 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36598
36599 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36600
36601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
36602
36603 * include/grub/hexdump.h: New file.
36604
36605 * commands/hexdump.c: New file.
36606
5cced7fd 366072007-11-10 Robert Millan <rmh@aybabtu.com>
36608
36609 * commands/i386/pc/play.c (beep_off): Switch order of arguments
36610 in grub_outb() calls.
36611 (beep_on): Likewise.
36612
8b714eb0 366132007-11-10 Christian Franke <franke@computer.org>
36614
36615 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
36616 (grub_menu_run): Likewise.
36617
ce0f1839 366182007-11-10 Robert Millan <rmh@aybabtu.com>
36619
36620 * include/grub/i386/efi/machine.h: New file.
36621 * include/grub/i386/linuxbios/machine.h: Likewise.
36622 * include/grub/i386/pc/machine.h: Likewise.
36623 * include/grub/powerpc/ieee1275/machine.h: Likewise.
36624 * include/grub/sparc64/ieee1275/machine.h: Likewise.
36625
36626 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
36627 (serial_hw_io_addr): New variable.
36628 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
36629 instead of `(unsigned short *) 0x400'.
36630
270c237d 366312007-11-10 Bean <bean123ch@gmail.com>
36632
36633 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36634
a87783bf 366352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36636
36637 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36638 (vga_mod_SOURCES): Added.
36639 (vga_mod_CFLAGS): Likewise.
36640 (vga_mod_LDFLAGS): Likewise.
36641
36642 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36643 grub_outb() calls.
36644 (set_map_mask): Likewise.
36645 (set_read_map): Likewise.
36646 (set_read_address): Likewise.
36647 (vga_font): Removed variable.
36648 (get_vga_glyph): Removed function.
36649 (invalidate_char): Likewise.
36650 (write_char): Changed to use grub_font_get_glyph() for font
36651 information.
36652 (grub_vga_putchar): Likewise.
36653 (grub_vga_getcharwidth): Likewise.
36654
6433b448 366552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36656
36657 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36658 flags.
36659 (pxeboot_img_LDFLAGS): Likewise.
36660 (diskboot_img_LDFLAGS): Likewise.
36661 (kernel_img_LDFLAGS): Likewise.
36662
49178511 366632007-11-06 Robert Millan <rmh@aybabtu.com>
36664
36665 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36666 in grub_outb() calls.
36667 (serial_hw_init): Likewise.
36668
53b052de 366692007-11-05 Robert Millan <rmh@aybabtu.com>
36670
36671 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36672 spaces. Skip non-regular files.
36673
5ab33bba 366742007-11-05 Robert Millan <rmh@aybabtu.com>
36675
36676 * kern/disk.c (grub_disk_firmware_fini)
36677 (grub_disk_firmware_is_tainted): New variables.
36678
36679 * include/grub/disk.h (grub_disk_firmware_fini)
36680 (grub_disk_firmware_is_tainted): Likewise.
36681
36682 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36683 (grub_disk_biosdisk_fini): ... to here.
36684 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36685 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36686 is set. Register grub_disk_biosdisk_fini() in
36687 `grub_disk_firmware_fini'.
36688
36689 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36690 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36691 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36692 to finish existing firmware disk interface.
36693
36694 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36695 (ata_mod_SOURCES): New variable.
36696 (ata_mod_CFLAGS): Likewise.
36697 (ata_mod_LDFLAGS): Likewise.
36698
0149ab7c 366992007-11-05 Robert Millan <rmh@aybabtu.com>
36700
36701 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36702 (grub_ata_wait): Reimplement using grub_millisleep().
36703
36704 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36705 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36706
be7ac41e 367072007-11-03 Marco Gerards <marco@gnu.org>
36708
36709 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36710 (CRTC_ADDR_PORT): New macro.
36711 (CRTC_DATA_PORT): Likewise.
36712 (CRTC_CURSOR): Likewise.
36713 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36714 (CRTC_CURSOR_ADDR_LOW): Likewise.
36715 (update_cursor): New function.
36716 (grub_console_real_putchar): Call `update_cursor'.
36717 (grub_console_gotoxy): Likewise.
36718 (grub_console_cls): Set the default color when clearing the
36719 screen.
36720 (grub_console_setcursor): Implemented.
36721
bb06ab2e 367222007-11-03 Marco Gerards <marco@gnu.org>
36723
36724 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36725 become activate.
36726 (grub_ata_pio_write): Likewise.
36727
36728 (grub_atapi_identify): Wait after issuing an ATA command.
36729 (grub_atapi_packet): Likewise.
36730 (grub_ata_identify): Likewise.
36731 (grub_ata_readwrite): Likewise.
36732
cf8f780b 367332007-11-03 Marco Gerards <marco@gnu.org>
36734
36735 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36736 (grub_ata_pio_write): Likewise.
36737 (grub_ata_readwrite): Use `grub_error', instead of
36738 returning `grub_errno'.
36739
ed649e54 367402007-11-03 Marco Gerards <marco@gnu.org>
36741
36742 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36743 grub_ata_pio_write once for every single sector, instead of for
36744 multiple sectors.
36745
ca25d8f0 367462007-10-31 Robert Millan <rmh@aybabtu.com>
36747
36748 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36749
36750 * conf/i386-linuxbios.rmk: New file.
36751
36752 * kern/i386/pc/hardware.c: Likewise.
36753 * term/i386/pc/at_keyboard.c: Likewise.
36754 * term/i386/pc/vga_text.c: Likewise.
36755
36756 * include/grub/i386/linuxbios/boot.h: Likewise.
36757 * include/grub/i386/linuxbios/console.h: Likewise.
36758 * include/grub/i386/linuxbios/init.h: Likewise.
36759 * include/grub/i386/linuxbios/kernel.h: Likewise.
36760 * include/grub/i386/linuxbios/loader.h: Likewise.
36761 * include/grub/i386/linuxbios/memory.h: Likewise.
36762 * include/grub/i386/linuxbios/serial.h: Likewise.
36763 * include/grub/i386/linuxbios/time.h: Likewise.
36764
36765 * kern/i386/linuxbios/init.c: Likewise.
36766 * kern/i386/linuxbios/startup.S: Likewise.
36767 * kern/i386/linuxbios/table.c: Likewise.
36768
e911ecc1 367692007-10-31 Marco Gerards <marco@gnu.org>
36770
36771 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36772 (ata_mod_SOURCES): New variable.
36773 (ata_mod_CFLAGS): Likewise.
36774 (ata_mod_LDFLAGS): Likewise.
36775
36776 * disk/ata.c: New file.
36777
36778 * include/grub/disk.h (grub_disk_dev_id): Add
36779 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36780
7f66d0e0 367812007-10-31 Robert Millan <rmh@aybabtu.com>
36782
36783 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36784 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36785
36786 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36787 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36788
36789 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36790 `<grub/types.h>'.
36791
36792 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36793
5cd7dd46 367942007-10-27 Robert Millan <rmh@aybabtu.com>
36795
3236ca65 36796 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36797
2ebfc90f 367982007-10-22 Robert Millan <rmh@aybabtu.com>
36799
36800 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36801 `"../realmode.S"'.
36802 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36803
73fcb0f3 368042007-10-22 Robert Millan <rmh@aybabtu.com>
36805
36806 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36807 (pkgdata_MODULES): Add `biosdisk.mod'.
36808 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36809 variables.
36810
36811 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36812 (grub_biosdisk_init): Replace with ...
36813 (GRUB_MOD_INIT(biosdisk)): ... this.
36814 (grub_biosdisk_fini): Replace with ...
36815 (GRUB_MOD_FINI(biosdisk)): ... this.
36816
36817 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36818 (grub_machine_init): Remove call to grub_biosdisk_init().
36819 (grub_machine_fini): Remove call to grub_machine_fini().
36820
36821 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36822
3381d274 368232007-10-22 Robert Millan <rmh@aybabtu.com>
36824
36825 * include/grub/time.h: New file.
36826 * include/grub/i386/time.h: Likewise.
36827 * include/grub/powerpc/time.h: Likewise.
36828 * include/grub/sparc64/time.h: Likewise.
36829
36830 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36831 instances to ...
36832 (KERNEL_MACHINE_TIME_HEADER): ... this.
36833 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36834 instances to ...
36835 (KERNEL_MACHINE_TIME_HEADER): ... this.
36836 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36837 instances to ...
36838 (KERNEL_MACHINE_TIME_HEADER): ... this.
36839
36840 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36841 (grub_millisleep): New function.
36842 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36843 (grub_millisleep): New function.
36844 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36845 Remove `grub/machine/time.h' include.
36846 (grub_millisleep): New function.
36847 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36848 Remove `grub/machine/time.h' include.
36849 (grub_millisleep): New function.
36850
36851 * include/grub/misc.h (grub_div_roundup): New function.
36852
36853 * kern/misc.c: Include `<grub/time.h>'.
36854 (grub_millisleep_generic): New function.
36855
36856 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36857 Add `time.h'.
36858 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36859 Add `time.h'.
36860 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36861 `machine/time.h'. Add `time.h'.
36862 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36863
a39a0312 368642007-10-21 Robert Millan <rmh@aybabtu.com>
36865
36866 * include/grub/misc.h (grub_max): New function.
36867
2aad70e2 368682007-10-21 Robert Millan <rmh@aybabtu.com>
36869
36870 * util/misc.c (grub_util_info): Call fflush() before returning.
36871
54b71c4b 368722007-10-20 Robert Millan <rmh@aybabtu.com>
36873
36874 * genmk.rb (Image): Copy `extra_flags' from here ...
36875 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36876
36877 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36878 to `argc' and `args' arguments.
36879
a979f513 368802007-10-17 Robert Millan <rmh@aybabtu.com>
36881
36882 * kern/i386/loader.S: New file.
36883
36884 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36885 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36886 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36887 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36888 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36889 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36890 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36891 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36892 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36893 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36894 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36895 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36896 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36897 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36898
36899 * kern/i386/realmode.S: New file.
36900
36901 * kern/i386/pc/startup.S (protstack): Moved from here ...
36902 * kern/i386/realmode.S (protstack)... to here.
36903 * kern/i386/pc/startup.S (gdt): Moved from here ...
36904 * kern/i386/realmode.S (gdt)... to here.
36905 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36906 * kern/i386/realmode.S (prot_to_real)... to here.
36907
36908 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36909 `kern/i386/realmode.S'.
36910
825fc8fd 369112007-10-17 Robert Millan <rmh@aybabtu.com>
36912
36913 * include/grub/i386/loader.h: New file.
36914
36915 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36916 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36917 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36918 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36919 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36920 * include/grub/i386/loader.h (grub_linux_prot_size)
36921 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36922 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36923 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36924 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36925
36926 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36927
e179b2f4 369282007-10-15 Robert Millan <rmh@aybabtu.com>
36929
36930 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36931 filesystem when dev->disk is unset.
36932 Do probe for filesystem even when dev->disk->has_partitions is set.
36933 In case a filesystem is found, always report it.
36934 In case it isn't, if dev->disk->has_partitions is set, report that
36935 a partition table was found instead of reporting that no filesystem
36936 could be identified.
36937
5db82af6 369382007-10-12 Robert Millan <rmh@aybabtu.com>
36939
36940 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36941 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36942
68f6ac74 36943 * include/grub/types.h (grub_host_to_target16): New macro.
36944 (grub_host_to_target32): Likewise.
36945 (grub_host_to_target64): Likewise.
36946 (grub_target_to_host16): Likewise.
36947 (grub_target_to_host32): Likewise.
36948 (grub_target_to_host64): Likewise.
5db82af6 36949
36950 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36951 Renamed from to ...
36952 (GRUB_MOD_ALIGN): ...this. Update all users.
36953
68f6ac74 36954 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36955 grub_host_to_target32.
36956 Replace grub_be_to_cpu32 with grub_target_to_host32.
36957 (load_modules): Likewise.
36958 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36959 Replace grub_be_to_cpu32 with grub_target_to_host32.
36960 Replace grub_cpu_to_be16 with grub_host_to_target16.
36961 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36962
3cf497cc 369632007-10-12 Robert Millan <rmh@aybabtu.com>
36964
36965 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36966 * util/elf/grub-mkimage.c: ... here.
36967
36968 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36969 `util/powerpc/ieee1275/grub-mkimage.c'.
36970
c8cc3692 369712007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36972
c8cc3692 36973 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36974 and make it easier to figure out.
36975 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36976 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36977 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36978 leave us with less than HEAP_MIN_SIZE total heap.
36979 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36980
5c58b791 369812007-10-03 Robert Millan <rmh@aybabtu.com>
36982
36983 * include/grub/i386/io.h: New file.
36984 * commands/i386/pc/play.c (inb): Removed.
36985 (outb): Removed.
36986 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36987 with grub_outb().
afcd2ef8 36988 * term/i386/pc/serial.c (inb): Removed.
36989 (outb): Removed.
36990 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36991 with grub_outb().
36992 * term/i386/pc/vga.c (inb): Removed.
36993 (outb): Removed.
36994 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36995 with grub_outb().
5c58b791 36996
1a477ed6 369972007-10-02 Robert Millan <rmh@aybabtu.com>
36998
36999 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37001 Reported by Marcin Kurek.
37002
6b5d80fa 370032007-09-07 Robert Millan <rmh@aybabtu.com>
37004
37005 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37006 SmartFirmware version updates (as released by Sven Luther), and avoid
37007 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37008 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37009 known broken.
37010
5618afbf 370112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37012
37013 From Hitoshi Ozeki:
37014 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37015 when merging two regions.
37016
6139dcd9 370172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37018
508e39ee 37019 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37020 * normal/completion.c (grub_normal_do_completion): Likewise.
37021 Reported by Hitoshi Ozeki.
37022
370232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37024
6139dcd9 37025 Do not use devices at boot in chainloading.
f19dbdb7 37026
6139dcd9 37027 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37028 (boot_part_addr): Likewise.
37029 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37030 with BOOT_DRIVE and BOOT_PART_ADDR.
37031 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37032 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37033
38da6516 370342007-08-29 Robert Millan <rmh@aybabtu.com>
37035
37036 Patch from Simon Peter <dn.tlp@gmx.net>:
37037 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37038 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37039 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37040 util/i386/pc/grub-setup.c_DEPENDENCIES.
37041 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37042 util/grub-probe.c_DEPENDENCIES.
37043 * conf/powerpc-ieee1275.rmk: Likewise.
37044
29d0928c 370452007-08-28 Robert Millan <rmh@aybabtu.com>
37046
37047 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37048 to tell grub-mkdevicemap how to name devices.
37049 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37050 feature).
37051
37052 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37053 util/i386/get_disk_name.c.
37054 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37055 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37056 util/ieee1275/get_disk_name.c.
37057
37058 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37059
37060 * DISTLIST: Add util/i386/get_disk_name.c and
37061 util/ieee1275/get_disk_name.c.
37062
37063 * util/grub-mkdevicemap.c: Replace device naming logic with
37064 grub_util_get_disk_name() calls.
37065
5a0d3cca 370662007-08-20 Robert Millan <rmh@aybabtu.com>
37067
37068 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37069 (so that it works for both plural and singular quantities).
37070
8b72db2f 370712007-08-05 Robert Millan <rmh@aybabtu.com>
37072
37073 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37074 so that [xz] isn't taken into account when determining order.
37075
352466bf 370762007-08-02 Marco Gerards <marco@gnu.org>
37077
37078 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37079 `include/multiboot2.h', `include/grub/elfload.h',
37080 `include/multiboot.h', `include/grub/multiboot.h',
37081 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37082 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37083 `kern/elf.c', `loader/multiboot_loader.c',
37084 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37085 `loader/i386/pc/multiboot2.c',
37086 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37087 `util/i386/pc/grub-mkrescue.in'. Remove
37088 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37089 `include/grub/i386/pc/util/biosdisk.h' and
37090 `include/grub/powerpc/ieee1275/multiboot.h'.
37091
8f096014 370922007-08-02 Bean <bean123ch@gmail.com>
37093
37094 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37095 (ntfs_mod_SOURCES): New variable.
37096 (ntfs_mod_CFLAGS): Likewise.
37097 (ntfs_mod_LDFLAGS): Likewise.
37098
37099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37100 (grub_probe_SOURCES): Likewise.
37101 (grub_emu_SOURCES): Likewise.
37102
37103 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37104 (grub_emu_SOURCES): Likewise.
37105
37106 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37107 (grub_emu_SOURCES): Likewise.
f19dbdb7 37108
8f096014 37109 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37110
37111 * fs/ntfs.c: New file.
37112
9959f7db 371132007-08-02 Bean <bean123ch@gmail.com>
37114
37115 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37116
37117 * file.h (grub_file): Likewise.
37118
37119 * fshelp.h (grub_fshelp_read_file): Likewise.
37120
37121 * util/i386/pc/grub-setup.c (setup): Likewise.
37122 (save_first_sector): Likewise.
37123 (save_blocklists): Likewise.
f19dbdb7 37124
9959f7db 37125 * fs/affs.c (grub_affs_read_file): Likewise.
37126
37127 * fs/ext2.c (grub_ext2_read_file): Likewise.
37128
37129 * fs/fat.c (grub_fat_read_data): Likewise.
37130
37131 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
37132
37133 * fs/hfs.c (grub_hfs_read_file): Likewise.
37134
37135 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37136
37137 * fs/jfs.c (grub_jfs_read_file): Likewise.
37138
37139 * fs/minix.c (grub_minix_read_file): Likewise.
37140
37141 * fs/sfs.c (grub_sfs_read_file): Likewise.
37142
37143 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 37144
9959f7db 37145 * fs/xfs.c (grub_xfs_read_file): Likewise.
37146
37147 * command/blocklist.c (read_blocklist): Likewise.
37148 (print_blocklist): Likewise.
37149
0a203f83 371502007-08-02 Marco Gerards <marco@gnu.org>
37151
37152 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
37153 `util/hostfs.c'.
37154
37155 * disk/host.c: New file.
37156
37157 * util/hostfs.c: Likewise.
37158
37159 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
37160 return `GRUB_ERR_BAD_FS'.
37161 * fs/sfs.c (grub_sfs_mount): Likewise.
37162 * fs/xfs.c (grub_xfs_mount): Likewise.
37163
37164 * include/grub/disk.h (enum grub_disk_dev_id): Add
37165 `GRUB_DISK_DEVICE_HOST_ID'.
37166
37167 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
37168
e5dfe777 371692007-07-24 Jerone Young <jerone@gmail.com>
37170
f19dbdb7 37171 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 37172 modules for compilation.
37173 * conf/powerpc-ieee1275.rmk: Likewise.
37174
37175 * include/multiboot.h: Move multiboot definitions to one file. Rename
37176 many definitions to not get grub specific.
37177 * include/multiboot2.h: Create header with multiboot 2 definitions.
37178 * include/grub/multiboot.h: Header for grub specific function
37179 prototypes and definitions.
37180 * include/grub/multiboot2.h: Likewise.
37181 * include/grub/multiboot_loader.h: Likewise.
37182 * include/grub/i386/pc/multiboot.h: Removed.
37183 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
37184
37185 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
37186 and 2 to allow for one multiboot and module commands.
37187 * loader/multiboot2.c: Add multiboot2 functionality.
37188 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
37189 and definition names.
37190 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
37191 2 functions.
37192 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
37193 ieee1275 specific multiboot2 code.
37194
37195 * kern/i386/pc/startup.S: Change headers and definition names for
37196 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
37197
daf0f0ba 371982007-07-22 Robert Millan <rmh@aybabtu.com>
37199
37200 * geninitheader.sh: Process file specified in first parameter rather
37201 than hardcoding grub_modules_init.lst.
fe6b695a 37202 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 37203 than hardcoding grub_modules_init.h.
37204
37205 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
37206 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
37207 grub_probe_init.[ch] and grub_setup_init.[ch].
37208
37209 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
37210 grub_modules_init.h with grub_emu_init.h.
37211 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
37212 grub_probe_init.[ch] files.
37213 * conf/i386-efi.rmk: Likewise.
37214 * conf/i386-pc.rmk: Likewise.
37215 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
37216 grub_setup_init.[ch] files.
37217
37218 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
37219 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
37220 to initialize modules rather than a list of hardcoded functions.
37221 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
37222 grub_init_all() to initialize modules rather than a list of hardcoded
37223 functions.
37224
54cdc1cc 372252007-07-22 Robert Millan <rmh@aybabtu.com>
37226
37227 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
37228 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
37229
ad0686cc 372302007-07-22 Robert Millan <rmh@aybabtu.com>
37231
37232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37233 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
37234 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
37235 flag when running on SmartFirmware.
37236 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
37237 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
37238 was set.
37239
37240 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37241 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
37242 rather than decreasing it.
37243
37244 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
37245 there's not enough space to do it, fail in the same way as when it
37246 can't be done because there are no partitions.
37247
37248 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
37249 when nvsetenv failed.
37250
969c02ec 372512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37252
37253 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
37254 because this rule is automatically generated.
37255 (grub-mkrescue): Removed for the same reason as above.
37256
5a79f472 372572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
37258
37259 Migrate to GNU General Public License Version 3.
f19dbdb7 37260
5a79f472 37261 * COPYING: Replaced with the plain text version of GPLv3.
37262
37263 * config.guess: Updated from gnulib.
37264 * config.sub: Likewise.
37265
37266 * geninit.sh: Output a GPLv3 copyright notice.
37267 * geninitheader.sh: Likewise.
37268 * genmodsrc.sh: Likewise.
37269 * gensymlist.sh.in: Likewise.
37270
37271 * boot/i386/pc/boot.S: Upgraded to GPLv3.
37272 * boot/i386/pc/diskboot.S: Likewise.
37273 * boot/i386/pc/pxeboot.S: Likewise.
37274 * commands/blocklist.c: Likewise.
37275 * commands/boot.c: Likewise.
37276 * commands/cat.c: Likewise.
37277 * commands/cmp.c: Likewise.
37278 * commands/configfile.c: Likewise.
37279 * commands/echo.c: Likewise.
37280 * commands/help.c: Likewise.
37281 * commands/ls.c: Likewise.
37282 * commands/search.c: Likewise.
37283 * commands/terminal.c: Likewise.
37284 * commands/test.c: Likewise.
37285 * commands/videotest.c: Likewise.
37286 * commands/i386/cpuid.c: Likewise.
37287 * commands/i386/pc/halt.c: Likewise.
37288 * commands/i386/pc/play.c: Likewise.
37289 * commands/i386/pc/reboot.c: Likewise.
37290 * commands/i386/pc/vbeinfo.c: Likewise.
37291 * commands/i386/pc/vbetest.c: Likewise.
37292 * commands/ieee1275/halt.c: Likewise.
37293 * commands/ieee1275/reboot.c: Likewise.
37294 * commands/ieee1275/suspend.c: Likewise.
37295 * disk/loopback.c: Likewise.
37296 * disk/lvm.c: Likewise.
37297 * disk/raid.c: Likewise.
37298 * disk/efi/efidisk.c: Likewise.
37299 * disk/i386/pc/biosdisk.c: Likewise.
37300 * disk/ieee1275/ofdisk.c: Likewise.
37301 * font/manager.c: Likewise.
37302 * fs/affs.c: Likewise.
37303 * fs/ext2.c: Likewise.
37304 * fs/fat.c: Likewise.
37305 * fs/fshelp.c: Likewise.
37306 * fs/hfs.c: Likewise.
37307 * fs/hfsplus.c: Likewise.
37308 * fs/iso9660.c: Likewise.
37309 * fs/jfs.c: Likewise.
37310 * fs/minix.c: Likewise.
37311 * fs/sfs.c: Likewise.
37312 * fs/ufs.c: Likewise.
37313 * fs/xfs.c: Likewise.
37314 * hello/hello.c: Likewise.
37315 * include/grub/acorn_filecore.h: Likewise.
37316 * include/grub/arg.h: Likewise.
37317 * include/grub/bitmap.h: Likewise.
37318 * include/grub/boot.h: Likewise.
37319 * include/grub/cache.h: Likewise.
37320 * include/grub/device.h: Likewise.
37321 * include/grub/disk.h: Likewise.
37322 * include/grub/dl.h: Likewise.
37323 * include/grub/elfload.h: Likewise.
37324 * include/grub/env.h: Likewise.
37325 * include/grub/err.h: Likewise.
37326 * include/grub/file.h: Likewise.
37327 * include/grub/font.h: Likewise.
37328 * include/grub/fs.h: Likewise.
37329 * include/grub/fshelp.h: Likewise.
37330 * include/grub/gzio.h: Likewise.
37331 * include/grub/hfs.h: Likewise.
37332 * include/grub/kernel.h: Likewise.
37333 * include/grub/loader.h: Likewise.
37334 * include/grub/lvm.h: Likewise.
37335 * include/grub/misc.h: Likewise.
37336 * include/grub/mm.h: Likewise.
37337 * include/grub/net.h: Likewise.
37338 * include/grub/normal.h: Likewise.
37339 * include/grub/parser.h: Likewise.
37340 * include/grub/partition.h: Likewise.
37341 * include/grub/pc_partition.h: Likewise.
37342 * include/grub/raid.h: Likewise.
37343 * include/grub/rescue.h: Likewise.
37344 * include/grub/script.h: Likewise.
37345 * include/grub/setjmp.h: Likewise.
37346 * include/grub/symbol.h: Likewise.
37347 * include/grub/term.h: Likewise.
37348 * include/grub/terminfo.h: Likewise.
37349 * include/grub/tparm.h: Likewise.
37350 * include/grub/types.h: Likewise.
37351 * include/grub/video.h: Likewise.
37352 * include/grub/efi/api.h: Likewise.
37353 * include/grub/efi/chainloader.h: Likewise.
37354 * include/grub/efi/console.h: Likewise.
37355 * include/grub/efi/console_control.h: Likewise.
37356 * include/grub/efi/disk.h: Likewise.
37357 * include/grub/efi/efi.h: Likewise.
37358 * include/grub/efi/pe32.h: Likewise.
37359 * include/grub/efi/time.h: Likewise.
37360 * include/grub/i386/linux.h: Likewise.
37361 * include/grub/i386/setjmp.h: Likewise.
37362 * include/grub/i386/types.h: Likewise.
37363 * include/grub/i386/efi/kernel.h: Likewise.
37364 * include/grub/i386/efi/loader.h: Likewise.
37365 * include/grub/i386/efi/time.h: Likewise.
37366 * include/grub/i386/pc/biosdisk.h: Likewise.
37367 * include/grub/i386/pc/boot.h: Likewise.
37368 * include/grub/i386/pc/chainloader.h: Likewise.
37369 * include/grub/i386/pc/console.h: Likewise.
37370 * include/grub/i386/pc/init.h: Likewise.
37371 * include/grub/i386/pc/kernel.h: Likewise.
37372 * include/grub/i386/pc/loader.h: Likewise.
37373 * include/grub/i386/pc/memory.h: Likewise.
37374 * include/grub/i386/pc/multiboot.h: Likewise.
37375 * include/grub/i386/pc/serial.h: Likewise.
37376 * include/grub/i386/pc/time.h: Likewise.
37377 * include/grub/i386/pc/vbe.h: Likewise.
37378 * include/grub/i386/pc/vbeblit.h: Likewise.
37379 * include/grub/i386/pc/vbefill.h: Likewise.
37380 * include/grub/i386/pc/vbeutil.h: Likewise.
37381 * include/grub/i386/pc/vga.h: Likewise.
37382 * include/grub/ieee1275/ieee1275.h: Likewise.
37383 * include/grub/ieee1275/ofdisk.h: Likewise.
37384 * include/grub/powerpc/libgcc.h: Likewise.
37385 * include/grub/powerpc/setjmp.h: Likewise.
37386 * include/grub/powerpc/types.h: Likewise.
37387 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
37388 * include/grub/powerpc/ieee1275/console.h: Likewise.
37389 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
37390 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
37391 * include/grub/powerpc/ieee1275/loader.h: Likewise.
37392 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
37393 * include/grub/powerpc/ieee1275/time.h: Likewise.
37394 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
37395 * include/grub/sparc64/libgcc.h: Likewise.
37396 * include/grub/sparc64/setjmp.h: Likewise.
37397 * include/grub/sparc64/types.h: Likewise.
37398 * include/grub/sparc64/ieee1275/console.h: Likewise.
37399 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37400 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37401 * include/grub/sparc64/ieee1275/time.h: Likewise.
37402 * include/grub/util/biosdisk.h: Likewise.
37403 * include/grub/util/getroot.h: Likewise.
37404 * include/grub/util/lvm.h: Likewise.
37405 * include/grub/util/misc.h: Likewise.
37406 * include/grub/util/raid.h: Likewise.
37407 * include/grub/util/resolve.h: Likewise.
37408 * io/gzio.c: Likewise.
37409 * kern/device.c: Likewise.
37410 * kern/disk.c: Likewise.
37411 * kern/dl.c: Likewise.
37412 * kern/elf.c: Likewise.
37413 * kern/env.c: Likewise.
37414 * kern/err.c: Likewise.
37415 * kern/file.c: Likewise.
37416 * kern/fs.c: Likewise.
37417 * kern/loader.c: Likewise.
37418 * kern/main.c: Likewise.
37419 * kern/misc.c: Likewise.
37420 * kern/mm.c: Likewise.
37421 * kern/parser.c: Likewise.
37422 * kern/partition.c: Likewise.
37423 * kern/rescue.c: Likewise.
37424 * kern/term.c: Likewise.
37425 * kern/efi/efi.c: Likewise.
37426 * kern/efi/init.c: Likewise.
37427 * kern/efi/mm.c: Likewise.
37428 * kern/i386/dl.c: Likewise.
37429 * kern/i386/efi/init.c: Likewise.
37430 * kern/i386/efi/startup.S: Likewise.
37431 * kern/i386/pc/init.c: Likewise.
37432 * kern/i386/pc/lzo1x.S: Likewise.
37433 * kern/i386/pc/startup.S: Likewise.
37434 * kern/ieee1275/ieee1275.c: Likewise.
37435 * kern/powerpc/cache.S: Likewise.
37436 * kern/powerpc/dl.c: Likewise.
37437 * kern/powerpc/ieee1275/cmain.c: Likewise.
37438 * kern/powerpc/ieee1275/crt0.S: Likewise.
37439 * kern/powerpc/ieee1275/init.c: Likewise.
37440 * kern/powerpc/ieee1275/openfw.c: Likewise.
37441 * kern/sparc64/cache.S: Likewise.
37442 * kern/sparc64/dl.c: Likewise.
37443 * kern/sparc64/ieee1275/init.c: Likewise.
37444 * kern/sparc64/ieee1275/openfw.c: Likewise.
37445 * loader/efi/chainloader.c: Likewise.
37446 * loader/efi/chainloader_normal.c: Likewise.
37447 * loader/i386/efi/linux.c: Likewise.
37448 * loader/i386/efi/linux_normal.c: Likewise.
37449 * loader/i386/pc/chainloader.c: Likewise.
37450 * loader/i386/pc/chainloader_normal.c: Likewise.
37451 * loader/i386/pc/linux.c: Likewise.
37452 * loader/i386/pc/linux_normal.c: Likewise.
37453 * loader/i386/pc/multiboot.c: Likewise.
37454 * loader/i386/pc/multiboot_normal.c: Likewise.
37455 * loader/powerpc/ieee1275/linux.c: Likewise.
37456 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37457 * normal/arg.c: Likewise.
37458 * normal/cmdline.c: Likewise.
37459 * normal/command.c: Likewise.
37460 * normal/completion.c: Likewise.
37461 * normal/execute.c: Likewise.
37462 * normal/function.c: Likewise.
37463 * normal/lexer.c: Likewise.
37464 * normal/main.c: Likewise.
37465 * normal/menu.c: Likewise.
37466 * normal/menu_entry.c: Likewise.
37467 * normal/misc.c: Likewise.
37468 * normal/parser.y: Likewise.
37469 * normal/script.c: Likewise.
37470 * normal/i386/setjmp.S: Likewise.
37471 * normal/powerpc/setjmp.S: Likewise.
37472 * normal/sparc64/setjmp.S: Likewise.
37473 * partmap/acorn.c: Likewise.
37474 * partmap/amiga.c: Likewise.
37475 * partmap/apple.c: Likewise.
37476 * partmap/gpt.c: Likewise.
37477 * partmap/pc.c: Likewise.
37478 * partmap/sun.c: Likewise.
37479 * term/gfxterm.c: Likewise.
37480 * term/terminfo.c: Likewise.
37481 * term/efi/console.c: Likewise.
37482 * term/i386/pc/console.c: Likewise.
37483 * term/i386/pc/serial.c: Likewise.
37484 * term/i386/pc/vesafb.c: Likewise.
37485 * term/i386/pc/vga.c: Likewise.
37486 * term/ieee1275/ofconsole.c: Likewise.
37487 * util/biosdisk.c: Likewise.
37488 * util/console.c: Likewise.
37489 * util/genmoddep.c: Likewise.
37490 * util/getroot.c: Likewise.
37491 * util/grub-emu.c: Likewise.
37492 * util/grub-mkdevicemap.c: Likewise.
37493 * util/grub-probe.c: Likewise.
37494 * util/lvm.c: Likewise.
37495 * util/misc.c: Likewise.
37496 * util/raid.c: Likewise.
37497 * util/resolve.c: Likewise.
37498 * util/update-grub.in: Likewise.
37499 * util/update-grub_lib.in: Likewise.
37500 * util/grub.d/00_header.in: Likewise.
37501 * util/grub.d/10_hurd.in: Likewise.
37502 * util/grub.d/10_linux.in: Likewise.
37503 * util/i386/efi/grub-install.in: Likewise.
37504 * util/i386/efi/grub-mkimage.c: Likewise.
37505 * util/i386/pc/grub-install.in: Likewise.
37506 * util/i386/pc/grub-mkimage.c: Likewise.
37507 * util/i386/pc/grub-mkrescue.in: Likewise.
37508 * util/i386/pc/grub-setup.c: Likewise.
37509 * util/i386/pc/misc.c: Likewise.
37510 * util/powerpc/ieee1275/grub-install.in: Likewise.
37511 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
37512 * util/powerpc/ieee1275/misc.c: Likewise.
37513 * video/bitmap.c: Likewise.
37514 * video/video.c: Likewise.
37515 * video/i386/pc/vbe.c: Likewise.
37516 * video/i386/pc/vbeblit.c: Likewise.
37517 * video/i386/pc/vbefill.c: Likewise.
37518 * video/i386/pc/vbeutil.c: Likewise.
37519 * video/readers/tga.c: Likewise.
37520
3572d015 375212007-07-02 Robert Millan <rmh@aybabtu.com>
37522
37523 * conf/i386-efi.rmk: Replace obsolete reference to
37524 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
37525 with util/getroot.c.
37526 * conf/powerpc-ieee1275.rmk: Likewise.
37527 * conf/sparc64-ieee1275.rmk: Likewise.
37528
37529 * util/grub-emu.c (main): Fix unchecked pointer handling.
37530
2c2a681b 375312007-07-02 Robert Millan <rmh@aybabtu.com>
37532
37533 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
37534 invocation to fail, in order to support partition-less media.
37535
37536 * util/i386/pc/grub-install.in: Likewise.
37537
37538 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
37539 which fs or partmap modules are needed (akin to its sister scripts).
37540
37541 Also use grub-probe to get rid of unportable /proc/mounts check.
37542
37543 Print the same informational message that the other scripts do, before
fe6b695a 37544 exiting.
2c2a681b 37545
6193defe 375462007-06-23 Robert Millan <rmh@aybabtu.com>
37547
fe6b695a 37548 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 37549 a font file can be found and, if so, echo the GRUB path to it.
37550
37551 * util/update-grub.in: Handle multiple terminals depending on user
37552 input, platform availability and font file presence. Propagate
37553 variables of our findings to /etc/grub.d/ children.
37554
37555 * util/grub.d/00_header.in: Handle multiple terminals, based on
37556 environment setup by update-grub.
37557
eface1dc 375582007-06-23 Robert Millan <rmh@aybabtu.com>
37559
ba50d28f 37560 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 37561
bf697e28 375622007-06-21 Robert Millan <rmh@aybabtu.com>
37563
37564 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
37565 indicate end of data section in kernel image.
37566 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
37567 GRUB_KERNEL_MACHINE_DATA_END.
37568
37569 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
37570 space for it.
37571 * kern/i386/efi/startup.S: Likewise.
37572
37573 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
37574 during image generation. Implement --prefix option to override this
37575 patch.
37576 * util/i386/efi/grub-mkimage.c: Likewise.
37577
37578 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
37579 code to make path relative to its root into a separate function.
37580
37581 * util/i386/pc/grub-install.in: Use newly provided
37582 make_system_path_relative_to_its_root() to convert ${grubdir}, then
37583 pass the result to grub-install --prefix.
37584
baa574b4 375852007-06-13 Robert Millan <rmh@aybabtu.com>
37586
37587 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
37588 DEFAULT_DEVICE_MAP.
37589 * util/grub-emu.c: Use above definitions from misc.h instead of
37590 defining them.
37591 * util/grub-mkdevicemap.c: Likewise.
37592 * util/i386/pc/grub-setup.c: Likewise.
37593 * util/grub-probe.c: Likewise.
37594 (probe): Abort with grub_util_error() when either
37595 grub_guess_root_device or grub_util_get_grub_dev fails.
37596
0215dcbf 375972007-06-12 Robert Millan <rmh@aybabtu.com>
37598
37599 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
37600 "pager" assignment.
37601 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
37602 "pcdata".
37603 * util/grub-probe.c (probe): Likewise for "drive_name".
37604
8af2ab7b 376052007-06-11 Robert Millan <rmh@aybabtu.com>
37606
37607 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
37608 not just the cdrom one.
37609
59d31694 376102007-06-11 Robert Millan <rmh@aybabtu.com>
37611
37612 * util/i386/pc/grub-mkrescue.in: Add "set -e".
37613 Add --pkglibdir=DIR option to override pkglibdir.
37614 Mention --image-type=TYPE in help output.
37615 Fix --grub-mkimage (it was a no-op).
fe6b695a 37616 Abort gracefully when no parameter is given.
59d31694 37617
7ee367e4 376182007-06-11 Robert Millan <rmh@aybabtu.com>
37619
37620 * util/i386/pc/grub-mkrescue.in: New file.
37621 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
37622 * Makefile.in: Handle bin_SCRIPTS.
37623
29b0ed46 376242007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
37625
37626 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
37627 list of video modes.
37628
c0f90770 376292007-06-06 Robert Millan <rmh@aybabtu.com>
37630
37631 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
37632 file doesn't exist, or if it is in a filesystem grub can't read.
37633
37634 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37635 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37636 header comment to fit in 80 columns when the variables are resolved.
37637
37638 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37639 could be identified by update-grub. Remove redundant check for
fe6b695a 37640 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37641 handles that).
37642
fb36dc26 376432007-06-04 Robert Millan <rmh@aybabtu.com>
37644
37645 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37646
37647 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37648
37649 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37650
0c68c93e 376512007-06-04 Robert Millan <rmh@aybabtu.com>
37652
37653 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37654
37655 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37656 grub_apple_partition_map_fini.
37657
37658 * util/biosdisk.c
37659 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37660 to access >2 TiB disks).
37661
37662 Print disk->total_sectors with %llu instead of %lu, since this
37663 variable is always 64-bit (prevents wrong disk size from being displayed
37664 on either >2 TiB disk or big-endian CPU).
37665
37666 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37667 into a generic case that supports all (sane) partition maps.
37668
37669 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37670 breaks big-endian.
37671
37672 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37673 and grub_apple_partition_map_fini() after that.
37674
0f23eb74 376752007-06-01 Robert Millan <rmh@aybabtu.com>
37676
37677 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37678
37679 * util/grub.d/00_header.in: Only enable gfxterm when
37680 convert_system_path_to_grub_path() succeeds.
37681
42c71976 376822007-05-20 Robert Millan <rmh@aybabtu.com>
37683
37684 * util/update-grub_lib.in: New file.
37685 * DISTLIST: Add update-grub_lib.in.
37686 * conf/common.rmk: Generate update-grub_lib and install it in
37687 $(lib_DATA).
37688 * Makefile.in: Add install routine for $(lib_DATA).
37689
37690 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37691 function provided by update-grub_lib to support arbitrary paths of
37692 unifont.pff.
37693 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37694 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37695
5beb2291 376962007-05-19 Robert Millan <rmh@aybabtu.com>
37697
37698 * commands/i386/cpuid.c: New module.
37699 * DISTLIST: Add it.
37700 * conf/i386-efi.rmk: Enable cpuid.mod.
37701 * conf/i386-pc.rmk: Likewise.
37702
7262eca1 377032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37704
37705 * kern/disk.c (grub_disk_read): Check return value of
37706 grub_realloc().
37707
260ba823 377082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37709
37710 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37711 arrays.
37712 * disk/raid.c (grub_raid_open): Likewise.
37713
1ecb6cf2 377142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37715
37716 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37717 stack instead of on the heap.
37718
37719 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37720 before doing a read on it.
37721
37722 * configure.ac: Only use -fno-stack-protector for the target
37723 environment.
f19dbdb7 37724
21c8cbb1 377252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37726
37727 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37728 __attribute_ ((unused)) to mode_type argument.
37729
37730 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37731
21c8cbb1 37732 * kern/misc.c (memcmp): Fix prototype.
37733
37734 * include/grub/partition.h [GRUB_UTIL]
37735 (grub_gpt_partition_map_init): Add prototype.
37736 (grub_gpt_partition_map_fini): Likewise.
37737
37738 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37739 at the right place.
37740
37741 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37742 (grub_fat_read_data): Likewise.
37743 (grub_fat_find_dir): Likewise.
37744
37745 * font/manager.c (find_glyph): Make table a const.
37746 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37747
849d55d3 377482007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37749
37750 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37751 code, first search for device in /dev/mapper, then in /dev.
37752 (grub_util_get_grub_dev): New function.
37753 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37754 prototype.
37755 * util/grub-probe.c (probe): Remove check for RAID, call
37756 grub_util_get_grub_dev() instead of
37757 grub_util_biosdisk_get_grub_dev().
37758 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37759 grub_util_biosdisk_get_grub_dev().
37760 * util/i386/pc/grub-setup.c (main): Likewise.
37761
8fff7c2f 377622007-05-16 Robert Millan <rmh@aybabtu.com>
37763
37764 * DISTLIST: Update for the latest changes.
37765 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37766 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37767 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37768 grub/util/biosdisk.h.
37769 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37770 grub/util/biosdisk.h.
37771
48e12b52 377722007-05-16 Robert Millan <rmh@aybabtu.com>
37773
37774 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37775
46b9d128 377762007-05-16 Robert Millan <rmh@aybabtu.com>
37777
37778 * util/i386/efi/grub-install.in: New.
37779 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37780 newly added grub-install.
37781 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37782 include.
37783 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37784 grub/util/biosdisk.h.
37785 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37786 grub/util/biosdisk.h.
37787
2d1a40a9 377882007-05-16 Robert Millan <rmh@aybabtu.com>
37789
37790 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37791 * include/grub/util/biosdisk.h: ... here.
37792 * util/i386/pc/biosdisk.c: Moved to ...
37793 * util/biosdisk.c: ... here.
37794 * util/i386/pc/getroot.c: Moved to ...
37795 * util/getroot.c: ... here.
37796 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37797 * util/grub-mkdevicemap.c: ... here.
37798 * util/i386/pc/grub-probe.c: Moved to ...
37799 * util/grub-probe.c: ... here.
37800
9e26e3bc 378012007-05-15 Robert Millan <rmh@aybabtu.com>
37802
37803 * util/update-grub.in: Remove duplicated line in grub.cfg header
37804 message.
37805
57f96397 378062007-05-13 Robert Millan <rmh@aybabtu.com>
37807
37808 * util/update-grub.in: Fix a few assumptions about the devices holding
37809 /, /boot and /boot/grub being the same.
37810 * util/grub.d/00_header.in: Likewise.
37811 * util/grub.d/10_hurd.in: Likewise.
37812 * util/grub.d/10_linux.in: Likewise.
37813
37814 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37815 patterns. Use that to define the `.old' suffix as older than `'.
37816
37817 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37818
37819 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37820 the grub.cfg header message.
37821
2e610d62 378222007-05-11 Robert Millan <rmh@aybabtu.com>
37823
37824 * util/update-grub.in: Create device.map if it doesn't already exist,
37825 before attempting to run grub-probe.
37826 Check for grub-probe and grub-mkdevicemap with the same code
37827 grub-install is using.
37828 Remove test mode.
37829
3f6a10ef 378302007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37831
37832 * Makefile.in: Add the datarootdir autoconf variable.
37833
02e7b75e 378342007-05-09 Robert Millan <rmh@aybabtu.com>
37835
37836 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37837 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37838
75f396cc 378392007-05-07 Robert Millan <rmh@aybabtu.com>
37840
37841 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37842 determine partition map module.
37843 * util/i386/pc/grub-install.in: Use this feature to decide which
37844 partition module to load, instead of hardcoding pc and gpt.
37845
da65cb36 378462007-05-07 Robert Millan <rmh@aybabtu.com>
37847
37848 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37849 source directory differs from build directory.
37850
b57d6a91 378512007-05-05 Robert Millan <rmh@aybabtu.com>
37852
37853 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37854 initialisation.
37855
509d00f1 378562007-05-05 Robert Millan <rmh@aybabtu.com>
37857
37858 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37859
c48f23ef 378602007-05-05 Robert Millan <rmh@aybabtu.com>
37861
37862 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37863 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37864
20b97658 378652007-05-05 Robert Millan <rmh@aybabtu.com>
37866
37867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37868 (grub_probe_SOURCES): Likewise.
37869 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37870 GPT and initialize dos_part and bsd_part accordingly.
37871 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37872 install_bsd_part.
37873 (main): Activate gpt module for use during partition identification,
37874 and deactivate it afterwards.
37875 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37876 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37877 partition identification, and deactivate it afterwards.
37878
99123174 378792007-05-05 Robert Millan <rmh@aybabtu.com>
37880
37881 * term/i386/pc/console.c (grub_console_fini): Call
37882 grub_term_set_current() before grub_term_unregister().
37883
ebd97f6e 378842007-05-04 Robert Millan <rmh@aybabtu.com>
37885
37886 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37887 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37888 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37889 and update-grub_DATA.
37890 * conf/common.rmk: Build and install update-grub components.
37891 * conf/common.mk: Regenerate.
37892 * util/update-grub.in: New. Core of update-grub.
37893 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37894 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37895 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37896 * util/grub.d/README: New. Document grub.d directory layout.
37897
b06a264d 378982007-05-01 Robert Millan <rmh@aybabtu.com>
37899
37900 * util/grub-emu.c: Move initialization functions
37901 grub_util_biosdisk_init() and grub_init_all() before
37902 grub_util_biosdisk_get_grub_dev(), which relies on them.
37903
41f0050e 379042007-04-19 Robert Millan <rmh@aybabtu.com>
37905
37906 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37907 it is used later.
37908
04582bb3 379092007-04-18 Jerone Young <jerone@gmail.com>
37910
f19dbdb7 37911 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37912 stanza.
37913
08db4632 379142007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37915
08db4632 37916 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37917 continue on and look for device node with real device name.
37918
801b76be 379192007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37920
fe6b695a 37921 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37922 ability.
37923 * Makefile.in: Add autoconf package transformation code.
37924 * util/i386/pc/grub-install.in: Likewise.
37925 * util/powerpc/ieee1275/grub-install.in: Likewise.
37926
6795c4e1 379272007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37928
37929 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37930 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37931 (EXT2_REVISION): Likewise.
37932 (EXT2_INODE_SIZE): Likewise.
37933 (struct grub_ext2_block_group): Added a missing member
37934 "used_dirs".
37935 (grub_ext2_read_inode): Divide by the inode size in a superblock
37936 instead of 128 to obtain INODES_PER_BLOCK.
37937 Use the macro EXT2_INODE_SIZE instead of directly using
37938 SBLOCK->INODE_SIZE.
37939
d70af616 379402007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37941
37942 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37943 superblock instead of the structure size to compute an
37944 offset. This fixes the problem that GRUB could not read a
37945 filesystem when inode size is different from 128-byte.
37946
3b801603 379472007-03-05 Marco Gerards <marco@gnu.org>
37948
37949 * normal/main.c (read_config_file): When "menu" is not set, create
37950 an initial context.
37951
4785bfe4 379522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37953
37954 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37955 (HEAP_LIMIT): New macro.
37956 (grub_claim_heap): Claim memory up to `heaplimit'.
37957
a0cbb023 379582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37959
37960 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37961 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37962 (_start): Likewise.
37963 (grub_arch_modules_addr): Return address after `_end'.
37964 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37965 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37966 (add_segments): Calculate `_end' from phdr size and location.
37967 (ALIGN_UP): Moved to ...
37968 * include/grub/misc.h: here.
37969 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37970 New macro.
37971 (GRUB_IEEE1275_MODULE_BASE): Removed.
37972
fd7d8eba 379732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37974
37975 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37976 loop boundary.
37977
9b09e6fc 379782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37979
37980 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37981 All users updated.
37982 (grub_elf64_load_hook_t): Likewise.
37983 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37984 debug output.
37985
3ce27299 379862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37987
37988 * kern/mm.c: Update copyright.
37989 (grub_mm_debug): Correct syntax error.
37990 (grub_mm_dump_free): New function.
37991 (grub_debug_free): Call `grub_free'.
37992 * include/grub/mm.h: Update copyright.
37993 (grub_mm_dump_free): Add declaration.
37994
077d5fee 379952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37996
37997 * include/grub/ieee1275/ieee1275.h: Update copyright.
37998 * kern/powerpc/ieee1275/init.c: Likewise.
37999 * kern/powerpc/ieee1275/openfw.c: Likewise.
38000
38001 * loader/powerpc/ieee1275/linux.c: Likewise.
38002 * include/grub/elfload.h: Likewise.
38003 * kern/elf.c: Likewise.
38004 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38005 callers.
38006 (grub_elf64_load): Likewise.
38007 (grub_elf32_load_segment): Move to a nested function.
38008 (grub_elf64_load_segment): Likewise.
38009
dc946850 380102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38011
38012 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38013 prototype.
38014 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38015 (grub_heap_len): Likewise.
38016 (HEAP_SIZE): New macro.
38017 (grub_claim_heap): New function.
38018 (grub_machine_init): Don't claim heap directly. Call
38019 `grub_claim_heap'.
38020 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38021 (grub_available_iterate): New function.
38022
baa2a121 380232007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38024
38025 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38026 * configure.ac: Use it for testing the HOST and TARGET compilers.
38027
4fe9862e 380282006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38029
38030 * Makefile.in (enable_grub_emu): New variable.
38031 * configure.ac (--enable-grub-emu): New option.
38032 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38033 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38034 * conf/i386-pc.rmk: Likewise.
38035 * conf/powerpc-ieee1275.rmk: Likewise.
38036 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38037
a8aa5762 380382006-12-12 Marco Gerards <marco@gnu.org>
38039
38040 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38041
38042 * kern/env.c (grub_env_unset): Don't free the member `value' when
38043 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38044 pointer.
38045
38046 * normal/main.c (current_menu): Removed.
38047 (free_menu): Unset the `menu' environment variable.
38048 (grub_normal_menu_addentry): Make use of the environment variable
38049 `menu', instead of using the global `current_menu'. Allocate
38050 memory for the sourcecode of this entry.
38051 (read_config_file): New argument `nested', changed all callers.
38052 Only in the case of a new context, initialize a new menu. Set the
38053 `menu' environment variable.
38054 (grub_normal_execute): Don't set and unset the environment
38055 variable `menu' here anymore. Only free the menu when leaving the
38056 context.
38057
38058 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38059 leak.
38060
957b3a3e 380612006-12-11 Marco Gerards <marco@gnu.org>
38062
38063 * normal/menu_entry.c (run): Fix off by one bug so the last line
38064 is executed. Move the loader check to outside the loop.
38065
ef875714 380662006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38067
38068 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38069
4e739985 380702006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38071
38072 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38073 the number of sectors. Reported by Andrey Shuvikov
38074 <mr_hyro@yahoo.com>.
f19dbdb7 38075
790707f2 380762006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38077
38078 * kern/disk.c (grub_disk_read): When there is a read error, always
38079 try to read only the necessary data.
f19dbdb7 38080
790707f2 38081 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38082 disk/raid.c.
38083 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38084 prototype.
38085 [GRUB_UTIL] (grub_raid_fini): Likewise.
38086 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38087 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38088 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38089 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38090 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38091 and grub_raid_fini().
f19dbdb7 38092
03e58196 380932006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38094
38095 * include/grub/types.h (__unused): Rename to UNUSED.
38096 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38097 (grub_elf64_size): Likewise.
f19dbdb7 38098
ae4f23bf 380992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38100
38101 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38102 grub_error_push and grub_error_pop in the error-handling path.
38103 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38104 length.
38105
2166cc83 381062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38107
38108 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38111 (kernel_elf_SOURCES): Likewise.
38112 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38113 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38114 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38115 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38116 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38117 (elf_mod_SOURCES): New variable.
38118 (elf_mod_CFLAGS): Likewise.
38119 (elf_mod_LDFLAGS): Likewise.
38120 * include/grub/types.h (__unused): New macro.
38121 * include/grub/elfload.h: New file.
38122 * kern/elf.c: Likewise.
38123 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38124 (ELF32_LOADMASK): New macro.
38125 (ELF64_LOADMASK): Likewise.
38126 (vmlinux): Removed.
38127 (grub_linux_load32): New function.
38128 (grub_linux_load64): Likewise.
38129 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
38130 Use grub_elf_t instead of grub_file_t.
38131
a09d5aa5 381322006-11-02 Hollis Blanchard <hollis@penguinppc.org>
38133
38134 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
38135 `catch_result' to struct set_color_args.
38136
d976fc51 381372006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38138
38139 * normal/menu.c: Include grub/script.h.
38140 * normal/menu_entry.c: Likewise.
38141 * include/grub/normal.h: Do not include grub/script.h.
38142
67507549 381432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38144
38145 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
38146
69203a99 381472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38148
38149 * kern/disk.c (grub_disk_open): Print debug messages when opening a
38150 disk.
38151 (grub_disk_close): Print debug messages when closing a disk.
38152 (grub_disk_read): Print debug messages when disk read fails.
38153 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
38154 filesystem type.
38155 * kern/partition.c: Include misc.h.
38156 (grub_partition_iterate): Print debug messages when detecting
38157 partition type.
38158
e2b8278c 381592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
38160
38161 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
38162 is negative.
38163 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
38164
97b2f2ff 381652006-10-26 Hollis Blanchard <hollis@penguinppc.org>
38166
38167 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38168 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
38169
6555d655 381702006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
38171
38172 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
38173 instead of sizeof(lv). Patch by Michael Guntsche.
38174
4d42b77f 381752006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
38176
38177 * disk/lvm.c: Rename VGS to VG_LIST.
38178 (grub_lvm_iterate): Change VGS->LV to VG-LV.
38179 (grub_lvm_open): Likewise.
38180 Thanks to Michael Guntsche for finding this bug.
38181
5d74d927 381822006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38183
38184 * configure.ac (AC_INIT): Bumped to 1.95.
38185
a1bb27e4 381862006-10-14 Robert Millan <rmh@aybabtu.com>
38187
38188 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
38189 with "/dev/.static/dev/md".
38190
e0994b8b 381912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38192
38193 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
38194 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
38195 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
38196 DRIVE_NAME are always freed.
38197
38198 * util/i386/pc/biosdisk.c (make_device_name): Add one into
38199 DOS_PART, as a DOS partition is counted from one instead of zero
38200 now. Reported by Robert Millan.
38201
ddd5cee9 382022006-10-14 Robert Millan <rmh@aybabtu.com>
38203
38204 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
38205 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
38206 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
38207 string returned by grub_guess_root_device.
38208 * util/i386/pc/grub-setup.c: Likewise.
38209 * util/i386/pc/grub-probefs.c: Likewise.
38210
38211 * util/i386/pc/grub-probefs.c: Rename to ...
38212 * util/i386/pc/grub-probe.c: ... this.
38213 * DISTLIST: Remove grub-probefs, add grub-probe.
38214 * conf/i386-efi.rmk: Likewise.
38215 * conf/i386-pc.rmk: Likewise.
38216 * util/i386/pc/grub-install.in: Likewise.
38217
38218 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
38219 choose which information we want to print.
38220
2b002173 382212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
38222
38223 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
38224 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
38225 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
38226 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
38227 video/readers/tga.c and video/i386/pc/vbeutil.c.
38228
382292006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
38230
38231 Added support for RAID and LVM.
f19dbdb7 38232
2b002173 38233 * disk/lvm.c: New file.
38234 * disk/raid.c: Likewise.
38235 * include/grub/lvm.h: Likewise.
f19dbdb7 38236 * include/grub/raid.h: Likewise.
2b002173 38237 * include/grub/util/lvm.h: Likewise.
38238 * include/grub/util/raid.h: Likewise.
38239 * util/lvm.c: Likewise.
38240 * util/raid.c: Likewise.
38241
38242 * include/grub/disk.h (grub_disk_dev_id): Add
38243 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
38244 (grub_disk_get_size): New prototype.
38245 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
38246 returns a partition.
38247 (grub_disk_get_size): New function.
f19dbdb7 38248
2b002173 38249 * kern/i386/pc/init.c (make_install_device): Copy the prefix
38250 verbatim if grub_install_dos_part is -2.
38251
38252 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
38253 and LVM devices.
38254
38255 * util/i386/pc/grub-setup.c (setup): New argument
38256 MUST_EMBED. Force embedding of GRUB when the argument is
38257 true. Close FILE before returning.
38258 (main): Add support for RAID and LVM.
f19dbdb7 38259
2b002173 38260 * conf/common.rmk: Add RAID and LVM modules.
38261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
38262 util/lvm.c.
38263 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
38264
38265 * kern/misc.c (grub_strstr): New function.
38266 * include/grub/misc.h (grub_strstr): New prototype.
38267
050548d0 382682006-10-10 Tristan Gingold <tristan.gingold@bull.net>
38269
38270 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
38271
da849d2d 382722006-10-05 Tristan Gingold <tristan.gingold@bull.net>
38273
38274 * kern/misc.c (grub_strtoull): Guess the base only if not
38275 specified.
38276
97b2f2ff 382772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 38278
38279 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
38280 PowerMac support.
38281
97b2f2ff 382822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 38283
38284 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
38285
38286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
38287 Remove `flags' argument. All callers changed.
38288 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
38289 (IEEE1275_IHANDLE_INVALID): New variable.
38290 (IEEE1275_CELL_INVALID): New variable.
38291 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
38292 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
38293 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
38294 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
38295 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
38296 codes from Open Firmware. All callers updated.
38297 (grub_ieee1275_next_property): Directly return Open Firmware return
38298 code.
38299 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38300 Standardize error checking from `grub_ieee1275_get_property'.
38301 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
38302 `devalias' to `aliases'. Correct comments. Consolidate error paths.
38303
97b2f2ff 383042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 38305
38306 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
38307 `instance_to_package_args' to `instance_to_path_args'.
38308
38309 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
38310 `grub_ieee1275_chosen'.
38311
38312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
38313 `grub_ieee1275_interpret'.
38314
97b2f2ff 383152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 38316
38317 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
38318
97b2f2ff 383192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 38320
38321 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
38322 (__cmpdi): Likewise.
38323
38324 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
38325 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
38326 `grub_ssize_t'.
38327
02bb8acc 38328 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 38329
38330 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
38331 to type `grub_ssize_t'.
38332 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
38333
7f9a8531 383342006-09-22 Marco Gerards <marco@gnu.org>
38335
38336 * normal/script.c (grub_script_create_cmdmenu): Skip leading
38337 newlines.
38338
b5ef1102 383392006-09-22 Marco Gerards <marco@gnu.org>
38340
38341 * commands/echo.c: New file.
38342
38343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
38344
38345 * conf/common.rmk (echo_mod_SOURCES): New variable.
38346 (echo_mod_CFLAGS): Likewise.
38347 (echo_mod_LDFLAGS): Likewise.
38348
2cff3677 383492006-09-22 Marco Gerards <marco@gnu.org>
38350
38351 * normal/main.c (get_line): Malloc memory instead of using
38352 preallocated memory. Removed the arguments `cmdline' and
38353 `max_len'. Updated all callers.
38354
6ba4688b 383552006-09-22 Marco Gerards <marco@gnu.org>
38356
38357 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
38358 (normal_mod_DEPENDENCIES): Likewise.
38359
38360 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
38361 (normal_mod_DEPENDENCIES): Likewise.
38362
38363 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
38364
e02ac02c 383652006-09-22 Johan Rydberg <jrydberg@gnu.org>
38366
38367 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
38368 programs.
38369 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
38370 (normal_mod_DEPENDENCIES): Likewise.
38371 * conf/i386-pc.mk: Regenerate.
38372 * conf/i386-efi.mk: Likewise
38373 * conf/common.mk: Likewise.
38374 * conf/powerpc-ieee1275.mk: Likewise.
38375 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38376
8d252e44 383772006-09-22 Robert Millan <rmh@aybabtu.com>
38378
38379 Sync with i386 version.
38380 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
38381 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
38382
209bf7ac 383832006-09-21 Robert Millan <rmh@aybabtu.com>
38384
38385 Import from GRUB Legacy (lib/device.c):
38386 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
38387 (init_device_map) [__linux__]: Add support for I2O devices.
38388
6b146090 383892006-09-14 Marco Gerards <marco@gnu.org>
38390
38391 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
38392 `-melf_i386'.
38393
e38600a8 383942006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 38395
38396 * util/i386/pc/grub-install.in: Skip menu.lst when removing
38397 /boot/grub/*.lst.
78fa1790 38398
2952da5d 38399 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 38400
2952da5d 38401 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
38402 before adding it to device.map.
38403
01b82a64 384042006-08-15 Johan Rydberg <jrydberg@gnu.org>
38405
fe6b695a 38406 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 38407 compiles a file; using the -MD option.
38408 * conf/common.mk: Regenerate.
38409 * conf/i386-pc.mk: Likewise.
38410 * conf/i386-efi.mk: Likewise.
38411 * conf/powerpc-ieee1275.mk: Likewise.
38412 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 38413
1064790d 384142006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
38415
38416 Move the prototypes of grub_setjmp and grub_longjmp to
38417 cpu/setjmp.h, so that each architecture may specify different
38418 attributes.
f19dbdb7 38419
1064790d 38420 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
38421 (grub_longjmp): Likewise.
38422 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
38423 (grub_longjmp): Likewise.
38424 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
38425 (grub_longjmp): Likewise.
38426
38427 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
38428 [!GRUB_UTIL] (grub_longjmp): Removed.
38429
29dda3ed 384302006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
38431
38432 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
38433 "color!" method does not return any value.
38434
ad2a06ed 384352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38436
38437 * include/grub/bitmap.h: New file.
38438
38439 * include/grub/i386/pc/vbeutil.h: Likewise.
38440
38441 * video/bitmap.c: Likewise.
38442
38443 * video/readers/tga.c: Likewise.
38444
38445 * video/i386/pc/vbeutil.c: Likewise.
38446
38447 * commands/videotest.c: Code cleanup and updated to reflect to new
38448 video API.
38449
38450 * term/gfxterm.c: Likewise.
38451
38452 * video/video.c: Likewise.
38453
38454 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
38455 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
38456 (bitmap_mod_SOURCES): New entry.
38457 (bitmap_mod_CFLAGS): Likewise.
38458 (bitmap_mod_LDFLAGS): Likewise.
38459 (tga_mod_SOURCES): Likewise.
38460 (tga_mod_CFLAGS): Likewise.
38461 (tga_mod_LDFLAGS): Likewise.
38462
38463 * include/grub/video.h (grub_video_blit_operators): New enum type.
38464 (grub_video_render_target): Changed as forward declaration and moved
38465 actual definition to be video driver specific.
38466 (grub_video_adapter.blit_bitmap): Added blitting operator.
38467 (grub_video_adapter.blit_render_target): Likewise.
38468 (grub_video_blit_bitmap): Likewise.
38469 (grub_video_blit_render_target): Likewise.
38470
38471 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
38472 driver specific render target definition.
38473 (grub_video_vbe_map_rgba): Added driver internal helper.
38474 (grub_video_vbe_unmap_color): Updated to use
38475 grub_video_i386_vbeblit_info.
38476 (grub_video_vbe_get_video_ptr): Likewise.
38477
38478 * include/grub/i386/pc/vbeblit.h
38479 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
38480 grub_video_i386_vbeblit_info.
38481 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38482 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38483 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38484 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38485 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38486 (grub_video_i386_vbeblit_index_index): Likewise.
38487 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
38488 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38489 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38490 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
38491 operator.
38492 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
38493 operator.
38494
38495 * video/i386/pc/vbeblit.c: Updated to reflect changes on
38496 include/grub/i386/pc/vbeblit.h.
38497
38498 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
38499 Updated to use grub_video_i386_vbeblit_info.
38500 (grub_video_i386_vbefill_R8G8B8): Likewise.
38501 (grub_video_i386_vbefill_index): Likewise.
38502 (grub_video_i386_vbefill): Added generic filler.
38503
38504 * video/i386/pc/vbefill.c: Updated to reflect changes on
38505 include/grub/i386/pc/vbefill.h.
38506
38507 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
38508 grub_video_i386_vbeblit_info.
38509 (grub_video_vbe_unmap_color): Likewise.
38510 (grub_video_vbe_blit_glyph): Likewise.
38511 (grub_video_vbe_scroll): Likewise.
38512 (grub_video_vbe_draw_pixel): Removed function.
38513 (grub_video_vbe_get_pixel): Likewise.
38514 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
38515 updated code to use it.
38516 (common_blitter): Added common blitter for render target and bitmap.
38517 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
38518 (grub_video_vbe_blit_render_target): Likewise.
38519
bc8c036d 385202006-07-30 Johan Rydberg <jrydberg@gnu.org>
38521
38522 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
38523 is in text mode if there is no console control protocol instance
38524 available.
38525
684a8eff 385262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38527
38528 * include/grub/video.h: Code cleanup.
38529
38530 * include/grub/i386/pc/vbe.h: Likewise.
38531
38532 * video/i386/pc/vbe.c: Likewise.
38533
38534 * video/i386/pc/vbeblit.c: Likewise.
38535
38536 * video/i386/pc/vbefill.c: Likewise.
38537
38538 * video/video.c: Likewise. Also added more comments.
38539
5915059b 385402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
38541
38542 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
38543 (struct grub_biosdisk_dap): Likewise.
38544
38545 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
38546 linkage settings for all functions.
38547
90ce5d56 385482006-07-12 Marco Gerards <marco@gnu.org>
38549
38550 * configure.ac (--enable-mm-debug): Fix typo.
38551
38552 * genkernsyms.sh.in: Use proper quoting for `CC'.
38553
43e7f879 385542006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
38555
38556 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
38557 (normal_mod_ASFLAGS): Remove "-m32".
38558
4889bdec 385592006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
38560
38561 * util/misc.c: Include config.h.
38562 [!HAVE_MEMALIGN]: Do not include malloc.h.
38563 (grub_memalign): Use posix_memalign, if present. Then, use
38564 memalign, if present. Otherwise, emit an error.
38565
38566 * util/grub-emu.c: Do not include malloc.h.
38567
38568 * include/grub/util/misc.h: Include unistd.h. This is required for
38569 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
38570 D. Eades III <hde@foobar-qux.org>.
38571
38572 * configure.ac (AC_GNU_SOURCE): Added.
38573 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
38574 type.
38575
fd39d4da 385762006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
38577
38578 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
38579 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
38580
b786f3b5 385812006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
38582
38583 * include/grub/types.h (grub_host_addr_t): Rename to
38584 grub_target_addr_t.
38585 (grub_host_off_t): Rename to grub_target_off_t.
38586 (grub_host_size_t): Rename to grub_target_size_t.
38587 (grub_host_ssize_t): Rename to grub_target_ssize_t.
38588 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
38589
38590 * include/grub/kernel.h (struct grub_module_header): Change type
38591 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
38592 (grub_module_info): Likewise.
f19dbdb7 38593
051988bb 385942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38595
38596 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
38597 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
38598 Velazquez <jesus.velazquez@gmail.com>.
38599
deae281b 386002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
38601
38602 Count partitions from 1 instead of 0 in the string representation
38603 of partitions. Still use 0-based internally.
f19dbdb7 38604
deae281b 38605 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
38606 (sun_partition_map_iterate): Use grub_partition_t instead of
38607 struct grub_partition *. Cast DESC->START_CYLINDER to
38608 grub_uint64_t after converting the endian.
38609 (sun_partition_map_probe): Subtract 1 for PARTNUM.
38610 (sun_partition_map_get_name): Add 1 to P->INDEX.
38611
38612 * partmap/pc.c (grub_partition_parse): Subtract 1 for
38613 PCDATA->DOS_PART.
38614 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
38615
38616 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
38617 zero instead of one.
38618 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
38619 (gpt_partition_map_get_name): Add 1 into P->INDEX.
38620
38621 * partmap/apple.c (apple_partition_map_iterate): Change the type
38622 of POS to unsigned.
38623 (apple_partition_map_probe): Subtract 1 for PARTNUM.
38624 (apple_partition_map_get_name): Add 1 into P->INDEX.
38625
38626 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
38627 of POS to unsigned.
38628 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
38629 calculate the offset of a partition.
38630 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
38631 (amiga_partition_map_get_name): Add 1 into P->INDEX.
38632
38633 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38634 SECTOR to grub_disk_addr_t.
38635 (acorn_partition_map_iterate): Likewise.
38636 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38637 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38638 top.
38639 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38640
38641 * kern/i386/pc/init.c (make_install_device): Add 1 into
38642 GRUB_INSTALL_DOS_PART.
38643
38644 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38645 conditional.
38646
524a1e6a 386472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38648
38649 Clean up the code to support 64-bit addressing in disks and
38650 files. This change is not enough for filesystems yet.
f19dbdb7 38651
524a1e6a 38652 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38653 type of "start" to grub_uint64_t.
38654 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38655 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38656 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38657 convert addresses.
38658
38659 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38660 to grub_disk_addr_t.
38661
38662 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38663 string.
38664
38665 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38666
38667 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38668 to char *.
38669
38670 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38671
38672 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38673
38674 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38675
38676 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38677 to grub_off_t, to detect an error from grub_file_seek.
38678 (grub_multiboot_load_elf32): Likewise.
38679
38680 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38681 maximum unsigned long value when an overflow is detected.
38682 (grub_strtoull): New function.
38683 (grub_divmod64): Likewise.
38684 (grub_lltoa): use grub_divmod64.
38685
38686 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38687 grub_disk_addr_t.
38688 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38689 the pointer to next character. Use grub_strtoull instead of
38690 grub_strtoul.
38691 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38692 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38693 respectively.
38694
fe6b695a 38695 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38696 return value is signed.
38697 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38698 test if OFFSET is less than zero, as OFFSET is unsigned now.
38699
38700 * kern/disk.c (struct grub_disk_cache): Change the type of
38701 "sector" to grub_disk_addr_t.
38702 (grub_disk_cache_get_index): Change the type of SECTOR to
38703 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38704 unsigned after shifting.
38705 (grub_disk_cache_invalidate): Change the type of SECTOR to
38706 grub_disk_addr_t.
38707 (grub_disk_cache_unlock): Likewise.
38708 (grub_disk_cache_store): Likewise.
38709 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38710 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38711 grub_disk_addr_t and grub_uint64_t, respectively.
38712 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38713 body, as the value of OFFSET is tweaked by
38714 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38715 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38716 respectively.
38717 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38718 body, as the value of OFFSET is tweaked by
38719 grub_disk_check_range. Change the types of LEN and N to
38720 grub_size_t.
38721
38722 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38723 and "saved_offset" to grub_off_t.
38724 (test_header): Cast BUF to char *.
38725 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38726 to char *.
38727 (grub_gzio_read): Change the types of OFFSET and SIZE to
38728 grub_off_t and grub_size_t, respectively.
38729
38730 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38731 Removed.
38732 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38733 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38734 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38735 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38736 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38737
38738 * include/grub/types.h (grub_off_t): Unconditionally set to
38739 grub_uint64_t.
38740 (grub_disk_addr_t): Changed to grub_uint64_t.
38741
38742 * include/grub/partition.h (struct grub_partition): Change the
38743 types of "start", "len" and "offset" to grub_disk_addr_t,
38744 grub_uint64_t and grub_disk_addr_t, respectively.
38745 (grub_partition_get_start): Return grub_disk_addr_t.
38746 (grub_partition_get_len): Return grub_uint64_t.
38747
38748 * include/grub/misc.h (grub_strtoull): New prototype.
38749 (grub_divmod64): Likewise.
38750
38751 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38752 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38753 grub_off_t, respectively.
38754 All callers and references changed.
38755
38756 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38757 grub_size_t in "read".
38758 All callers and references changed.
38759
38760 * include/grub/file.h (struct grub_file): Change the types of
38761 "offset" and "size" to grub_off_t and grub_off_t,
38762 respectively. Change the type of SECTOR to grub_disk_addr_t in
38763 "read_hook".
38764 (grub_file_read): Change the type of LEN to grub_size_t.
38765 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38766 grub_off_t.
38767 (grub_file_size): Return grub_off_t.
38768 (grub_file_tell): Likewise.
38769 All callers and references changed.
38770
38771 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38772 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38773 "write".
38774 (struct grub_disk): Change the type of "total_sectors" to
38775 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38776 "read_hook".
524a1e6a 38777 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38778 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38779 (grub_disk_write): Likewise.
38780 All callers and references changed.
38781
38782 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38783 char * for grub_strncmp to silence gcc.
38784 (grub_iso9660_mount): Likewise.
38785 (grub_iso9660_mount): Likewise.
38786 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38787 return statement.
38788 (grub_iso9660_iterate_dir): Likewise.
38789 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38790
38791 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38792 LEN to grub_disk_addr_t and grub_size_t, respectively.
38793
38794 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38795
38796 * fs/jfs.c (grub_jfs_read_file): Likewise.
38797
38798 * fs/minix.c (grub_jfs_read_file): Likewise.
38799
38800 * fs/sfs.c (grub_jfs_read_file): Likewise.
38801
38802 * fs/ufs.c (grub_jfs_read_file): Likewise.
38803
38804 * fs/xfs.c (grub_jfs_read_file): Likewise.
38805
38806 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38807 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38808 respectively.
38809
38810 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38811 BLKNR to -1 instead of returning GRUB_ERRNO.
38812 (grub_ext2_read_file): Change the types of SECTOR and
38813 LEN to grub_disk_addr_t and grub_size_t, respectively.
38814
38815 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38816 LEN to grub_disk_addr_t and grub_size_t, respectively.
38817
38818 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38819 grub_file_read.
38820
38821 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38822 string. Do not cast SECTOR explicitly.
38823
38824 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38825 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38826 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38827 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38828 over 2TB and LBA mode is not supported, raise an error.
38829 (get_safe_sectors): New function.
38830 (grub_biosdisk_read): Use get_safe_sectors.
38831 (grub_biosdisk_write): Likewise.
38832
38833 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38834 (grub_efidisk_write): Likewise.
38835
38836 * disk/loopback.c (delete_loopback): Cosmetic changes.
38837 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38838 correctly.
38839 (grub_loopback_open): Likewise.
38840 (grub_loopback_read): Likewise. Also, change the type of POS to
38841 grub_off_t, and fix the usage of grub_memset.
38842
38843 * commands/i386/pc/play.c: Include grub/machine/time.h.
38844
38845 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38846 print FILE->SIZE.
38847
38848 * commands/configfile.c: Include grub/env.h.
38849
38850 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38851 GRUB_ERRNO directly instead. Change the type of POS to
38852 grub_off_t. Follow the coding standard.
38853
38854 * commands/blocklist.c: Include grub/partition.h.
38855 (grub_cmd_blocklist): Return an error if the underlying device is
38856 not a disk. Take the starting sector of a partition into account,
38857 if a partition is used.
38858
38859 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38860 a length field.
38861 (lba_mode): Support 64-bit addresses.
38862 (chs_mode): Likewise.
38863 (copy_buffer): Adapted to the new offsets of a length field and a
38864 segment field.
38865 (blocklist_default_start): Allocate 64-bit space.
38866
38867 * boot/i386/pc/boot.S (force_lba): Removed.
38868 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38869 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38870 space.
38871 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38872 is useless.
38873 (lba_mode): Refactored to support a 64-bit address. More size
38874 optimization.
38875 (setup_sectors): Likewise.
38876
53af98ad 388772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38878
38879 * DISTLIST: Added include/grub/i386/linux.h. Removed
38880 include/grub/i386/pc/linux.h
38881
38882 * configure.ac (AC_INIT): Bumped to 1.94.
38883
38884 * config.guess: Updated from gnulib.
38885 * config.sub: Likewise.
38886 * install-sh: Likewise.
38887 * mkinstalldirs: Likewise.
38888
b4c1940a 388892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38890
38891 * conf/common.rmk (grub_modules_init.lst): Depended on
38892 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38893 MODSRCFILES.
38894
38895 * genmk.rb (PModule::rule): Reverted the previous change.
38896
cfca1cfd 388972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38898
38899 * conf/common.rmk (grub_modules_init.lst): Depends on
38900 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38901 that the target does not exist before producing.
38902 (grub_modules_init.h): Remove the target before generating.
38903 (grub_emu_init.c): Likewise.
38904
38905 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38906
aa6d7826 389072006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38908
38909 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38910 for the target-specific tests. Make sure that we also have the
38911 up-to-date target variables for those tests.
38912
26c607b9 389132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38914
38915 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38916 (PModule::rule): Likewise.
38917
0162321a 389182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38919
38920 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38921 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38922 target-specific flags should be prefixed.
38923 (PModule::rule): Likewise.
38924
6c826348 389252006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38926
38927 * configure.ac (CMP): Check if cmp is available explicitly.
38928
b977bf01 389292006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38930
38931 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38932 (target_cpu): New variable.
38933 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38934
b977bf01 38935 * util/i386/pc/grub-install.in (host_cpu): Removed.
38936 (target_cpu): New variable.
38937 (pkglibdir): Use target_cpu instead of host_cpu.
38938
38939 * util/genmoddep.c: Removed.
f19dbdb7 38940
b977bf01 38941 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38942 instead of GRUB_HOST_SIZEOF_VOID_P.
38943 * kern/dl.c: Likewise.
38944
38945 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38946 ...
38947 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38948 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38949 (GRUB_TARGET_SIZEOF_LONG): ... this.
38950 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38951 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38952 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38953 to ...
38954 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38955 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38956 (GRUB_TARGET_SIZEOF_LONG): ... this.
38957 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38958 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38959 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38960 to ...
38961 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38962 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38963 (GRUB_TARGET_SIZEOF_LONG): ... this.
38964 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38965 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38966
38967 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38968 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38969 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38970 instead of GRUB_HOST_SIZEOF_LONG.
38971 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38972 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38973 GRUB_CPU_WORDS_BIGENDIAN.
38974 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38975 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38976 grub_host_ssize_t.
38977
38978 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38979 (genmoddep_SOURCES): Likewise.
38980 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38981 (genmoddep_SOURCES): Likewise.
38982 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38983 (genmoddep_SOURCES): Likewise.
38984 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38985 Likewise.
38986 (genmoddep_SOURCES): Likewise.
38987
38988 * genmoddep.awk: New file.
38989
38990 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38991 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38992 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38993 (PModule::rule): Likewise.
38994 (Program::rule): Likewise.
38995 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38996 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38997 respectively.
38998
38999 * configure.ac: Rewritten intensively to use host and target
39000 instead of build and host, respectively.
39001
39002 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39003 (host_cpu): Removed.
39004 (target_cpu): New variable.
39005 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39006 (BUILD_CC): Removed.
39007 (BUILD_CFLAGS): Likewise.
39008 (BUILD_CPPFLAGS): Likewise.
39009 (TARGET_CC): New variable.
39010 (TARGET_CFLAGS): Likewise.
39011 (TARGET_CPPFLAGS): Likewise.
39012 (TARGET_LDFLAGS): Likewise.
39013 (AWK): Likewise.
39014 (include): Use target_cpu instead of host_cpu.
39015 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39016
b977bf01 39017 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39018
f09771a1 390192006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39020
39021 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39022 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39023 field 'false' to 'exec_on_false'.
39024 (grub_script_create_cmdif): Renamed argument names to reflect above
39025 changes.
39026
39027 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39028
39029 * normal/script.c (grub_script_create_cmdif): Likewise.
39030
118f4fb3 390312006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39032
39033 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39034 top.
39035 (grub_hfsplus_btree_recptr): Likewise.
39036 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39037 FILEBLOCK both to pass a block number and store next block
39038 number.
39039 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39040 overflow file correctly. Specify errors appropriately, because
39041 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39042 grub_hfsplus_btree_recptr to get the pointer to a found key.
39043 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39044 is found.
39045
39046 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39047 linux.mod.
39048 (_linux_mod_SOURCES): New variable.
39049 (_linux_mod_CFLAGS): Likewise.
39050 (_linux_mod_LDFLAGS): Likewise.
39051 (linux_mod_SOURCES): Likewise.
39052 (linux_mod_CFLAGS): Likewise.
39053 (linux_mod_LDFLAGS): Likewise.
39054
39055 * DISTLIST: Added loader/i386/efi/linux.c,
39056 loader/i386/efi/linux_normal.c and
39057 include/grub/i386/efi/loader.h.
39058
39059 * loader/i386/efi/linux.c: New file.
39060 * loader/i386/efi/linux_normal.c: Likewise.
39061 * include/grub/i386/efi/loader.h: Likewise.
39062
89a7d726 390632006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39064
39065 * commands/blocklist.c: New file.
39066
39067 * DISTLIST: Added commands/blocklist.c.
39068
39069 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39070 color for the background, and a darker color for the foreground.
89a7d726 39071 (grub_console_checkkey): Return READ_KEY.
39072 (grub_console_cls): Set the background to
39073 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39074
39075 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39076
39077 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39078 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39079
39080 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39081 prototype.
39082
39083 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39084 BG. The spec is wrong again.
39085
39086 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39087 prototype.
39088 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39089
39090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39091 commands/blocklist.c.
39092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39093
89a7d726 39094 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39095 (blocklist_mod_SOURCES): New variable.
39096 (blocklist_mod_CFLAGS): Likewise.
39097 (blocklist_mod_LDFLAGS): Likewise.
39098
75c8f258 390992006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39100
39101 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39102 duplication.
39103 (lba_mode): Use %eax more intensively to reduce the code size.
39104
da2eb181 391052006-05-20 Marco Gerards <marco@gnu.org>
39106
39107 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39108
39109 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39110 for `menuentry'.
39111 (script): Accept leading newlines.
39112 (newlines): New rule to describe 0 or more newlines.
39113 (commands): Accept `command' with trailing newline. Fixed the
39114 order in which arguments were passed to `grub_script_add_cmd'.
39115 Accept commands separated by newlines.
39116 (function): Changed to accept newlines.
39117 (menuentry) Rewritten.
39118
39119 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39120 front of the list, instead of to the end.
39121
577b4050 391222006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39123
39124 * util/i386/pc/grub-install.in (bindir): New variable.
39125 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39126 Shaver <lbgwjl@gmail.com>.
39127
0d6e1189 391282006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39129
39130 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
39131 grub/machine/linux.h
39132 * loader/i386/pc/linux.c: Likewise.
39133
39134 * include/grub/i386/pc/linux.h: Moved to ...
39135 * include/grub/i386/linux.h: ... here.
39136
39137 * include/grub/i386/linux.h (struct linux_kernel_params): New
39138 struct.
f19dbdb7 39139
31b86e9f 391402006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
39141
39142 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
39143 checking.
39144 (grub_video_vbe_blit_glyph): Likewise.
39145 (grub_video_vbe_blit_bitmap): Likewise.
39146 (grub_video_vbe_blit_render_target): Likewise.
39147
83b984de 391482006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
39149
39150 * configure.ac (--with-platform): Properly quote the square
39151 brackets.
39152
5f0413bd 391532006-05-08 Marco Gerards <marco@gnu.org>
39154
39155 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
39156 this...
39157 (kernel_elf_HEADERS): ...to this. Updated all users.
39158 (grubof_symlist.c): Renamed from this...
39159 (kernel_elf_symlist.c): ...to this. Updated all users.
39160 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39161 (grubof_SOURCES): Renamed from this...
39162 (kernel_elf_SOURCES): ...to this.
39163 (grubof_HEADERS): Renamed from this...
39164 (kernel_elf_HEADERS): ...to this.
39165 (grubof_CFLAGS): Renamed from this...
39166 (kernel_elf_CFLAGS): ...to this.
39167 (grubof_ASFLAGS): Renamed from this...
39168 (kernel_elf_ASFLAGS): ...to this.
39169 (grubof_LDFLAGS): Renamed from this...
39170 (kernel_elf_LDFLAGS): ...to this.
39171
39172 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
39173 this...
39174 (kernel_elf_HEADERS): ...to this. Updated all users.
39175 (grubof_symlist.c): Renamed from this...
39176 (kernel_elf_symlist.c): ...to this. Updated all users.
39177 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
39178 (grubof_SOURCES): Renamed from this...
39179 (kernel_elf_SOURCES): ...to this.
39180 (grubof_HEADERS): Renamed from this...
39181 (kernel_elf_HEADERS): ...to this.
39182 (grubof_CFLAGS): Renamed from this...
39183 (kernel_elf_CFLAGS): ...to this.
39184 (grubof_ASFLAGS): Renamed from this...
39185 (kernel_elf_ASFLAGS): ...to this.
39186 (grubof_LDFLAGS): Renamed from this...
39187 (kernel_elf_LDFLAGS): ...to this.
39188
39189 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
39190 `kernel.elf' instead of `grubof'.
39191
05568c2e 391922006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
39193
39194 Add --with-platform to configure. Use pkglibdir instead of
39195 pkgdatadir. This is reported by Roger Leigh.
39196
39197 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
39198 (host_vendor): Likewise.
39199 (host_os): Likewise.
39200 (pkgdatadir): Likewise.
39201 (platform): New variable.
39202 (pkglibdir): Likewise.
39203 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 39204
05568c2e 39205 * util/i386/pc/grub-install.in (datadir): Removed.
39206 (host_vendor): Likewise.
39207 (host_os): Likewise.
39208 (pkgdatadir): Likewise.
39209 (platform): New variable.
39210 (pkglibdir): Likewise.
39211 Use PKGLIBDIR instead of PKGDATADIR.
39212
39213 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
39214 instead of GRUB_DATADIR.
39215 (main): Likewise.
39216 * util/i386/pc/grub-mkimage.c (usage): Likewise.
39217 (main): Likewise.
39218 * util/i386/efi/grub-mkimage.c (usage): Likewise.
39219 (main): Likewise.
39220
39221 * configure.ac (--with-platform): New option.
39222 Use PLATFORM instead of HOST_VENDOR to specify a platform.
39223
39224 * Makefile.in: Include a makefile based on PLATFORM instead of
39225 HOST_VENDOR.
39226 (pkgdatadir): Not appended by the machine type.
39227 (pkglibdir): Appended by the machine type.
39228 (host_vendor): Removed.
39229 (platform): New variable.
39230 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
39231 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
39232 (uninstall): Likewise.
39233
4e93851c 392342006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
39235
39236 Use the environment context in the menu. Remove the commands
39237 "default" and "timeout", and use variables instead.
f19dbdb7 39238
4e93851c 39239 * normal/menu.c: Include grub/env.h.
39240 (print_entry): Cast TITLE to silence gcc.
39241 (get_timeout): New function.
39242 (set_timeout): Likewise.
39243 (get_entry_number): Likewise.
39244 (run_menu): Use a default entry, a fallback entry and a timeout
39245 in the environment variables "default", "fallback" and
39246 "timeout". Also, tweak the default entry if it is not within the
39247 current menu entries.
39248 (grub_menu_run): Use a fallback entry in the environment variable
39249 "fallback".
39250
39251 * normal/main.c (read_config_file): Do not initialize
39252 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
39253 NEWMENU->TIMEOUT.
39254 (grub_normal_execute): Use a data slot to store the menu.
39255
39256 * include/grub/normal.h (struct grub_menu): Removed default_entry,
39257 fallback_entry and timeout.
39258 (struct grub_menu_list): Removed.
39259 (grub_menu_list_t): Likewise.
39260 (struct grub_context): Likewise.
39261 (grub_context_t): Likewise.
39262 (grub_context_get): Likewise.
39263 (grub_context_get_current_menu): Likewise.
39264 (grub_context_push_menu): Likewise.
39265 (grub_context_pop_menu): Likewise.
39266 (grub_default_init): Likewise.
39267 (grub_default_fini): Likewise.
39268 (grub_timeout_init): Likewise.
39269 (grub_timeout_fini): Likewise.
39270
39271 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
39272 and timeout.mod.
39273 (normal_mod_SOURCES): Removed normal/context.c.
39274
39275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
39276 commands/default.c, commands/timeout.c and normal/context.c.
39277 (normal_mod_SOURCES): Removed normal/context.c.
39278
39279 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
39280 commands/timeout.c and normal/context.c.
39281 (normal_mod_SOURCES): Removed normal/context.c.
39282
39283 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
39284 commands/default.c, commands/timeout.c and normal/context.c.
39285 (normal_mod_SOURCES): Removed normal/context.c.
39286
39287 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
39288 timeout.mod.
39289 (default_mod_SOURCES): Removed.
39290 (default_mod_CFLAGS): Likewise.
39291 (default_mod_LDFLAGS): Likewise.
39292 (timeout_mod_SOURCES): Removed.
39293 (timeout_mod_CFLAGS): Likewise.
39294 (timeout_mod_LDFLAGS): Likewise.
39295
39296 * DISTLIST: Removed commands/default.c, commands/timeout.c and
39297 normal/context.c.
39298
39299 * commands/default.c: Removed.
39300 * commands/timeout.c: Likewise.
39301 * normal/context.c: Likewise.
39302
1eb9cc1d 393032006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
39304
39305 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
39306
385bd9c1 393072006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
39308
39309 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
39310 "next" to "prev" for readability.
39311 (struct grub_env_sorted_var): New struct.
39312 (grub_env_context): Renamed to ...
39313 (initial_context): ... this.
39314 (grub_env_var_context): Renamed to ...
39315 (current_context): ... this.
39316 (grub_env_find): Look only at CURRENT_CONTEXT.
39317 (grub_env_context_open): Rewritten to copy exported variables from
39318 previous context.
39319 (grub_env_context_close): Rewritten according to the new
39320 scheme. Also, add an assertion to prevent the initial context from
39321 removed.
39322 (grub_env_insert): Removed the code for the sorted list.
39323 (grub_env_remove): Likewise.
39324 (grub_env_export): Simply mark the variable with
39325 GRUB_ENV_VAR_GLOBAL.
39326 (grub_env_set): A cosmetic change for naming consistency.
39327 (grub_env_get): Likewise.
39328 (grub_env_unset): Likewise.
39329 (grub_env_iterate): Rewritten to sort variables within this
39330 function.
39331 (grub_register_variable_hook): Fixed for naming consistency. Call
39332 grub_env_find again, only if NAME is not found at the first time.
39333 (mangle_data_slot_name): New function.
39334 (grub_env_set_data_slot): Likewise.
39335 (grub_env_get_data_slot): Likewise.
39336 (grub_env_unset_data_slot): Likewise.
39337
39338 * include/grub/env.h (grub_env_var_type): New enum.
39339 (GRUB_ENV_VAR_LOCAL): New constant.
39340 (GRUB_ENV_VAR_GLOBAL): Likewise.
39341 (GRUB_ENV_VAR_DATA): Likewise.
39342 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
39343 "type".
39344 (grub_env_set): Replace VAR with NAME for consistency.
39345 (grub_register_variable_hook): Likewise.
39346 (grub_env_export): Specify the name of the argument.
39347 (grub_env_set_data_slot): New prototype.
39348 (grub_env_get_data_slot): Likewise.
39349 (grub_env_unset_data_slot): Likewise.
39350
7f362539 393512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39352
39353 Extend the loader so that GRUB can accept a loader which comes
39354 back to GRUB when a loaded image exits. Also, this change adds
39355 support for a chainloader on EFI.
f19dbdb7 39356
7f362539 39357 * term/efi/console.c: Include grub/misc.h.
39358 (grub_console_checkkey): Display a scan code on the top for
39359 debugging. This will be removed once the EFI port gets stable.
39360 Correct the scan code mapping.
39361
39362 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
39363 allocate memory from larger regions, in order to reduce the number
39364 of allocated regions. Otherwise, the MacOSX loader panics.
39365 (filter_memory_map): Avoid less than 1MB for compatibility with
39366 other loaders.
39367 (add_memory_regions): Allocate from the tail of a region, if
39368 possible, to avoid allocating a region near to 1MB, for the MacOSX
39369 loader.
39370
39371 * kern/efi/init.c (grub_efi_set_prefix): Specify
39372 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
39373
39374 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
39375 argument IMAGE_HANDLE and specify it to get a loaded image.
39376 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
39377 grub_efi_get_loaded_image.
fe6b695a 39378 (grub_efi_get_filename): Divide the length by the size of
7f362539 39379 grub_efi_char16_t.
39380 (grub_efi_get_device_path): New function.
39381 (grub_efi_print_device_path): Print End Device Path nodes. Divide
39382 the length by the size of grub_efi_char16_t for a file path device
39383 path node.
39384
39385 * kern/loader.c (grub_loader_noreturn): New variable.
39386 (grub_loader_set): Accept a new argument NORETURN. Set
39387 GRUB_LOADER_NORETURN to NORETURN.
39388 All callers changed.
39389 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
39390 grub_machine_fini.
39391
39392 * include/grub/efi/efi.h (grub_efi_get_device_path): New
39393 prototype.
39394 (grub_efi_get_loaded_image): Take an argument to specify an image
39395 handle.
39396
39397 * include/grub/loader.h (grub_loader_set): Added one more argument
39398 NORETURN.
39399
39400 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
39401 instead of grub_efi_open_protocol.
39402 (grub_efidisk_get_device_name): Likewise.
39403 (grub_efidisk_close): Print a newline.
39404 (grub_efidisk_get_device_handle): Fixed to use
39405 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
39406 GRUB_EFI_DEVICE_PATH_TYPE.
39407
39408 * disk/efi/efidisk.c (device_path_guid): Moved to ...
39409 * kern/efi/efi.c (device_path_guid): ... here.
39410
39411 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
39412 chain.mod.
39413 (kernel_mod_HEADERS): Added efi/disk.h.
39414 (_chain_mod_SOURCES): New variable.
39415 (_chain_mod_CFLAGS): Likewise.
39416 (_chain_mod_LDFLAGS): Likewise.
39417 (chain_mod_SOURCES): Likewise.
39418 (chain_mod_CFLAGS): Likewise.
39419 (chain_mod_LDFLAGS): Likewise.
39420
39421 * DISTLIST: Added include/grub/efi/chainloader.h,
39422 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
39423
39424 * include/grub/efi/chainloader.h: New file.
39425 * loader/efi/chainloader.c: Likewise.
39426 * loader/efi/chainloader_normal.c: Likewise.
39427
c0111d6e 394282006-04-30 Marco Gerards <marco@gnu.org>
39429
39430 * commands/configfile.c (grub_cmd_source): New function.
39431 (GRUB_MOD_INIT): Register the commands `source' and `.'.
39432 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
39433
df5341da 394342006-04-30 Marco Gerards <marco@gnu.org>
39435
39436 * normal/execute.c (grub_script_execute_cmd): Change the return
39437 type to `grub_err_t'. Correctly return the error.
39438 (grub_script_execute_cmdline): In case a command line is not a
39439 command or a function, try to interpret it as an assignment.
39440
f85934bd 394412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
39442
39443 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
39444 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
39445 skip a node whose name is obviously invalid as UTF-16,
39446 i.e. contains a NUL character. Stop the iteration when the last
39447 directory entry is found. Instead of using the return value of
39448 grub_hfsplus_btree_iterate_node, store the value in RET and use
39449 it, because the iterator can be stopped by the last directory
39450 entry.
39451
8f8a2cf8 394522006-04-30 Marco Gerards <marco@gnu.org>
39453
39454 * include/grub/env.h (grub_env_export): New prototype. Reported
39455 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
39456
a27e84ce 394572006-04-30 Marco Gerards <marco@gnu.org>
39458
39459 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
39460 size of the extents in a catalog file record.
39461
eaef0553 394622006-04-29 Marco Gerards <marco@gnu.org>
39463
39464 * commands/configfile.c (grub_cmd_configfile): Execute the
39465 configfile within its own context.
39466
39467 * include/grub/env.h (grub_env_context_open): New prototype.
39468 (grub_env_context_close): Likewise.
39469
39470 * kern/env.c (grub_env): Removed.
39471 (grub_env_sorted): Likewise.
39472 (grub_env_context): New variable.
39473 (grub_env_var_context): Likewise.
39474 (grub_env_find): Search both the active context and the global
39475 context.
39476 (grub_env_context_open): New function.
39477 (grub_env_context_close): Likewise.
39478 (grub_env_insert): Likewise.
39479 (grub_env_remove): Likewise.
39480 (grub_env_export): Likewise.
39481 (grub_env_set): Changed to use helper functions to avoid code
39482 duplication.
39483 (grub_env_iterate): Rewritten so both the current context and the
39484 global context are being used.
39485
39486 * normal/command.c (export_command): New function.
39487 (grub_command_init): Register the `export' function.
39488
7b455f4d 394892006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
39490
39491 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
39492 explicitly to suppress gcc's warnings.
39493 * fs/fat.c (grub_fat_find_dir): Likewise.
39494 (grub_fat_label): Likewise.
39495 * fs/xfs.c (grub_xfs_read_inode): Likewise.
39496 (grub_xfs_mount): Likewise.
39497 (grub_xfs_label): Likewise.
39498 * fs/affs.c (grub_affs_mount): Likewise.
39499 (grub_affs_label): Likewise.
39500 (grub_affs_iterate_dir): Likewise.
39501 * fs/sfs.c (grub_sfs_mount): Likewise.
39502 (grub_sfs_iterate_dir): Likewise.
39503 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
39504 * fs/hfs.c (grub_hfs_mount): Likewise.
39505 (grub_hfs_cmp_catkeys): Likewise.
39506 (grub_hfs_find_dir): Likewise.
39507 (grub_hfs_dir): Likewise.
39508 (grub_hfs_label): Likewise.
39509 * fs/jfs.c (grub_jfs_mount): Likewise.
39510 (grub_jfs_opendir): Likewise.
39511 (grub_jfs_getent): Likewise.
39512 (grub_jfs_lookup_symlink): Likewise.
39513 (grub_jfs_label): Likewise.
39514 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
39515 (grub_hfsplus_iterate_dir): Likewise.
39516 (grub_hfsplus_btree_iterate_node): Made static.
39517
39518 * util/grub-emu.c (prefix): New variable.
39519 (grub_machine_set_prefix): New function.
39520 (main): Do not set the environment variable "prefix" here. Only
39521 set PREFIX, which is used later by grub_machine_set_prefix.
39522
39523 * include/grub/video.h: Do not include grub/symbol.h.
39524 (grub_video_register): Not exported. This symbol is not defined in
39525 the kernel.
39526 (grub_video_unregister): Likewise.
39527 (grub_video_iterate): Likewise.
39528 (grub_video_setup): Likewise.
39529 (grub_video_restore): Likewise.
39530 (grub_video_get_info): Likewise.
39531 (grub_video_get_blit_format): Likewise.
39532 (grub_video_set_palette): Likewise.
39533 (grub_video_get_palette): Likewise.
39534 (grub_video_set_viewport): Likewise.
39535 (grub_video_get_viewport): Likewise.
39536 (grub_video_map_color): Likewise.
39537 (grub_video_map_rgb): Likewise.
39538 (grub_video_map_rgba): Likewise.
39539 (grub_video_fill_rect): Likewise.
39540 (grub_video_blit_glyph): Likewise.
39541 (grub_video_blit_bitmap): Likewise.
39542 (grub_video_blit_render_target): Likewise.
39543 (grub_video_scroll): Likewise.
39544 (grub_video_swap_buffers): Likewise.
39545 (grub_video_create_render_target): Likewise.
39546 (grub_video_delete_render_target): Likewise.
39547 (grub_video_set_active_render_target): Likewise.
39548
39549 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
39550 Undefined.
39551 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
39552
39553 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
39554 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39555 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39556 instead of $(srcdir)/genkernsyms.sh.
39557
39558 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
39559 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39560 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39561 instead of $(srcdir)/genkernsyms.sh.
39562
39563 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
39564 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39565 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39566 instead of $(srcdir)/genkernsyms.sh.
39567
39568 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
39569 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
39570 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
39571 instead of $(srcdir)/genkernsyms.sh.
39572
39573 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
39574 genkernsyms.sh.
39575
39576 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
39577 genkernsyms.sh.
39578 (gensymlist.sh): New target.
39579 (genkernsyms.sh): Likewise.
39580
39581 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
39582 genkernsyms.sh.in and gensymlist.sh.in.
39583
39584 * genkernsyms.sh: Removed.
39585 * gensymlist.sh: Likewise.
f19dbdb7 39586
7b455f4d 39587 * genkernsyms.sh.in: New file.
39588 * gensymlist.sh.in: Likewise.
39589
1885bb27 395902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39591
39592 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
39593 clobber "prefix", since we may have already set it manually.
39594
71538dff 395952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
39596
39597 * kern/misc.c (abort): New alias for grub_abort.
39598
2965c7cc 395992006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
39600
39601 A new machine-specific function "grub_machine_set_prefix" is
39602 defined. This is called after loading modules, so that a prefix
39603 initialization can use modules. Also, this change adds an
39604 intensive debugging feature for the memory manager via the
39605 configure option "--enable-mm-debug".
f19dbdb7 39606
2965c7cc 39607 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
39608 PART.LEN.
39609
39610 * kern/sparc64/ieee1275/init.c (abort): Removed.
39611 (grub_stop): Likewise.
39612 (grub_exit): New function.
39613 (grub_set_prefix): Renamed to ...
39614 (grub_machine_set_prefix): ... this.
39615 (grub_machine_init): Do not call grub_set_prefix.
39616
39617 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
39618 (grub_machine_set_prefix): ... this.
39619 (grub_machine_init): Do not call grub_set_prefix.
39620
39621 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
39622 (grub_machine_init): Do not set the prefix here.
39623
39624 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
39625
39626 * kern/efi/init.c: Include grub/mm.h.
39627 (grub_efi_set_prefix): New function.
39628
39629 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
39630 (grub_efi_get_filename): New function.
39631 (grub_print_device_path): Renamed to ...
39632 (grub_efi_print_device_path): ... this.
39633
39634 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39635 [MM_DEBUG] (grub_realloc): Likewise.
39636 [MM_DEBUG] (grub_free): Likewise.
39637 [MM_DEBUG] (grub_memalign): Likewise.
39638 [MM_DEBUG] (grub_mm_debug): New variable.
39639 [MM_DEBUG] (grub_debug_malloc): New function.
39640 [MM_DEBUG] (grub_debug_free): New function.
39641 [MM_DEBUG] (grub_debug_realloc): New function.
39642 [MM_DEBUG] (grub_debug_memalign): New function.
39643
39644 * kern/misc.c (grub_abort): Print a newline to distinguish
39645 the message.
39646
39647 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39648 grub_set_root_dev after loading modules. This is necessary when
39649 setting a prefix depends on modules.
39650
39651 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39652 (grub_efi_print_device_path): ... this.
39653 (grub_efi_get_filename): New prototype.
39654 (grub_efi_set_prefix): Likewise.
39655
39656 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39657 and grub/disk.h.
39658 (grub_efidisk_get_device_handle): New prototype.
39659 (grub_efidisk_get_device_name): Likewise.
39660
39661 * include/grub/mm.h: Include config.h.
39662 (MM_DEBUG): Removed.
39663 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39664 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39665 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39666 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39667 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39668 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39669 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39670 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39671 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39672
39673 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39674
39675 * disk/efi/efidisk.c: Include grub/partition.h.
39676 (iterate_child_devices): New function.
39677 (add_device): First, compare only last device path nodes, so that
39678 devices are sorted by the types.
39679 (grub_efidisk_get_device_handle): New function.
39680 (grub_efidisk_get_device_name): Likewise.
39681
39682 * configure.ac (--enable-mm-debug): New option to enable the
39683 memory manager debugging feature. This makes the binary much
39684 bigger, so is disabled by default.
39685
9cacaa17 396862006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39687
39688 Use grub_abort instead of grub_stop, and grub_exit must be
39689 define in each architecture now. Also, this change adds support
39690 for EFI disks.
f19dbdb7 39691
9cacaa17 39692 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39693 (grub_getkey): New function.
39694 (grub_term_get_current): Likewise.
39695
39696 * util/i386/pc/grub-setup.c: Include grub/term.h.
39697 (grub_getkey): New function.
39698 (grub_term_get_current): Likewise.
39699
39700 * util/misc.c (grub_stop): Renamed to ...
39701 (grub_exit): ... this.
39702
39703 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39704 (grub_exit): ... this.
39705 (grub_machine_init): Use grub_abort instead of abort.
39706 (grub_stop): Removed.
39707
39708 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39709 abort.
39710
39711 * kern/i386/pc/startup.S (grub_exit): New function.
39712 (cold_reboot): New label.
39713
39714 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39715 (grub_efi_init): Call grub_efidisk_init.
39716 (grub_efi_fini): Call grub_efidisk_fini.
39717
39718 * kern/efi/efi.c: Include grub/mm.h.
39719 (grub_efi_console_control_guid): Renamed to ...
39720 (console_control_guid): ... this.
39721 (grub_efi_loaded_image_guid): Renamed to ...
39722 (loaded_image_guid): ... this.
39723 (grub_efi_locate_handle): New function.
39724 (grub_efi_open_protocol): Likewise.
39725 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39726 GRUB_EFI_CONSOLE_CONTROL_GUID.
39727 (grub_efi_exit): Removed.
39728 (grub_stop): Likewise.
39729 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39730 (grub_exit): New function.
39731 (grub_print_device_path): Likewise.
39732
39733 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39734 (grub_enter_rescue_mode): Register "exit".
39735
39736 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39737 (grub_abort): New function.
39738
39739 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39740
39741 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39742
39743 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39744
39745 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39746 (grub_print_device_path): New prototype.
39747 (grub_efi_locate_handle): Likewise.
39748 (grub_efi_open_protocol): Likewise.
39749
39750 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39751 * disk/efi/efidisk.c: Likewise.
39752
39753 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39754
39755 * include/grub/efi/console_control.h
39756 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39757
39758 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39759 last 8 bytes as an array.
39760 (GRUB_EFI_DISK_IO_GUID): New macro.
39761 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39762 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39763 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39764 grub_uint8_t.
39765 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39766 (struct grub_efi_device_path): Rename the member "sub_type" to
39767 "subtype".
39768 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39769 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39770 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39771 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39772 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39773 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39774 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39775 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39776 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39777 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39778 (struct grub_efi_pci_device_path): New structure.
39779 (grub_efi_pci_device_path_t): New type.
39780 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39781 (struct grub_efi_pccard_device_path): New structure.
39782 (grub_efi_pccard_device_path_t): New type.
39783 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39784 (struct grub_efi_memory_mapped_device_path): New structure.
39785 (grub_efi_memory_mapped_device_path_t): New type.
39786 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39787 (struct grub_efi_vendor_device_path): New structure.
39788 (grub_efi_vendor_device_path_t): New type.
39789 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39790 (struct grub_efi_controller_device_path): New structure.
39791 (grub_efi_controller_device_path_t): New type.
39792 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39793 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39794 (struct grub_efi_acpi_device_path): New structure.
39795 (grub_efi_acpi_device_path_t): New type.
39796 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39797 (struct grub_efi_expanded_acpi_device_path): New structure.
39798 (grub_efi_expanded_acpi_device_path_t): New type.
39799 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39800 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39801 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39802 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39803 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39804 (struct grub_efi_atapi_device_path): New structure.
39805 (grub_efi_atapi_device_path_t): New type.
39806 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39807 (struct grub_efi_fibre_channel_device_path): New structure.
39808 (grub_efi_fibre_channel_device_path_t): New type.
39809 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39810 (struct grub_efi_1394_device_path): New structure.
39811 (grub_efi_1394_device_path_t): New type.
39812 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39813 (struct grub_efi_usb_device_path): New structure.
39814 (grub_efi_usb_device_path_t): New type.
39815 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39816 (struct grub_efi_usb_class_device_path): New structure.
39817 (grub_efi_usb_class_device_path_t): New type.
39818 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39819 (struct grub_efi_i2o_device_path): New structure.
39820 (grub_efi_i2o_device_path_t): New type.
39821 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39822 (struct grub_efi_mac_address_device_path): New structure.
39823 (grub_efi_mac_address_device_path_t): New type.
39824 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39825 (struct grub_efi_ipv4_device_path): New structure.
39826 (grub_efi_ipv4_device_path_t): New type.
39827 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39828 (struct grub_efi_ipv6_device_path): New structure.
39829 (grub_efi_ipv6_device_path_t): New type.
39830 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39831 (struct grub_efi_infiniband_device_path): New structure.
39832 (grub_efi_infiniband_device_path_t): New type.
39833 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39834 (struct grub_efi_uart_device_path): New structure.
39835 (grub_efi_uart_device_path_t): New type.
39836 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39837 (struct grub_efi_vendor_messaging_device_path): New structure.
39838 (grub_efi_vendor_messaging_device_path_t): New type.
39839 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39840 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39841 (struct grub_efi_hard_drive_device_path): New structure.
39842 (grub_efi_hard_drive_device_path_t): New type.
39843 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39844 (struct grub_efi_cdrom_device_path): New structure.
39845 (grub_efi_cdrom_device_path_t): New type.
39846 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39847 (struct grub_efi_vendor_media_device_path): New structure.
39848 (grub_efi_vendor_media_device_path_t): New type.
39849 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39850 (struct grub_efi_file_path_device_path): New structure.
39851 (grub_efi_file_path_device_path_t): New type.
39852 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39853 (struct grub_efi_protocol_device_path): New structure.
39854 (grub_efi_protocol_device_path_t): New type.
39855 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39856 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39857 (struct grub_efi_bios_device_path): New structure.
39858 (grub_efi_bios_device_path_t): New type.
39859 (struct grub_efi_disk_io): New structure.
39860 (grub_efi_disk_io_t): New type.
39861 (struct grub_efi_block_io_media): New structure.
39862 (grub_efi_block_io_media_t): New type.
39863 (struct grub_efi_block_io): New structure.
39864 (grub_efi_block_io_t): New type.
39865
39866 * include/grub/misc.h (grub_stop): Removed.
39867 (grub_exit): New prototype.
39868 (grub_abort): Likewise.
39869
39870 * include/grub/disk.h (enum grub_disk_dev_id): Added
39871 GRUB_DISK_DEVICE_EFIDISK_ID.
39872
39873 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39874 disk/efi/efidisk.c.
39875 (kernel_syms.lst): Remove the target if an error occurs.
39876
49986a9f 398772006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39878
39879 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39880 as it was simply too buggy.
39881
970d3b8a 398822006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39883
39884 * kern/misc.c (grub_lltoa): New function.
39885 (grub_vsprintf): Added support for the long long suffix,
39886 i.e. "ll".
39887
ff04ec24 398882006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39889
39890 * Makefile.in (LDFLAGS): Add variable.
39891 (LD): Remove variable.
39892 * configure.ac: Add -m32 to LDFLAGS.
39893 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39894 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39895 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39896 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39897 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39898 variables.
39899 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39900 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39901 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39902
37e5e1a4 399032006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39904
39905 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39906 length for unknown glyph.
39907
c352d8dd 399082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39909
2eab1c0d 39910 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39911
2eab1c0d 39912 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39913 completely. Accept one more argument DIR. The caller has changed.
39914
39915 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39916
39917 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39918 (grub_efi_loaded_image_guid): New variable.
39919 (grub_efi_get_loaded_image): New function.
39920 (grub_arch_modules_addr): Likewise.
39921
39922 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39923 prototype.
39924
39925 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39926 (struct grub_efi_loaded_image): New structure.
39927 (grub_efi_loaded_image_t): New type.
39928
399292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39930
c352d8dd 39931 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39932 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39933 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39934
6d01d6b4 399352006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39936
39937 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39938
976a4ea0 399392006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39940
39941 * DISTLIST: Added include/grub/efi/console.h,
39942 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39943 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39944
39945 * include/grub/efi/console.h: New file.
39946 * include/grub/efi/time.h: Likewise.
39947 * include/grub/i386/efi/kernel.h: Likewise.
39948 * kern/efi/init.c: Likewise.
39949 * kern/efi/mm.c: Likewise.
39950 * term/efi/console.c: Likewise.
f19dbdb7 39951
976a4ea0 39952 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39953 (grub_stop): Removed.
39954 (grub_get_rtc): Likewise.
39955 (grub_machine_init): Simply call grub_efi_init.
39956 (grub_machine_fini): Call grub_efi_fini.
39957
39958 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39959 (grub_efi_output_string): Removed.
39960 (grub_efi_stall): New function.
39961 (grub_stop): Likewise.
39962 (grub_get_rtc): Likewise.
39963
39964 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39965 (grub_efi_stall): New prototype.
39966 (grub_efi_allocate_pages): Likewise.
39967 (grub_efi_free_pages): Likewise.
39968 (grub_efi_get_memory_map): Likewise.
39969 (grub_efi_mm_init): Likewise.
39970 (grub_efi_mm_fini): Likewise.
39971 (grub_efi_init): Likewise.
39972 (grub_efi_fini): Likewise.
39973
39974 * include/grub/i386/efi/time.h: Do not include
39975 grub/symbol.h. Include grub/efi/time.h.
39976 (GRUB_TICKS_PER_SECOND): Removed.
39977 (grub_get_rtc): Likewise.
39978
39979 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39980 Added padding. The EFI spec is buggy.
39981 (GRUB_EFI_BLACK): New macro.
39982 (GRUB_EFI_BLUE): Likewise.
39983 (GRUB_EFI_GREEN): Likewise.
39984 (GRUB_EFI_CYAN): Likewise.
39985 (GRUB_EFI_RED): Likewise.
39986 (GRUB_EFI_MAGENTA): Likewise.
39987 (GRUB_EFI_BROWN): Likewise.
39988 (GRUB_EFI_LIGHTGRAY): Likewise.
39989 (GRUB_EFI_BRIGHT): Likewise.
39990 (GRUB_EFI_DARKGRAY): Likewise.
39991 (GRUB_EFI_LIGHTBLUE): Likewise.
39992 (GRUB_EFI_LIGHTGREEN): Likewise.
39993 (GRUB_EFI_LIGHTCYAN): Likewise.
39994 (GRUB_EFI_LIGHTRED): Likewise.
39995 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39996 (GRUB_EFI_YELLOW): Likewise.
39997 (GRUB_EFI_WHITE): Likewise.
39998 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39999 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40000 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40001 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40002 (GRUB_EFI_BACKGROUND_RED): Likewise.
40003 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40004 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40005 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40006 (GRUB_EFI_TEXT_ATTR): Likewise.
40007
40008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40009 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40010 (kernel_mod_HEADERS): Added efi/time.h.
40011
83709125 400122006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40013
40014 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40015 include/grub/efi/api.h, include/grub/efi/console_control.h,
40016 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40017 include/grub/i386/efi/time.h, kern/efi/efi.c,
40018 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40019 and util/i386/efi/grub-mkimage.c.
40020
40021 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40022
40023 * genmk.rb (PModule#rule): Do not export symbols if
40024 #{prefix}_EXPORTS is set to "no".
40025
40026 * conf/i386-efi.mk: New file.
40027 * conf/i386-efi.rmk: Likewise.
40028 * include/grub/efi/api.h: Likewise.
40029 * include/grub/efi/console_control.h: Likewise.
40030 * include/grub/efi/efi.h: Likewise.
40031 * include/grub/efi/pe32.h: Likewise.
40032 * include/grub/i386/efi/time.h: Likewise.
40033 * kern/efi/efi.c: Likewise.
40034 * kern/i386/efi/init.c: Likewise.
40035 * kern/i386/efi/startup.S: Likewise.
40036 * util/i386/efi/grub-mkimage.c: Likewise.
40037
400382006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40039
40040 * include/grub/script.h: Include <grub/parser.h> and
40041 "grub_script.tab.h".
40042 (struct grub_lexer_param): New struct.
40043 (struct grub_parser_param): Likewise.
40044 (grub_script_create_arglist): Pass the state in an argument.
40045 (grub_script_add_arglist): Likewise.
40046 (grub_script_create_cmdline): Likewise.
40047 (grub_script_create_cmdblock): Likewise.
40048 (grub_script_create_cmdif): Likewise.
40049 (grub_script_create_cmdmenu): Likewise.
40050 (grub_script_add_cmd): Likewise.
40051 (grub_script_arg_add): Likewise.
40052 (grub_script_lexer_ref): Likewise.
40053 (grub_script_lexer_deref): Likewise.
40054 (grub_script_lexer_record_start): Likewise.
40055 (grub_script_lexer_record_stop): Likewise.
40056 (grub_script_mem_record): Likewise.
40057 (grub_script_mem_record_stop): Likewise.
40058 (grub_script_malloc): Likewise.
40059 (grub_script_yylex): Likewise.
40060 (grub_script_yyparse): Likewise.
40061 (grub_script_yyerror): Likewise.
40062 (grub_script_yylex): Likewise.
40063 (grub_script_lexer_init): Return the state.
40064
40065 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40066 (grub_script_lexer_done): Likewise.
40067 (grub_script_lexer_getline): Likewise.
40068 (grub_script_lexer_refs): Likewise.
40069 (script): Likewise.
40070 (newscript): Likewise.
40071 (record): Likewise.
40072 (recording): Likewise.
40073 (recordpos): Likewise.
40074 (recordlen): Likewise.
40075 (grub_script_lexer_init): Return the state instead of setting
40076 global variables.
40077 (grub_script_lexer_ref): Use the newly added argument for state
40078 instead of globals.
40079 (grub_script_lexer_deref): Likewise.
40080 (grub_script_lexer_record_start): Likewise.
40081 (grub_script_lexer_record_stop): Likewise.
40082 (recordchar): Likewise.
40083 (nextchar): Likewise.
40084 (grub_script_yylex2): Likewise.
40085 (grub_script_yylex): Likewise.
40086 (grub_script_yyerror): Likewise.
40087
40088 * normal/parser.y (func_mem): Removed variable.
40089 (menu_entry): Likewise.
40090 (err): Likewise.
40091 (%lex-param): New parser option.
40092 (%parse-param): Likewise.
40093 (script): Always return the AST.
40094 (argument): Pass the state around.
40095 (arguments): Likewise.
40096 (grubcmd): Likewise.
40097 (commands): Likewise.
40098 (function): Likewise.
40099 (menuentry): Likewise.
40100 (if_statement): Likewise.
40101 (if): Likewise.
40102
40103 * normal/script.c (grub_script_memused): Removed variable.
40104 (grub_script_parsed): Likewise.
40105 (grub_script_malloc): Added a state argument. Use that instead of
40106 global variables.
40107 (grub_script_mem_record): Likewise.
40108 (grub_script_mem_record_stop): Likewise.
40109 (grub_script_arg_add): Likewise.
40110 (grub_script_add_arglist): Likewise.
40111 (grub_script_create_cmdline): Likewise.
40112 (grub_script_create_cmdif): Likewise.
40113 (grub_script_create_cmdmenu): Likewise.
40114 (grub_script_add_cmd): Likewise.
40115 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40116
e2a8c904 401172006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40118
40119 * normal/command.c (grub_command_init): Remove the title command.
40120
40121 * normal/lexer.c (grub_script_yylex): Renamed from this...
40122 (grub_script_yylex2): ... to this.
40123 (grub_script_yylex): New function. Temporary
40124 introduced to filter some tokens.
40125 (grub_script_yyerror): Print a newline.
40126
40127 * normal/main.c (read_config_file): Output information about the
40128 lines that contain errors. Wait for a key after all lines have
40129 been processed. Don't return an empty menu.
40130
40131 * normal/parser.y (func_mem): Don't initialize.
40132 (menu_entry): Likewise.
40133 (err): New variable.
40134 (script): Don't return anything when an error was encountered.
40135 (ws, returns): Removed rules.
40136 (argument): Disabled concatenated variable support.
40137 (arguments): Remove explicit separators.
40138 (grubcmd): Likewise.
40139 (function): Likewise.
40140 (menuentry): Likewise.
40141 (if): Likewise.
40142 (commands): Likewise. Add error handling.
40143
40144 * normal/script.c (grub_script_create_cmdline): If
40145 `grub_script_parsed' is 0, assume the parser encountered an error.
40146
c9a86192 401472006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
40148
40149 * configure.ac: Add support for EFI. Fix the typo
40150 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
40151
70f3b243 401522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40153
40154 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
40155 foreign multibyte characters should be shown correctly.
40156
65f201ad 401572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
40158
40159 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
40160 calculation.
40161 (read_config_file): Made it to close file before returning.
40162
b4b93674 401632006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
40164
40165 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
40166 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
40167 video/i386/pc/vbefill.c.
40168
40169 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
40170 video/i386/pc/vbefill.c.
40171
40172 * include/grub/video.h (grub_video_blit_format): New enum.
40173 (grub_video_mode_info): Added new member blit_format.
40174 (grub_video_get_blit_format): New function prototype.
40175
40176 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
40177 function prototype.
40178 (grub_video_vbe_map_rgb): Likewise.
40179 (grub_video_vbe_unmap_color): Likewise.
40180
40181 * include/grub/i386/pc/vbeblit.h: New file.
40182
40183 * include/grub/i386/pc/vbefill.h: New file.
40184
40185 * video/video.c (grub_video_get_blit_format): New function.
40186 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
40187 (grub_video_vbe_map_rgb): Likewise.
40188 (grub_video_vbe_unmap_color): Likewise.
40189
40190 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
40191 optimized fills.
40192 (grub_video_vbe_blit_render_target): Changed to use more optimized
40193 blits.
40194 (grub_video_vbe_setup): Added detection for optimized settings.
40195 (grub_video_vbe_create_render_target): Likewise.
40196
40197 * video/i386/pc/vbeblit.c: New file.
40198
40199 * video/i386/pc/vbefill.c: New file.
40200
c2379b9c 402012006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
40202
40203 * font/manager.c (grub_font_get_glyph): Removed font fixup from
40204 here...
40205
40206 * util/unifont2pff.rb: ... and moved it to here. Improved argument
40207 parsing to support both hex and dec ranges. If filename was missing
40208 show usage information.
40209
bd0d7896 402102006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
40211
40212 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
40213 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
40214
40215 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
40216 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
40217 (video_mod_SOURCES): Added.
40218 (video_mod_CFLAGS): Likewise.
40219 (video_mod_LDFLAGS): Likewise.
40220 (gfxterm_mod_SOURCES): Likewise.
40221 (gfxterm_mod_CFLAGS): Likewise.
40222 (gfxterm_mod_LDFLAGS): Likewise.
40223 (videotest_mod_SOURCES): Likewise.
40224 (videotest_mod_CFLAGS): Likewise.
40225 (videotest_mod_LDFLAGS): Likewise.
40226 (vesafb_mod_SOURCES): Removed.
40227 (vesafb_mod_CFLAGS): Likewise.
40228 (vesafb_mod_LDFLAGS): Likewise.
40229 (vga_mod_SOURCES): Likewise.
40230 (vga_mod_CFLAGS): Likewise.
40231 (vga_mod_LDFLAGS): Likewise.
40232
40233 * commands/videotest.c: New file.
40234
40235 * font/manager.c (fill_with_default_glyph): Modified to use
40236 grub_font_glyph.
40237 (grub_font_get_glyph): Likewise.
40238 (fontmanager): Renamed from this...
40239 (font_manager): ... to this.
40240
40241 * include/grub/font.h (grub_font_glyph): Added new structure.
40242 (grub_font_get_glyph): Modified to use grub_font_glyph.
40243
40244 * include/grub/misc.h (grub_abs): Added as inline function.
40245
40246 * include/grub/video.h: New file.
40247
40248 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
40249 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
40250 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
40251 (grub_vbe_get_controller_info): Renamed from this...
40252 (grub_vbe_bios_get_controller_info): ... to this.
40253 (grub_vbe_get_mode_info): Renamed from this...
40254 (grub_vbe_bios_get_mode_info): ... to this.
40255 (grub_vbe_set_mode): Renamed from this...
40256 (grub_vbe_bios_set_mode): ... to this.
40257 (grub_vbe_get_mode): Renamed from this...
40258 (grub_vbe_bios_get_mode): ... to this.
40259 (grub_vbe_set_memory_window): Renamed from this...
40260 (grub_vbe_bios_set_memory_window): ... to this.
40261 (grub_vbe_get_memory_window): Renamed from this...
40262 (grub_vbe_bios_get_memory_window): ... to this.
40263 (grub_vbe_set_scanline_length): Renamed from this...
40264 (grub_vbe_set_scanline_length): ... to this.
40265 (grub_vbe_get_scanline_length): Renamed from this...
40266 (grub_vbe_bios_get_scanline_length): ... to this.
40267 (grub_vbe_set_display_start): Renamed from this...
40268 (grub_vbe_bios_set_display_start): ... to this.
40269 (grub_vbe_get_display_start): Renamed from this...
40270 (grub_vbe_bios_get_display_start): ... to this.
40271 (grub_vbe_set_palette_data): Renamed from this...
40272 (grub_vbe_bios_set_palette_data): ... to this.
40273 (grub_vbe_set_pixel_rgb): Removed.
40274 (grub_vbe_set_pixel_index): Likewise.
40275
40276 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
40277 from this...
40278 (grub_vbe_bios_get_controller_info): ... to this.
40279 (grub_vbe_get_mode_info): Renamed from this...
40280 (grub_vbe_bios_get_mode_info): ... to this.
40281 (grub_vbe_set_mode): Renamed from this...
40282 (grub_vbe_bios_set_mode): ... to this.
40283 (grub_vbe_get_mode): Renamed from this...
40284 (grub_vbe_bios_get_mode): ... to this.
40285 (grub_vbe_set_memory_window): Renamed from this...
40286 (grub_vbe_bios_set_memory_window): ... to this.
40287 (grub_vbe_get_memory_window): Renamed from this...
40288 (grub_vbe_bios_get_memory_window): ... to this.
40289 (grub_vbe_set_scanline_length): Renamed from this...
40290 (grub_vbe_set_scanline_length): ... to this.
40291 (grub_vbe_get_scanline_length): Renamed from this...
40292 (grub_vbe_bios_get_scanline_length): ... to this.
40293 (grub_vbe_set_display_start): Renamed from this...
40294 (grub_vbe_bios_set_display_start): ... to this.
40295 (grub_vbe_get_display_start): Renamed from this...
40296 (grub_vbe_bios_get_display_start): ... to this.
40297 (grub_vbe_set_palette_data): Renamed from this...
40298 (grub_vbe_bios_set_palette_data): ... to this.
40299 (grub_vbe_bios_get_controller_info): Fixed problem with registers
40300 getting corrupted after calling it. Added more pushes and pops.
40301 (grub_vbe_bios_set_mode): Likewise.
40302 (grub_vbe_bios_get_mode): Likewise.
40303 (grub_vbe_bios_get_memory_window): Likewise.
40304 (grub_vbe_bios_set_scanline_length): Likewise.
40305 (grub_vbe_bios_get_scanline_length): Likewise.
40306 (grub_vbe_bios_get_display_start): Likewise.
40307 (grub_vbe_bios_set_palette_data): Likewise.
40308
40309 * normal/cmdline.c (cl_set_pos): Refresh the screen.
40310 (cl_insert): Likewise.
40311 (cl_delete): Likewise.
40312
40313 * term/gfxterm.c: New file.
40314
40315 * term/i386/pc/vesafb.c: Removed file.
40316
40317 * video/video.c: New file.
40318
40319 * video/i386/pc/vbe.c (real2pm): Added new function.
40320 (grub_video_vbe_draw_pixel): Likewise.
40321 (grub_video_vbe_get_video_ptr): Likewise.
40322 (grub_video_vbe_get_pixel): Likewise
40323 (grub_video_vbe_init): Likewise.
40324 (grub_video_vbe_fini): Likewise.
40325 (grub_video_vbe_setup): Likewise.
40326 (grub_video_vbe_get_info): Likewise.
40327 (grub_video_vbe_set_palette): Likewise.
40328 (grub_video_vbe_get_palette): Likewise.
40329 (grub_video_vbe_set_viewport): Likewise.
40330 (grub_video_vbe_get_viewport): Likewise.
40331 (grub_video_vbe_map_color): Likewise.
40332 (grub_video_vbe_map_rgb): Likewise.
40333 (grub_video_vbe_map_rgba): Likewise.
40334 (grub_video_vbe_unmap_color): Likewise.
40335 (grub_video_vbe_fill_rect): Likewise.
40336 (grub_video_vbe_blit_glyph): Likewise.
40337 (grub_video_vbe_blit_bitmap): Likewise.
40338 (grub_video_vbe_blit_render_target): Likewise.
40339 (grub_video_vbe_scroll): Likewise.
40340 (grub_video_vbe_swap_buffers): Likewise.
40341 (grub_video_vbe_create_render_target): Likewise.
40342 (grub_video_vbe_delete_render_target): Likewise.
40343 (grub_video_vbe_set_active_render_target): Likewise.
40344 (grub_vbe_set_pixel_rgb): Remove function.
40345 (grub_vbe_set_pixel_index): Likewise.
40346 (index_color_mode): Remove static variable.
40347 (active_mode): Likewise.
40348 (framebuffer): Likewise.
40349 (bytes_per_scan_line): Likewise.
40350 (grub_video_vbe_adapter): Added new static variable.
40351 (framebuffer): Likewise.
40352 (render_target): Likewise.
40353 (initial_mode): Likewise.
40354 (mode_in_use): Likewise.
40355 (mode_list): Likewise.
40356
5f97350b 403572006-03-10 Marco Gerards <marco@gnu.org>
40358
40359 * configure.ac (AC_INIT): Bumped to 1.93.
40360
40361 * DISTLIST: Added `include/grub/hfs.h'.
40362
a3c5c6f8 403632006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
40364
40365 * boot/i386/pc/boot.S (general_error): Before looping, try INT
40366 18H, which might help the BIOS falling back to next boot media.
40367
6de53d26 403682006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
40369
40370 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
40371 Poe Chen <poe.poechen@gmail.com>.
40372
77c4a393 403732006-01-17 Marco Gerards <marco@gnu.org>
40374
40375 * include/grub/normal.h: Include <grub/script.h>.
40376 (grub_command_list): Removed struct.
40377 (grub_command_list_t): Removed type.
40378 (grub_menu_entry): Remove members `num' and `command_list'. Add
40379 members `commands' and `sourcecode'.
40380 * include/grub/script.h: Add inclusion guards.
40381 (grub_script_cmd_menuentry): New struct.
40382 (grub_script_execute_menuentry): New prototype.
40383 (grub_script_lexer_record_start): Likewise.
40384 (grub_script_lexer_record_stop): Likewise.
40385 * normal/execute.c (grub_script_execute_menuentry): New function.
40386 * normal/lexer.c (record, recording, recordpos, recordlen): New
40387 variables.
40388 (grub_script_lexer_record_start): New function.
40389 (grub_script_lexer_record_stop): Likewise.
40390 (recordchar): Likewise.
40391 (nextchar): Likewise.
40392 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
40393 2048 as the buffer size. Add the tokens `menuentry' and `@'.
40394 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
40395 (current_menu): New variable.
40396 (free_menu): Mainly rewritten.
40397 (grub_normal_menu_addentry): New function.
40398 (read_config_file): Rewritten.
40399 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 40400 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 40401 the menu entry.
40402 (run): Mainly rewritten.
40403 * normal/parser.y (menu_entry): New variable.
40404 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
40405 (menuentry): New rule.
40406 (command): Add `menuentry'.
40407 (if_statement): Allow additional returns before `fi'.
40408 * normal/script.c (grub_script_create_cmdmenu): New function.
40409
144f1f98 404102006-01-03 Marco Gerards <marco@gnu.org>
40411
40412 * INSTALL: GNU Bison is required.
40413 * configure.ac: Rewritten the test to detect Bison.
40414 * Makefile.in (YACC): New variable. Reported by Xun Sun
40415 <xun.sun.cn@gmail.com>.
40416
af4b2d89 404172006-01-03 Marco Gerards <marco@gnu.org>
40418
40419 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
40420 the HFS+ filesystem to filesystem blocks.
40421 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
40422 GCC warning is silenced.
40423
15643b71 404242006-01-03 Marco Gerards <marco@gnu.org>
40425
40426 * partmap/apple.c (apple_partition_map_iterate): Convert the data
40427 read from disk from big endian to host byte order.
40428
00905879 404292006-01-03 Hollis Blanchard <hollis@penguinppc.org>
40430
40431 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
40432 documentation.
40433 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
40434 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
40435 embedded HFS+ filesystem.
40436 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
40437 (grub_hfs_sblock): Move from here...
40438 * include/grub/hfs.h: To here... New file.
40439 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
40440 documentation.
40441 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
40442 New macros.
40443 (grub_hfsplus_volheader): Change type of member `magic' to
40444 `grub_uint16_t'.
40445 (grub_hfsplus_data): Add new member `embedded_offset'.
40446 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
40447 returned block.
40448 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
40449 Calculate the offset.
40450
8899bc3e 404512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40452
40453 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
40454 Removed.
40455 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
40456
ae8c0277 404572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40458
40459 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
40460 ENV->NAME is NULL after allocating ENV->VALUE.
40461
07084456 404622005-12-25 Marco Gerards <marco@gnu.org>
40463
40464 * kern/env.c (grub_env_set): Rewritten the error handling code.
40465
4750f5f1 404662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40467
40468 * geninit.sh: Made more robust, and more portable.
40469
50214199 404702005-12-25 Marco Gerards <marco@gnu.org>
40471
40472 Add support for Apple HFS+ filesystems.
f19dbdb7 40473
50214199 40474 * fs/hfsplus.c: New file.
40475
40476 * DISTLIST: Added `fs/hfsplus.c'.
40477
40478 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
40479 (hfsplus_mod_SOURCES): New variable.
40480 (hfsplus_mod_CFLAGS): Likewise.
40481 (hfsplus_mod_LDFLAGS): Likewise.
40482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
40483 (grub_setup_SOURCES): Likewise.
40484 (grub_mkdevicemap_SOURCES): Likewise.
40485 (grub_emu_SOURCES): Likewise.
40486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40487
40488 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
40489
40490 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
40491
befaed6c 404922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
40493
40494 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
40495 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
40496 include/grub/parser.h, include/grub/script.h, kern/parser.c,
40497 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
40498 normal/lexer.c, normal/parser.y, normal/script.c, and
40499 partmap/gpt.c.
40500 Removed kern/sparc64/cache.c.
40501
40502 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
40503 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
40504 grub_emu_init.c.
40505
40506 * configure.ac (AC_INIT): Bumped to 1.92.
40507
6a124103 405082005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
40509
40510 * kern/err.c (grub_error_push): Added new function to support error
40511 stacks.
40512 (grub_error_pop): Likewise.
40513 (grub_error_stack_items): New local variable to support error stacks.
40514 (grub_error_stack_pos): Likewise.
40515 (grub_error_stack_assert): Likewise.
40516 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
40517 stack depth.
40518 (grub_print_error): Added support to print errors from error stack.
40519
40520 * include/grub/err.h (grub_error_push): Added function prototype.
40521 (grub_error_pop): Likewise.
40522
be973c1b 405232005-12-09 Hollis Blanchard <hollis@penguinppc.org>
40524
40525 * configure.ac: Accept `powerpc64' as host_cpu.
40526 (amd64): Rename to `biarch32'.
40527
40528 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
40529 non-cacheline-aligned addresses.
40530
40531 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
40532 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
40533 if `size' is non-zero.
40534
b04216ab 405352005-12-03 Marco Gerards <mgerards@xs4all.nl>
40536
40537 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
40538 and `cd' to make sure the filename is not prefixed with a
40539 directory name.
40540 (pkgdata_MODULES): Add `gpt.mod'.
40541 (gpt_mod_SOURCES): New variable.
40542 (gpt_mod_CFLAGS): Likewise.
40543 (gpt_mod_LDFLAGS): Likewise.
40544
40545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
40546
40547 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
40548 New macro.
40549
40550 * partmap/gpt.c: New file.
40551
40552 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
40553 GPT partition map is detected.
40554
41730ed9 405552005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
40556
40557 * commands/i386/pc/play.c: New file.
40558 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
40559 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
40560 macros.
f19dbdb7 40561
95dc3643 405622005-11-27 Marco Gerards <mgerards@xs4all.nl>
40563
40564 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
40565 ((unused))' to silence gcc warning.
40566
1569ec51 405672005-11-26 Hollis Blanchard <hollis@penguinppc.org>
40568
40569 * configure.ac: Correct `AC_PROG_YACC' test.
40570
9abde152 405712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40572
40573 * util/powerpc/ieee1275/grub-install.in: Run the mount point
40574 check before installing files.
40575
44b83271 405762005-11-22 Mike Small <smallm@panix.com>
40577
40578 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
40579 number regex so multidigit numbers are recognized correctly.
40580
405812005-11-22 Mike Small <smallm@panix.com>
40582
40583 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
40584 debugging message before attempting to claim memory.
40585 (grub_rescue_cmd_initrd): Add a claim debugging message and try
40586 multiple addresses in case of failure.
40587
9c12956b 405882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40589
40590 * term/tparm.c (get_space): Remove empty `if' statement.
40591
40592 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
40593
40594 * kern/parser.c (check_varstate): Rename `state' to 's'.
40595
aeaf81d9 405962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40597
40598 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
40599 variable definitions to the beginning of each function. Sort stack
40600 variables by size.
40601 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
40602 `buf' argument to `char *'.
40603
79bbb63f 406042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
40605
40606 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
40607 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40608 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 40609 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40610 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40611 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40612 configfile.mod, search.mod, gzio.mod and test.mod.
40613 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40614 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40615 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40616 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40617 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40618 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40619 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40620 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40621 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40622 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40623 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40624 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40625 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40626 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40627 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40628 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40629 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40630 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40631 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40632 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40633 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40634 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40635 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40636
40637 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40638 `grep --include'.
40639 (pkgdata_MODULES): Add test.mod.
40640
233b1628 406412005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40642
40643 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40644 appending to variables with "+=".
40645 (PModule): Use full pathname to generate *.lst filenames.
40646
40647 * Makefile.in: Fixed list rules moved from genmk.rb.
40648 (.DELETE_ON_ERROR): New special target.
40649 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40650
40651 * conf/i386-pc.rmk: Include conf/common.mk.
40652 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40653 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40654 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40655 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40656 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40657 configfile.mod, search.mod, gzio.mod and test.mod.
40658 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40659 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40660 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40661 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40662 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40663 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40664 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40665 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40666 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40667 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40668 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40669 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40670 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40671 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40672 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40673 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40674 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40675 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40676 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40677 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40678 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40679 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40680 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40681 here...
40682 * conf/common.rmk: ... to here. New file.
40683
40684 * conf/common.mk: New file.
40685
16f820c8 406862005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40687
40688 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40689 (grub_script.tab.c): ... here.
40690
40691 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40692 (grub_script.tab.c): ... here.
40693
40694 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40695 (grub_script.tab.c): ... here.
40696
40697 * normal/command.c (grub_command_find): Fixed a memory leak of
40698 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40699
63ba1554 407002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40701
40702 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40703 "@" which marks the start of a comment on ARM.
40704 (VARIABLE): Likewise.
40705
7f67dc13 407062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40707
79bbb63f 40708 Add support for Linux/ADFS partition tables.
7f67dc13 40709
40710 * partmap/acorn.c: New file.
40711
40712 * include/grub/acorn_filecore.h: Likewise.
40713
40714 * DISTLIST: Added `partmap/acorn.c' and
40715 `include/grub/acorn_filecore.h'.
f19dbdb7 40716
7f67dc13 40717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40718 `partmap/acorn.c'.
40719 (pkgdata_MODULES): Add `acorn.mod'.
40720 (acorn_mod_SOURCES): New variable.
40721 (acorn_mod_CFLAGS): Likewise.
40722
40723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40724 `partmap/acorn.c'.
40725 (pkgdata_MODULES): Add `acorn.mod'.
40726 (acorn_mod_SOURCES): New variable.
40727 (acorn_mod_CFLAGS): Likewise.
40728
40729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40730 (pkgdata_MODULES): Add `acorn.mod'.
40731 (acorn_mod_SOURCES): New variable.
40732 (acorn_mod_CFLAGS): Likewise.
40733 (acorn_mod_LDFLAGS): Likewise.
40734
40735 * include/types.h (grub_disk_addr_t): New typedef.
40736
6d099807 407372005-11-13 Marco Gerards <mgerards@xs4all.nl>
40738
40739 * geninit.sh: New file.
40740
40741 * geninitheader.sh: Likewise.
40742
40743 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40744 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40745 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40746 * commands/configfile.c (grub_configfile_init)
40747 (grub_configfile_fini): Likewise.
40748 * commands/default.c (grub_default_init, grub_default_fini):
40749 Likewise.
40750 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40751 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40752 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40753 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40754 Likewise.
40755 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40756 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40757 Likewise.
40758 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40759 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40760 Likewise.
40761 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40762 Likewise.
fe6b695a 40763 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40764 Likewise.
40765 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40766 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40767 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40768 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40769 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40770 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40771 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40772 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40773 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40774 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40775 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40776 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40777 * partmap/amiga.c (grub_amiga_partition_map_init)
40778 (grub_amiga_partition_map_fini): Likewise.
40779 * partmap/apple.c (grub_apple_partition_map_init)
40780 (grub_apple_partition_map_fini): Likewise.
40781 * partmap/pc.c (grub_pc_partition_map_init)
40782 (grub_pc_partition_map_fini): Likewise.
40783 * partmap/sun.c (grub_sun_partition_map_init,
40784 grub_sun_partition_map_fini): Likewise.
40785 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40786 Likewise.
40787
40788 * util/grub-emu.c: Include <grub_modules_init.h>.
40789 (main): Don't initialize and de-initialize any modules directly,
40790 use `grub_init_all' and `grub_fini_all' instead.
40791
40792 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40793 `grub_vesafb_mod_init'.
40794 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40795 all users.
40796 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40797 `grub_vga_mod_init'. Updated all users.
40798 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40799
6d099807 40800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40801 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40802 rules.
40803
40804 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40805 Generate a function to initialize the module in utilities.
40806 Updated all callers.
40807 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40808 initialize the module in utilities. Updated all callers.
40809
9046bcf0 408102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40811
40812 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40813 escape sequence and a literal ^L to clear the screen.
40814
40815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40816 when returning from Open Firmware.
40817
d13ea639 408182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40819
40820 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40821 (grub_ofconsole_height): Likewise.
40822 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40823 manually insert a '\n'.
40824 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40825 `grub_ofconsole_height'. Return early if these are already set.
40826
a8fcf206 408272005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40828
40829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40830 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40831 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40832 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40833 and `normal/script.c'.
40834 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40835 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40836 (test_mod_SOURCES): New variable.
40837 (test_mod_CFLAGS): Likewise.
40838 (test_mod_LDFLAGS): Likewise.
40839 (pkgdata_MODULES): Add `test.mod'.
40840 (grub_script.tab.c): New rule.
40841 (grub_script.tab.h): Likewise.
40842
b6b32745 408432005-11-07 Marco Gerards <mgerards@xs4all.nl>
40844
40845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40846 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40847 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40848 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40849 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40850 (test_mod_SOURCES): New variable.
40851 (test_mod_CFLAGS): Likewise.
40852 (pkgdata_MODULES): Add `test.mod'.
40853 (grub_script.tab.c): New rule.
40854 (grub_script.tab.h): Likewise.
40855
daac212a 408562005-11-06 Marco Gerards <mgerards@xs4all.nl>
40857
40858 Add initial scripting support.
40859
40860 * commands/test.c: New file.
40861 * include/grub/script.h: Likewise.
40862 * normal/execute.c: Likewise.
40863 * normal/function.c: Likewise.
40864 * normal/lexer.c: Likewise.
40865 * normal/parser.y: Likewise.
40866 * normal/script.c: Likewise.
40867
40868 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40869
daac212a 40870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40871 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40872 `normal/function.c' and `normal/script.c'.
40873 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40874 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40875 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40876 variables.
daac212a 40877 (pkgdata_MODULES): Add `test.mod'.
40878 (grub_script.tab.c): New rule.
40879 (grub_script.tab.h): Likewise.
40880
40881 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40882
40883 * include/grub/normal.h (grub_test_init): New prototype.
40884 (grub_test_fini): Likewise.
f19dbdb7 40885
daac212a 40886 * normal/command.c: Include <grub/script.h>.
40887 (grub_command_execute): Rewritten.
f19dbdb7 40888
daac212a 40889 * util/grub-emu.c (main): Call `grub_test_init' and
40890 `grub_test_fini'.
40891
77500b2b 408922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40893
40894 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40895 to 0.
40896 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40897 there are no pending characters.
40898
e45deb9e 408992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40900
40901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40902 `grub_strndup' to drop device arguments. Replace unnecessary
40903 `grub_strndup' with `grub_strdup'.
40904
4ce32619 409052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40906
40907 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40908 `debug' environment variable has been set.
40909
409102005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40911
4ce32619 40912 * Makefile.in (install-local): Use $(DATA).
40913 (uninstall): Likewise.
40914 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40915 (sbin_UTILITIES): ... to here.
40916 (sbin_SCRIPTS): New variable.
40917 (grub_install_SOURCES): New variable.
40918 * util/powerpc/ieee1275/grub-install.in: New file.
40919 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40920 variable.
40921 (add_segments): Call `grub_util_get_path'.
40922
25fe6f03 409232005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40924
40925 From Timothy Baldwin:
40926 * commands/ls.c (grub_ls_list_files): Close FILE with
40927 grub_file_close.
40928 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40929
04ccf3ec 409302005-10-24 Marco Gerards <mgerards@xs4all.nl>
40931
40932 * include/grub/parser.h: New file.
40933
40934 * kern/parser.c: Likewise.
40935
40936 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40937 (grub_setup_SOURCES): Likewise.
40938 (grub_probefs_SOURCES): Likewise.
40939 (grub_emu_SOURCES): Likewise.
40940 (kernel_img_HEADERS): Add `parser.h'.
40941
40942 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40943 (grub_emu_SOURCES): Add `kern/parser.c'.
40944 (grubof_SOURCES): Likewise.
40945
40946 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40947 (grubof_SOURCES): Add `kern/parser.c'.
40948
40949 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40950
40951 * kern/misc.c (grub_split_cmdline): Removed function.
40952
40953 * kern/rescue.c: Include <grub/parser.h>.
40954 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40955 of `grub_split_cmdline'.
40956
40957 * normal/command.c: Include <grub/parser.h>.
40958 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40959 of `grub_split_cmdline'.
40960
40961 * normal/completion.c: Include <grub/parser.h>.
40962 (cmdline_state): New variable.
40963 (iterate_dir): End the filename with a quote depending on the
40964 command line state.
40965 (get_state): new function.
40966 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40967 split the arguments and determine the current argument. When the
40968 argument string is not quoted, escape all spaces.
40969
6d8f4b0e 409702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40971
40972 * normal/sparc64/setjmp.S: New file.
40973
15cf03ed 409742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40975
40976 * include/grub/sparc64/libgcc.h: New file.
40977 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40978 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40979 normal/sparc64/setjmp.c.
40980
03e8661a 409812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40982
40983 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40984 * kern/sparc64/cache.S: New file.
40985 * kern/sparc64/cache.c: Removed.
40986 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40987 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40988 -mtune=ultrasparc.
40989 (COMMON_LDFLAGS): Add -melf64_sparc.
40990 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40991 (grubof_SOURCES): Use cache.S instead of cache.c.
40992 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40993 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40994 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40995 commented though.
40996 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40997 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40998 (linux_mod_CFLAGS): Commented out.
40999 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41000 out because module isn't built.
41001 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41002 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41003 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41004 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41005 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41006 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41007 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41008 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41009 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41010 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41011 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41012 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41013 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41014 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41015
34eeec8a 410162005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41017
41018 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41019 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41020 longer, because HFS should not be used on PC.
41021
708367a3 410222005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41023
41024 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41025 consistently within the loop.
41026
6fa1251a 410272005-10-15 Marco Gerards <mgerards@xs4all.nl>
41028
41029 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41030 directory can not be read.
41031
4801580b 410322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41033
41034 * configure.ac (AC_INIT): Increase the version number to 1.91.
41035
41036 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41037 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41038 term/i386/pc/serial.c.
41039
219ad426 410402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41041
41042 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41043 file size must be permitted.
41044
41045 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41046 between %ah and %al.
41047
688e5699 410482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41049
41050 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41051 grub_uint64_t.
41052 Call the hook with a NUL-terminated filename.
41053 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41054 grub_cpu_to_be32.
41055
41056 * kern/term.c (cursor_state): New variable.
41057 (grub_term_set_current): Reset the cursor state on a new
41058 terminal.
41059 (grub_setcursor): Rewritten to use CURSOR_STATE.
41060 (grub_getcursor): New function.
41061
41062 * include/grub/term.h (grub_getcursor): New prototype.
41063
41064 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41065 integers on ARM. Reported by Timothy Baldwin
41066 <T.E.Baldwin99@members.leeds.ac.uk>.
41067
bb34586c 410682005-10-11 Marco Gerards <mgerards@xs4all.nl>
41069
41070 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41071 allocated.
41072 (grub_sfs_dir): Likewise.
41073
9a909877 410742005-10-09 Marco Gerards <mgerards@xs4all.nl>
41075
41076 Add support for the SFS filesystem.
41077
41078 * fs/sfs.c: New file.
41079
41080 * DISTLIST: Added `fs/sfs.c'.
41081
41082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41083 (grub_probefs_SOURCES): Likewise.
41084 (grub_emu_SOURCES): Likewise.
41085 (pkgdata_MODULES): Add `sfs.mod'.
41086 (sfs_mod_SOURCES): New variable.
41087 (sfs_mod_CFLAGS): Likewise.
41088 (sfs_mod_LDFLAGS): Likewise.
41089
41090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41091 (pkgdata_MODULES): Add `sfs.mod'.
41092 (sfs_mod_SOURCES): New variable.
41093 (sfs_mod_CFLAGS): Likewise.
41094
41095 * util/grub-emu.c (main): Call `grub_sfs_init' and
41096 `grub_sfs_fini'.
41097
41098 * include/grub/fs.h (grub_sfs_init): New prototype.
41099 (grub_sfs_fini): Likewise.
41100
57bdbde3 411012005-10-07 Marco Gerards <mgerards@xs4all.nl>
41102
41103 Add support for the AFFS filesystem.
41104
41105 * fs/affs.c: New file.
41106
41107 * DISTLIST: Added `fs/affs.c'.
41108
41109 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41110 (grub_probefs_SOURCES): Likewise.
41111 (grub_emu_SOURCES): Likewise.
41112 (pkgdata_MODULES): Add `affs.mod'.
41113 (affs_mod_SOURCES): New variable.
41114 (affs_mod_CFLAGS): Likewise.
41115 (affs_mod_LDFLAGS): Likewise.
41116
41117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41118 (pkgdata_MODULES): Add `affs.mod'.
41119 (affs_mod_SOURCES): New variable.
41120 (affs_mod_CFLAGS): Likewise.
41121
41122 * util/grub-emu.c (main): Call `grub_affs_init' and
41123 `grub_affs_fini'.
41124
41125 * include/grub/fs.h (grub_affs_init): New prototype.
41126 (grub_affs_fini): Likewise.
41127
047b67e0 411282005-10-01 Marco Gerards <mgerards@xs4all.nl>
41129
41130 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
41131
59b8208a 411322005-10-01 Marco Gerards <mgerards@xs4all.nl>
41133
41134 * configure.ac: Accept `x86_64' as host_cpu. In that case add
41135 `-m32' to CFLAGS.
41136
41137 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
41138 linking.
f19dbdb7 41139
59b8208a 41140 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
41141 (COMMON_LDFLAGS): New variable.
41142 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
41143 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
41144 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
41145 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
41146 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
41147 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
41148 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
41149 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
41150 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
41151 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
41152 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41153 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41154 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
41155 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
41156 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
41157 variables.
41158 (normal_mod_ASFLAGS): Add `-m32'.
41159
41160 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
41161 (grub_host_size_t, grub_host_ssize_t): New types.
41162 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 41163 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 41164 `GRUB_HOST_SIZEOF_VOID_P'.
41165
41166 * include/grub/kernel.h (struct grub_module_header): Type of
41167 member offset changed to `grub_host_off_t'. Type of member size
41168 changed to `grub_host_size_t'.
41169 (struct grub_module_info): Type of member offset changed to
41170 `grub_host_off_t'. Type of member size changed to
41171 `grub_host_size_t'.
41172
b4093103 411732005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
41174
41175 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 41176
b4093103 41177 * kern/i386/pc/startup.S (multiboot_header): New label.
41178 (multiboot_entry): Likewise.
41179 (multiboot_trampoline): Likewise.
41180
41181 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41182 Increased to 0x4A0.
41183
41184 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
41185 put parentheses after a question mark.
41186 [!GRUB_UTIL] (my_mod): New variable.
41187
41188 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
41189
b2499b29 411902005-09-28 Marco Gerards <mgerards@xs4all.nl>
41191
41192 Adds support for the XFS filesystem. Btrees are not supported
41193 yet.
41194
41195 * fs/xfs.c: New file.
41196
41197 * DISTLIST: Added `fs/xfs.c'.
41198
41199 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
41200 (grub_probefs_SOURCES): Likewise.
41201 (grub_emu_SOURCES): Likewise.
41202 (pkgdata_MODULES): Add `xfs.mod'.
41203 (xfs_mod_SOURCES): New variable.
41204 (xfs_mod_CFLAGS): Likewise.
41205
41206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
41207 (pkgdata_MODULES): Add `xfs.mod'.
41208 (xfs_mod_SOURCES): New variable.
41209 (xfs_mod_CFLAGS): Likewise.
41210
41211 * util/grub-emu.c (main): Call `grub_xfs_init' and
41212 `grub_xfs_fini'.
41213
41214 * include/grub/fs.h (grub_xfs_init): New prototype.
41215 (grub_xfs_fini): Likewise.
41216
f19dbdb7 41217
83d37a62 412182005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
41219
41220 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
41221 color modes, allow greater than 16 colors to be configured as
41222 a default palette.
41223
47d2d65e 412242005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41225
41226 * normal/completion.c (complete_arguments): Add the qualifier
41227 const into OPTIONS.
41228
41229 From Omniflux <omniflux+lists@omniflux.com>:
41230 * include/grub/terminfo.h: New file.
41231 * include/grub/tparm.h: Likewise.
41232 * include/grub/i386/pc/serial.h: Likewise.
41233 * term/terminfo.c: Likewise.
41234 * term/tparm.c: Likewise.
41235 * term/i386/pc/serial.c: Likewise.
41236 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
41237 serial.mod.
41238 (terminfo_mod_SOURCES): New variable.
41239 (terminfo_mod_CFLAGS): Likewise.
41240 (serial_mod_SOURCES): Likewise.
41241 (serial_mod_CFLAGS): Likewise.
41242
48b671ff 412432005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
41244
41245 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
41246 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
41247 and kern/powerpc/ieee1275/cmain.c, respectively.
41248
41249 * boot/powerpc/ieee1275/crt0.S: Moved to ...
41250 * kern/powerpc/ieee1275/crt0.S: ... here.
41251
41252 * boot/powerpc/ieee1275/cmain.c: Moved to ...
41253 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 41254
48b671ff 41255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
41256 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
41257 instead of boot/powerpc/ieee1275/crt0.S and
41258 boot/powerpc/ieee1275/cmain.c, respectively.
41259
41260 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
41261 sectors. It was not used anyway.
41262
09fc77a7 412632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41264
41265 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
41266 `unused parameter' warning.
41267
003789c7 412682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
41269
41270 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
41271 function.
41272 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
41273 getcharwidth.
41274
67f44c86 412752005-08-28 Marco Gerards <metgerards@student.han.nl>
41276
41277 * include/grub/normal.h (enum grub_completion_type): Added
41278 `GRUB_COMPLETION_TYPE_ARGUMENT'.
41279
41280 * normal/cmdline.c (print_completion): Handle
41281 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
41282 * normal/menu_entry.c (store_completion): Likewise.
41283
41284 * normal/completion.c (complete_arguments): New function.
41285 (grub_normal_do_completion): Call `complete_arguments' when the
41286 current words start with a dash.
41287
0b5abe02 412882005-08-27 Marco Gerards <metgerards@student.han.nl>
41289
41290 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
41291 `gzio.mod' instead of `io.mod').
41292
d9864ee1 412932005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
41294
41295 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
41296 (DISTDIRS): Added io and video.
41297 Rewrite the search routine to make an output consistently.
41298
41299 * DISTLIST: Added conf/sparc64-ieee1275.mk,
41300 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
41301 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
41302 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
41303 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
41304 util/powerpc/ieee1275/misc.c.
f19dbdb7 41305
d9864ee1 41306 * include/grub/gzio.h: New file.
41307 * io/gzio.c: Likewise.
f19dbdb7 41308
d9864ee1 41309 * kern/file.c (grub_file_close): Call grub_device_close only if
41310 FILE->DEVICE is not NULL.
41311
41312 * include/grub/mm.h [!NULL] (NULL): New macro.
41313
41314 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
41315
41316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
41317 (pkgdata_MODULES): Added gzio.mod.
41318 (gzio_mod_SOURCES): New variable.
41319 (gzio_mod_CFLAGS): Likewise.
41320
41321 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
41322 (pkgdata_MODULES): Added gzio.mod.
41323 (gzio_mod_SOURCES): New variable.
41324 (gzio_mod_CFLAGS): Likewise.
41325
41326 * commands/cat.c: Include grub/gzio.h.
41327 (grub_cmd_cat): Use grub_gzfile_open instead of
41328 grub_file_open.
f19dbdb7 41329
d9864ee1 41330 * commands/cmp.c: Include grub/gzio.h.
41331 (grub_cmd_cmp): Use grub_gzfile_open instead of
41332 grub_file_open.
41333
41334 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
41335 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
41336 grub_file_open.
41337 (grub_rescue_cmd_module): Likewise.
41338
fa46f4b5 413392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41340
41341 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
41342 kern/sparc64/ieee1275/init.c because it contains _start.
41343 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
41344
e9211b5d 413452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
41346
41347 * configure.ac: Add support for sparc64 host with ieee1275
41348 firmware.
41349 * configure: Generated from configure.ac.
41350 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
41351 instead of int.
41352 (grub_ofdisk_read): Likewise.
41353 (grub_ofdisk_open): Use %p to print pointer values, and cast the
41354 pointers as (void *) to remove a warning.
41355 (grub_ofdisk_close): Likewise.
41356 (grub_ofdisk_read): Likewise.
41357 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
41358 returns, so make it return void to remove a warning.
41359 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
41360 Corresponding prototype change.
41361 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
41362 values, and cast the pointers as (void *) to remove a warning.
41363 (grub_mm_dump): Likewise.
41364 * conf/sparc64-ieee1275.mk: New file.
41365 * conf/sparc64-ieee1275.rmk: Likewise.
41366 * include/grub/sparc64/setjmp.h: Likewise.
41367 * include/grub/sparc64/types.h: Likewise.
41368 * include/grub/sparc64/ieee1275/console.h: Likewise.
41369 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41370 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41371 * include/grub/sparc64/ieee1275/time.h: Likewise.
41372 * kern/sparc64/cache.c: Likewise.
41373 * kern/sparc64/dl.c: Likewise.
41374 * kern/sparc64/ieee1275/init.c: Likewise.
41375 * kern/sparc64/ieee1275/openfw.c: Likewise.
41376
385c6a92 413772005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41378
41379 * util/console.c (grub_ncurses_putchar): If C is greater than
41380 0x7f, set C to a question mark.
41381 (grub_ncurses_getcharwidth): New function.
41382 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
41383 getcharwidth.
41384
41385 * normal/menu.c (print_entry): Made aware of Unicode. First,
41386 convert TITLE to UCS-4, and predict the cursor position by
41387 grub_getcharwidth.
41388
41389 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
41390 const to SRC.
41391 * kern/misc.c (grub_utf16_to_utf8): Likewise.
41392
16ccb8b1 413932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41394
41395 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
41396 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41397 grub_strcat.
41398
41399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
41400 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
41401 grub_strcpy and grub_strlen. Take it into account that a space
41402 character is inserted as a delimiter.
41403
6a85ce79 414042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41405
41406 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 41407 invalid magic in the error.
6a85ce79 41408
41409 * commands/search.c: New file.
f19dbdb7 41410
6a85ce79 41411 * util/grub-emu.c (main): Call grub_search_init and
41412 grub_search_fini.
41413
41414 * kern/rescue.c (grub_rescue_print_disks): Removed.
41415 (grub_rescue_print_devices): New function.
41416 (grub_rescue_cmd_ls): Use grub_device_iterate with
41417 grub_rescue_print_devices instead of grub_disk_dev_iterate with
41418 grub_rescue_print_disks.
41419
41420 * kern/partition.c (grub_partition_iterate): Return the result of
41421 PARTMAP->ITERATE instead of GRUB_ERRNO.
41422
41423 * kern/device.c: Include grub/partition.h.
41424 (grub_device_iterate): New function.
41425
41426 * include/grub/partition.h (grub_partition_iterate): Return int
41427 instead of grub_err_t.
41428
41429 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
41430 prototype.
41431 [GRUB_UTIL] (grub_search_fini): Likewise.
41432
41433 * include/grub/device.h (grub_device_iterate): New prototype.
41434
41435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41436 commands/search.c.
41437 (pkgdata_MODULES): Added search.mod.
41438 (search_mod_SOURCES): New variable.
41439 (search_mod_CFLAGS): Likewise.
41440
41441 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
41442 (pkgdata_MODULES): Added search.mod.
41443 (search_mod_SOURCES): New variable.
41444 (search_mod_CFLAGS): Likewise.
41445
41446 * commands/ls.c (grub_ls_list_disks): Renamed to ...
41447 (grub_ls_list_devices): ... this, and use grub_device_iterate.
41448 All callers changed.
41449
41450 * DISTLIST: Added commands/search.c.
41451
ef095434 414522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
41453
41454 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
41455 conversion.
41456 (grub_getcharwidth): New function.
41457
41458 * kern/misc.c (grub_utf8_to_ucs4): New function.
41459
41460 * include/grub/term.h (struct grub_term): Added a new member
41461 "getcharwidth".
41462 (grub_getcharwidth): New prototype.
41463
41464 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
41465
41466 * term/i386/pc/console.c (map_char): New function. Segregated from
41467 grub_console_putchar.
41468 (grub_console_putchar): Use map_char.
41469 (grub_console_getcharwidth): New function.
41470 (grub_console_term): Specified grub_console_getcharwidth as
41471 getcharwidth.
41472
41473 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
41474 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
41475
41476 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
41477 GRUB_ERRNO.
41478 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
41479 on grub_strtoul completely.
41480 (write_char): Declare local variables in the beginning of the
41481 function.
41482 (grub_vesafb_getcharwidth): New function.
41483 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
41484 getcharwidth.
41485
1f0a95e4 414862005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
41487
41488 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
41489 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
41490 commands/i386/pc/vbetest.c.
41491
41492 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
41493 call grub_vbe_get_controller_info again, because the returned
41494 information is volatile.
41495 (grub_vbe_set_video_mode): Mostly rewritten.
41496 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
41497 grub_vbe_status_t correctly.
41498 (grub_vbe_get_video_mode_info): Likewise.
41499 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
41500 several if statements.
41501
41502 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
41503 * commands/i386/pc/vbeinfo.c: ... this.
41504
41505 * commands/i386/pc/vbe_test.c: Renamed to ...
41506 * commands/i386/pc/vbetest.c: ... this.
41507
41508 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
41509 ...
41510 (grub_cmd_vbeinfo): ... this. Save video modes before
41511 iterating. Skip a video mode, if it is not available, not enough
41512 information is given or it is monochrome. Show the memory
41513 model. Leave the interpretation of MODEVAR to grub_strtoul
41514 completely.
41515 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
41516 (GRUB_MOD_FINI): Likewise.
41517
41518 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
41519 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
41520 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
41521 duplicated grub_env_get. Leave the interpretation of MODEVAR to
41522 grub_strtoul completely.
41523 (real2pm): Removed.
41524 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
41525 (GRUB_MOD_FINI): Likewise.
41526
41527 * normal/misc.c: Include grub/mm.h.
41528
41529 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
41530 vbe_list_modes with vbetest.mod and vbeinfo.mod.
41531 (vbe_list_modes_mod_SOURCES): Removed.
41532 (vbe_list_modes_mod_CFLAGS): Likewise.
41533 (vbe_test_mod_SOURCES): Likewise.
41534 (vbe_test_mod_CFLAGS): Likewise.
41535 (vbeinfo_mod_SOURCES): New variable.
41536 (vbeinfo_mod_CFLAGS): Likewise.
41537 (vbetest_mod_SOURCES): Likewise.
41538 (vbetest_mod_CFLAGS): Likewise.
41539
992ffbbe 415402005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
41541
41542 * normal/misc.c: New file.
41543
41544 * DISTLIST: Added normal/misc.c.
f19dbdb7 41545
992ffbbe 41546 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
41547 DISK to HOOK. Call HOOK with DISK.
41548 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41549 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41550 * partmap/sun.c (sun_partition_map_iterate): Likewise.
41551
41552 * normal/menu_entry.c (struct screen): Added a new member
41553 "completion_shown".
41554 (completion_buffer): New global variable.
41555 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
41556 (store_completion): New function.
41557 (complete): Likewise.
41558 (clear_completions): Likewise.
41559 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
41560 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
41561 a tab, call complete.
41562
41563 * normal/completion.c (disk_dev): Removed.
41564 (print_simple_completion): Likewise.
41565 (print_partition_completion): Likewise.
41566 (print_func): New global variable.
41567 (add_completion): Do not take the arguments WHAT or PRINT any
41568 longer. Added a new argument TYPE. Instead of printing directly,
41569 call PRINT_FUNC if not NULL.
41570 All callers changed.
41571 (complete_device): Use a local variable DEV instead of
41572 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
41573 (grub_normal_do_completion): Take a new argument HOOK. Do not
41574 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
41575 empty string, return NULL instead.
41576 All callers changed.
41577
41578 * normal/cmdline.c (print_completion): New function.
41579
41580 * kern/partition.c (grub_partition_iterate): Add an argument DISK
41581 to HOOK.
41582 All callers changed.
41583
41584 * kern/disk.c (grub_print_partinfo): Removed.
41585
41586 * include/grub/partition.h (struct grub_partition_map): Add a new
41587 argument DISK into HOOK of ITERATE.
41588 (grub_partition_iterate): Add a new argument DISK to HOOK.
41589
41590 * include/grub/normal.h (enum grub_completion_type): New enum.
41591 (grub_completion_type_t): New type.
41592 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
41593 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
41594 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
41595 (GRUB_COMPLETION_TYPE_FILE): Likewise.
41596 (grub_normal_do_completion): Added a new argument HOOK.
41597 (grub_normal_print_device_info): New prototype.
41598
41599 * include/grub/disk.h (grub_print_partinfo): Removed.
41600
41601 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
41602 (normal_mod_SOURCES): Likewise.
41603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41604 (normal_mod_SOURCES): Likewise.
41605
41606 * commands/ls.c (grub_ls_list_disks): Use
41607 grub_normal_print_device_info instead of grub_print_partinfo. Free
41608 PNAME.
41609 (grub_ls_list_files): Use grub_normal_print_device_info instead of
41610 duplicating the code.
41611
0bd41162 416122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41613
41614 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 41615 follow GCS more precisely.
41616 * commands/i386/pc/vbe_test.c: Likewise.
41617 * include/grub/i386/pc/vbe.h: Likewise.
41618 * term/i386/pc/vesafb.c: Likewise.
41619 * video/i386/pc/vbe.c: Likewise.
0bd41162 41620
6323696a 416212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
41622
41623 * DISTLIST: Added term/i386/pc/vesafb.c
41624 DISTLIST: Added video/i386/pc/vbe.c
41625 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
41626 DISTLIST: Added commands/i386/pc/vbe_test.c.
41627 * commands/i386/pc/vbe_list_modes.c: New file.
41628 * commands/i386/pc/vbe_test.c: Likewise.
41629 * term/i386/pc/vesafb.c: Likewise.
41630 * video/i386/pc/vbe.c: Likewise.
41631 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
41632 (grub_vbe_probe) Added prototype.
41633 (grub_vbe_set_video_mode) Likewise.
41634 (grub_vbe_get_video_mode) Likewise.
41635 (grub_vbe_get_video_mode_info) Likewise.
41636 (grub_vbe_set_pixel_rgb) Likewise.
41637 (grub_vbe_set_pixel_index) Likewise.
41638 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41639 (pkgdata_MODULES): Added vesafb.mod.
41640 (pkgdata_MODULES): Added vbe_list_modes.mod.
41641 (pkgdata_MODULES): Added vbe_test.mod.
41642 (vbe_mod_SOURCES): Added.
41643 (vbe_mod_CFLAGS): Likewise.
41644 (vesafb_mod_SOURCES): Likewise.
41645 (vesafb_mod_CFLAGS): Likewise.
41646 (vbe_list_modes_mod_SOURCES): Likewise.
41647 (vbe_list_modes_mod_CFLAGS): Likewise.
41648 (vbe_test_mod_SOURCES): Likewise.
41649 (vbe_test_mod_CFLAGS): Likewise.
41650
0a74e62f 416512005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41652
0a74e62f 41653 * normal/command.c (grub_command_execute): If INTERACTIVE is
41654 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41655 CMDLINE. Disable the pager if INTERACTIVE is true.
41656 All callers are changed.
41657
41658 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41659 before reading a config file.
41660 * normal/main.c (read_config_file): Even if a command is not
41661 found, register it if it is within an entry.
41662
41663 * util/grub-emu.c: Include sys/types.h and unistd.h.
41664 (options): Added --hold.
41665 (struct arguments): Added a new member "hold".
41666 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41667 missing.
41668 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41669 cleared by a debugger, if it is not zero.
41670
41671 * include/grub/normal.h (grub_command_execute): Add an argument
41672 INTERACTIVE.
41673
e51f85ae 416742005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41675
41676 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41677
e9c6f39b 416782005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41679
41680 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41681 program with another one, because the old one didn't detect a bug
41682 in gcc-3.4. Always use regparm 2, because the new test is still
41683 not enough for gcc-4.0. Someone must investigate a simple test
41684 case which detects a bug in gcc-4.0.
41685
8de3495c 416862005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41687
41688 * DISTLIST: Added normal/completion.c.
41689
41690 * normal/completion.c: New file.
f19dbdb7 41691
8de3495c 41692 * term/i386/pc/console.c (grub_console_getwh): New function.
41693 (grub_console_term): Assign grub_console_getwh to getwh.
41694
41695 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41696 function is defined in normal/completion.c as
41697 grub_normal_do_completion.
41698 (grub_cmdline_get): Use grub_normal_do_completion instead of
41699 grub_tab_complete.
41700
41701 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41702 returns non-zero, otherwise return 0.
41703 (grub_partition_iterate): First, probe the partition map. Then,
41704 call ITERATE only for this partition map.
41705
41706 * kern/misc.c (grub_strncmp): Rewritten.
41707
41708 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41709 returns non-zero. Otherwise return 0.
41710
41711 * include/grub/partition.h (grub_partition_map_iterate): Return
41712 int instead of void.
41713
41714 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41715
41716 * include/grub/misc.h (grub_strncmp): Change the type of N to
41717 grub_size_t.
41718
41719 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41720 of void.
41721
41722 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41723 unsigned explicitly before comparing it with I.
8de3495c 41724
41725 * kern/main.c (grub_env_write_root): Add the attribute unused into
41726 VAR.
41727
41728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41729 normal/completion.c.
41730 (normal_mod_SOURCES): Likewise.
41731 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41732 (normal_mod_SOURCES): Likewise.
41733
41734 * normal/command.c (grub_iterate_commands): If ITERATE returns
41735 non-zero, return one immediately.
41736
e85e144b 417372005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41738
41739 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41740 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41741 descriptions.
41742 (grub_vbe_get_controller_info): New function.
41743 (grub_vbe_get_mode_info): Likewise.
41744 (grub_vbe_set_mode): Likewise.
41745 (grub_vbe_get_mode): Likewise.
41746 (grub_vbe_set_memory_window): Likewise.
41747 (grub_vbe_get_memory_window): Likewise.
41748 (grub_vbe_set_scanline_length): Likewise.
41749 (grub_vbe_get_scanline_length): Likewise.
41750 (grub_vbe_set_display_start): Likewise.
41751 (grub_vbe_get_display_start): Likewise.
41752 (grub_vbe_set_palette_data): Likewise.
41753 * include/grub/i386/pc/vbe.h: New file.
41754
c46153d2 417552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41756
41757 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41758 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41759 * DISTLIST: Likewise.
41760 * kern/ieee1275/of.c: Moved to ...
41761 * kern/ieee1275/ieee1275.c: ... here.
41762
0cb90c45 417632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41764
41765 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41766 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41767 Pass 0 as `end' parameter to grub_strtoul().
41768
a19fb360 417692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41770
41771 * include/grub/powerpc/ieee1275/console.h: Do not include
41772 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41773 ifdef.
41774 (grub_console_cur_color): Remove i386-specific prototype.
41775 (grub_console_real_putchar): Likewise.
41776 (grub_console_checkkey): Likewise.
41777 (grub_console_getkey): Likewise.
41778 (grub_console_getxy): Likewise.
41779 (grub_console_gotoxy): Likewise.
41780 (grub_console_cls): Likewise.
41781 (grub_console_setcursor): Likewise.
41782 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41783 Include <grub/machine/console.h>.
41784 * term/ieee1275/ofconsole.c: Likewise.
41785
4ac9bd04 417862005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41787
41788 * Makefile.in (LIBLZO): New variable.
41789
41790 * configure.ac: Check for LZO version 2.
41791
41792 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41793 lzo/lzo1x.h instead of lzo1x.h.
41794
41795 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41796 of -llzo.
41797
41798 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41799 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41800
41801 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41802 copying the data from PARTITION to P.
41803
f4917dfd 418042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41805
41806 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41807 negative, unload the module.
41808
41809 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41810 map is "pc_partition_map" but not "pc".
41811 (usage): Fix the description. The options are --boot-image and
41812 --core-image but not --boot-file or --core-file.
41813 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41814 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41815 DEFAULT_DIRECTORY.
41816
41817 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41818 --core-file. Specify INSTALL_DEVICE as an argument.
41819
41820 * util/console.c: Include config.h.
41821 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41822 [HAVE_NCURSES_H]: Include ncurses.h.
41823 [HAVE_CURSES_H]: Include curses.h.
41824 [!A_NORMAL] (A_NORMAL): Defined as zero.
41825 [!A_STANDOUT] (A_STANDOUT): Likewise.
41826
41827 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41828 -lncurses.
41829 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41830
41831 * configure.ac: Check for curses libraries and headers.
41832
41833 * Makefile.in (LIBCURSES): New variable.
41834
41835 * genmk.rb (Script::rule): Set the executable bits.
41836
41837 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41838 name of the PC partition map is "pc_partition_map" but not "pc".
41839
0e143073 418402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41841
41842 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41843 (modules): Likewise.
41844 (usage): Added descriptions for --modules and --grub-probefs.
41845 Handle --modules and --grub-probefs. Save the arguments in MODULES
41846 and GRUB_PROBEFS, respectively.
41847 Auto-detect a filesystem module against GRUBDIR. If the result is
41848 empty and modules are not specified explicitly, abort the
41849 installation. Add the result to MODULES.
41850
41851 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41852 disk/powerpc/ieee1275/ofdisk.c,
41853 include/grub/powerpc/ieee1275/init.h and
41854 term/powerpc/ieee1275/ofconsole.c.
41855 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41856 term/ieee1275/ofconsole.c.
41857
41858 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41859
41860 * COPYING: Upgraded to the latest version. Only the address of the
41861 FSF office has changed.
f19dbdb7 41862
efd6e6d5 418632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41864
41865 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41866 kern/ieee1275.c with kern/ieee1275/of.c.
41867
41868 * kern/ieee1275.c: Moved to ...
41869 * kern/ieee1275/of.c: ... here.
41870
8ceafda2 418712005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41872
41873 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41874 readability.
8ceafda2 41875
41876 * config.guess: Updated to the latest version from gnulib.
41877 * config.sub: Likewise.
41878 * install.sh: Likewise.
41879 * mkinstalldirs: Likewise.
41880
41881 * include/grub/console.h: Removed. This file is arch-specific. Do
41882 not put this in include/grub.
41883
41884 * include/grub/i386/pc/console.h: Resurrected.
41885
41886 * util/console.c: Include grub/machine/console.h instead of
41887 grub/console.h.
41888 * util/grub-emu.c: Likewise.
41889
267f6cd9 418902005-08-04 Marco Gerards <metgerards@student.han.nl>
41891
41892 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41893 hardcoded value.
f19dbdb7 41894
267f6cd9 41895 From Vincent Pelletier <subdino2004@yahoo.fr>
41896 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41897 Redefined to use grub_getwh.
41898 (grub_term): New member named getwh.
41899 (grub_getwh): New prototype.
41900 * kern/term.c (grub_getwh): New function.
41901 * term/i386/pc/console.c (grub_console_getwh): New function.
41902 (grub_console_term): New member `getwh'.
41903 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41904 (grub_vga_term): New member `getwh'.
0b5abe02 41905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41906 grub_ssize_t.
41907 (grub_ofconsole_getw): New function.
41908 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41909 (grub_ofconsole_term): New field named getwh and new initial
41910 value.
41911
3be7266d 419122005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41913
41914 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41915 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41916 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41917 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41918 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41919 of <grub/machine/ieee1275.h>.
41920 * commands/ieee1275/reboot.c: Likewise.
41921 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41922 * kern/ieee1275.c: ... to here. All users updated. Change all
41923 parameter structs to use new type `grub_ieee1275_cell_t'.
41924 * term/powerpc/ieee1275/ofconsole.c: Move ...
41925 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41926 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41927 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41928 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41929 to return int.
41930 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41931 Remove unused prototypes. All users updated.
41932 * include/grub/powerpc/ieee1275/console.h: Removed.
41933 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41934 `grub_ieee1275_cell_t'.
41935 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41936 Cast comparisons with -1 to the correct type.
41937 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41938 type to match `grub_ieee1275_entry_fn'.
41939
8b5f3938 419402005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41941
41942 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41943
41944 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41945 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41946 partmap/sun.c.
41947 (grub_probefs_SOURCES): New variable.
41948
41949 * util/i386/pc/grub-probefs.c: New file.
41950
41951 * util/i386/pc/grub-setup.c (main): Call
41952 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41953 grub_hfs_init and grub_jfs_init to initialize the system. Call
41954 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41955 grub_pc_partition_map_fini to finish the system.
41956
ea409713 419572005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41958
41959 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41960 function.
41961 (grub_multiboot_load_elf32): Likewise.
41962 (grub_multiboot_is_elf64): Likewise.
41963 (grub_multiboot_load_elf64): Likewise.
41964 (grub_multiboot_load_elf): Likewise.
41965 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41966 an ELF32 or ELF64 file.
41967 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41968
41969 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41970 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41971 NULL before calling FS->LABEL.
41972 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41973 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41974 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41975 before calling FS->LABEL.
41976
141a288b 419772005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41978
41979 * util/i386/pc/grub-install.in (datadir): New variable.
41980 (libdir): Removed.
41981 (pkgdatadir): New variable.
41982 (pkglibdir): Removed.
41983
0d5f8a54 419842005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41985
41986 * DISTLIST: Added util/i386/pc/grub-install.in.
41987
41988 * util/i386/pc/grub-install.in: New file.
41989
41990 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41991 (grub_install_SOURCES): Likewise.
41992
41993 * genmk.rb: Added support for scripts.
41994 (Script): New class.
41995 (scripts): New variable.
41996
41997 * Makefile.in (install-local): Install sbin_SCRIPTS by
41998 INSTALL_SCRIPT.
41999 (uninstall): Remove sbin_SCRIPTS.
42000
42001 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42002 device, try to get a GRUB device by
42003 grub_util_biosdisk_get_grub_dev.
42004 Free DEST_DEV.
42005
42006 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42007 description for --device-map.
42008
5f968e1e 420092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42010
42011 Change the semantics of variable hooks. They now return strings
42012 instead of error values.
f19dbdb7 42013
5f968e1e 42014 * util/i386/pc/grub-setup.c: Include grub/env.h.
42015 (setup): Use grub_device_set_root instead of grub_env_set.
42016
42017 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42018 grub_env_get instead of grub_device_set_root and
42019 grub_device_get_root, respectively.
42020
42021 * kern/main.c (grub_env_write_root): New function.
42022 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42023 grub_env_set instead of grub_device_set_root.
42024
42025 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42026 many variables.
42027 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42028 rather than calling ENV->WRITE_HOOK afterwards.
42029 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42030 passing a pointer of a pointer.
42031 (grub_register_variable_hook): Change the types of "read_hook" and
42032 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42033 respectively.
42034 Allocate the default empty string on the heap, because this string
42035 may be freed later.
42036
42037 * kern/device.c: Include grub/env.h.
42038 (grub_device_set_root): Removed.
42039 (grub_device_get_root): Likewise.
42040 (grub_device_open): Use grub_env_get instead of
42041 grub_device_get_root.
42042
42043 * include/grub/env.h (grub_env_read_hook_t): New type.
42044 (grub_env_write_hook_t): Likewise.
42045 (grub_env_var): Change the types of "read_hook" and "write_hook"
42046 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42047 (grub_register_variable_hook): Likewise.
42048
42049 * include/grub/device.h (grub_device_set_root): Removed.
42050 (grub_device_set_root): Likewise.
42051
42052 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42053 make sure that DIRNAME terminates with '/', so that
42054 grub_fat_find_dir will fail if PATH is not a directory.
42055
42056 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42057 from DIRNAME.
42058 Use the qualifier auto for print_files and print_files_long.
42059 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42060 as a regular file.
42061 Put a newline only if there is no error.
42062 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42063 used.
42064
896f0afd 420652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42066
42067 * kern/partition.c (grub_partition_probe): Initialize PART to
42068 NULL. Otherwise, when no partition map is registered, this returns
42069 a garbage.
42070
b28b81b2 420712005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42072
42073 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42074 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42075 valid.
42076
5f3607e0 420772005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42078
42079 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42080 information on each device, if it does not have partitions. Print
42081 "Device" instead of "Disk", because this function is not specific
42082 to disk devices.
42083
42084 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42085 static to ensure that it is put on the memory rather than a
42086 register.
42087
502c87e8 420882005-07-17 Yoshinori Okuji <okuji@enbug.org>
42089
42090 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42091 (grub_cat_init): Likewise.
42092 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42093 (options): Likewise.
42094 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42095 (grub_configfile_init): Likewise.
42096 * font/manager.c (GRUB_MOD_INIT): Likewise.
42097 * commands/help.c (GRUB_MOD_INIT): Likewise.
42098 (grub_help_init): Likewise.
42099 * normal/command.c (grub_command_init): Likewise.
42100 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42101 * disk/loopback.c (grub_loop_init): Likewise.
42102 (GRUB_MOD_INIT): Likewise.
42103 * commands/ls.c (grub_ls_init): Likewise.
42104 (GRUB_MOD_INIT): Likewise.
42105 (options): Likewise.
42106 * commands/boot.c (grub_boot_init): Likewise.
42107 (GRUB_MOD_INIT): Likewise.
42108 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42109 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42110 (GRUB_MOD_INIT): Likewise.
42111 * commands/cmp.c (grub_cmp_init): Likewise.
42112 (GRUB_MOD_INIT): Likewise.
42113
42114 * normal/arg.c: Use <> instead of "" to include header files.
42115 (SHORT_ARG_HELP): New macro.
42116 (SHORT_ARG_USAGE): Likewise.
42117 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42118 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42119 descriptions.
42120 (find_short): Check if C is 'h' or 'u' explicitly.
42121 (grub_arg_show_help): Use space characters instead of tabs. Treat
42122 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42123 are shown with --help and --usage only if they are not used for
42124 the command itself.
42125 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42126 'h' and 'u'.
42127
42128 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42129 const into "longarg". Change the type of "shortarg" to int.
42130
f806d18e 421312005-07-17 Yoshinori Okuji <okuji@enbug.org>
42132
42133 * boot/i386/pc/boot.S (boot_drive_check): New label.
42134
42135 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
42136 macro.
42137
42138 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
42139 which do not pass a boot drive correctly. Copied from GRUB Legacy.
42140
e293232b 421412005-07-17 Yoshinori Okuji <okuji@enbug.org>
42142
42143 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
42144 When turning off Gate A20, skip the check and return immediately,
42145 because this is not fatal usually.
42146
ebedfd00 421472005-07-17 Yoshinori Okuji <okuji@enbug.org>
42148
42149 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
42150 be 0x7C00 instead of 0x8000.
42151
42152 * boot/i386/pc/pxeboot.S: Rewritten.
42153
42154 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
42155 EXT_C.
42156 (gate_a20_check_state): Read a byte from 0x108000. Invert the
42157 result.
42158
654fc59f 421592005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
42160
42161 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
42162 robustness. This routine now supports a BIOS call and System
42163 Control Port A to modify the gate A20.
42164
42165 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42166 Increased to 0x440.
42167
09f9923f 421682005-07-12 Hollis Blanchard <hollis@penguinppc.org>
42169
42170 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
42171 device path and resulting ihandle.
42172 (grub_ofdisk_close): dprintf the ihandle being closed.
42173 (grub_ofdisk_read): dprintf function parameters.
42174 * kern/mm.c (grub_mm_init_region): Likewise.
42175 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
42176 (grub_linux_boot): dprintf the Linux entry point, initrd address and
42177 size, and boot arguments.
42178 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
42179 before loading into memory.
42180 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
42181 before loading into memory.
42182
7ef504d8 421832005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
42184
42185 * kern/mm.c: Added much documentation.
42186 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
42187 8, set to 5 instead of 8.
42188
e0f050c2 421892005-07-10 Yoshinori Okuji <okuji@enbug.org>
42190
42191 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
42192
42193 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
42194 (grub_mkdevicemap_SOURCES): New variable.
42195
42196 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
42197 lib/device.c of GRUB Legacy.
42198
7224189a 421992005-07-10 Yoshinori Okuji <okuji@enbug.org>
42200
42201 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
42202 instead of PATH is NULL.
42203
68c864eb 422042005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
42205
42206 * commands/cmp.c (BUFFER_SIZE): New macro.
42207 (grub_cmd_cmp): Close the right file at the right time. Compare
42208 only data just read. Don't report files of different size as
42209 identical. Dynamically allocate buffers. Move variable
42210 declarations at the beginning of function.
42211
e6f3e614 422122005-07-09 Yoshinori Okuji <okuji@enbug.org>
42213
42214 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
42215 reverse.
42216
f8f1559a 422172004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
42218
42219 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
42220 when backspace is pressed at beginning of line.
42221
39c9d41d 422222005-07-03 Yoshinori Okuji <okuji@enbug.org>
42223
42224 * DISTLIST: Added genfslist.sh.
42225
42226 * normal/main.c (fs_module_list): New variable.
42227 (autoload_fs_module): New function.
42228 (read_fs_list): Likewise.
42229 (grub_normal_execute): Call read_fs_list.
42230
42231 * kern/fs.c (grub_fs_autoload_hook): New variable.
42232 (grub_fs_probe): Added support for auto-loading.
42233
42234 * include/grub/normal.h (struct grub_fs_module_list): New struct.
42235 (grub_fs_module_list_t): New type.
42236
42237 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
42238 (grub_fs_autoload_hook): New prototype.
42239
42240 * genfslist.sh: New file.
f19dbdb7 42241
39c9d41d 42242 * genmk.rb: Added a rule to generate a filesystem list.
42243
121c1d83 422442005-06-30 Marco Gerards <metgerards@student.han.nl>
42245
42246 * configure.ac: Fix the test for cross-compiling.
42247
42248 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
42249 define GRUB_UTIL anymore.
42250
42251 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
42252 so this function works on other systems than just big endian.
42253 (load_modules): Likewise.
42254 (add_segments): Likewise.
42255
e75d76e1 422562005-06-23 Hollis Blanchard <hollis@penguinppc.org>
42257
42258 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
42259 contains `l' modifier, get a long from va_arg().
42260
50b5a0a7 422612005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
42262
42263 * kern/mm.c (grub_free): If the next free block which is being
42264 merged is the first free block, set the first block to the block
42265 being freed.
42266 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
42267
89371b20 422682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42269
42270 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
42271 `grub_ieee1275_chosen'.
42272
168d6e58 422732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
42274
42275 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
42276 (grub_ieee1275_chosen): New variable.
42277 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
42278 `chosen'.
42279 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
42280 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42281 Rename first argument to `phandle' for consistency.
42282 (grub_ieee1275_get_property_length): Likewise.
42283 (grub_ieee1275_next_property): Likewise. Change type of first argument
42284 to grub_ieee1275_phandle_t.
42285 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
42286 Move export next to declaration.
42287 (grub_ieee1275_chosen): New variable.
42288 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
42289 Correct cosmetic typo.
42290 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
42291 `grub_ieee1275_chosen'.
42292 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
42293 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
42294 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
42295 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
42296 `grub_ieee1275_chosen'.
42297
ca5baa3f 422982005-05-10 Hollis Blanchard <hollis@penguinppc.org>
42299
42300 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
42301 /chosen/bootargs.
42302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
42303 /chosen/bootargs as "variable=value" pairs.
42304
708b345f 423052005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
42306
42307 * include/grub/misc.h (grub_dprintf): New macro.
42308 (grub_real_dprintf): New prototype.
42309 (grub_strword): Likewise.
42310 (grub_iswordseparator): Likewise.
42311 * kern/misc.c (grub_real_dprintf): New function.
42312 (grub_strword): Likewise.
42313 (grub_iswordseparator): Likewise.
42314
f4c5e67c 423152005-04-30 Hollis Blanchard <hollis@penguinppc.org>
42316
42317 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
42318 (roundup): Remove macro.
42319 (grub_ieee1275_flags): Make static.
42320 (grub_ieee1275_realmode): Remove.
42321 (grub_ieee1275_test_flag): New function.
42322 (grub_ieee1275_set_flag): Likewise.
42323 (find_options): Rename to `grub_ieee1275_find_options'; update
42324 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
42325 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
42326 (cmain): New prototype.
42327 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
42328 `grub_ieee1275_flags' directly.
42329 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
42330 machine/biosdisk.h.
42331 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
42332 Don't include grub/machine/init.h.
42333 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
42334 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42335 Remove prototype.
42336 (grub_ieee1275_realmode): Likewise.
42337 (grub_ieee1275_flag): New enum.
42338 (grub_ieee1275_test_flag): New prototype.
42339 (grub_ieee1275_set_flag): New prototype.
42340 * include/grub/powerpc/ieee1275/init.h: Remove file.
42341 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
42342 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
42343 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
42344 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
42345 comment.
42346 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
42347 `grub_ieee1275_test_flag'.
42348 (grub_ieee1275_encode_devname): Likewise.
42349
ed16607e 423502005-04-21 Hollis Blanchard <hollis@penguinppc.org>
42351
42352 * include/grub/powerpc/ieee1275/ieee1275.h
42353 (grub_ieee1275_encode_devname): New prototype.
42354 (grub_ieee1275_get_filename): Likewise.
42355 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
42356 function.
42357 (grub_set_prefix): Likewise.
42358 (grub_machine_init): Call grub_set_prefix.
42359 * kern/powerpc/ieee1275/openfw.c: Fix typos.
42360 (grub_parse_type): New enum.
42361 (grub_ieee1275_get_devargs): New function.
42362 (grub_ieee1275_get_devname): Likewise.
42363 (grub_ieee1275_parse_args): Likewise.
42364 (grub_ieee1275_get_filename): Likewise.
42365 (grub_ieee1275_encode_devname): Likewise.
42366
be369920 423672005-03-30 Marco Gerards <metgerards@student.han.nl>
42368
42369 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
42370 `grub_loader_unset'.
42371
a5ce3a4a 423722005-03-26 Hollis Blanchard <hollis@penguinppc.org>
42373
42374 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
42375 instead of grub_ieee1275_interpret.
42376 (grub_halt_init): New function.
42377 (grub_halt_fini): Likewise.
42378 (GRUB_MOD_INIT): Correct message grammar.
42379 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
42380 instead of grub_ieee1275_interpret.
42381 (grub_reboot_init): New function.
42382 (grub_reboot_fini): Likewise.
42383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
42384 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
42385 util/i386/pc/misc.c with commands/ieee1275/halt.c,
42386 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
42387 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
42388 function.
42389 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
42390 Add prototype.
42391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
42392 prototype.
42393 (grub_halt): Likewise.
42394 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
42395 (cmain): Remove __attribute__((unused)).
42396 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
42397 (grub_heap_len): Likewise.
42398 (grub_machine_fini): New function.
42399 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
42400 (grub_halt): Likewise.
42401 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
42402 function.
42403 * util/powerpc/ieee1275/misc.c: New file.
42404
0058f771 424052005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42406
42407 * DISTLIST: New file.
42408 * gendistlist.sh: Likewise.
f19dbdb7 42409
0058f771 42410 * Makefile.in (COMMON_DISTFILES): Removed.
42411 (BOOT_DISTFILES): Likewise.
42412 (CONF_DISTFILES): Likewise.
42413 (DISK_DISTFILES): Likewise.
42414 (FS_DISTFILES): Likewise.
42415 (INCLUDE_DISTFILES): Likewise.
42416 (KERN_DISTFILES): Likewise.
42417 (LOADER_DISTFILES): Likewise.
42418 (TERM_DISTFILES): Likewise.
42419 (UTIL_DISTFILES): Likewise.
42420 (DISTFILES): Likewise.
42421 (uninstall): Uninstall files in $(pkgdata_DATA).
42422 (DISTLIST): New target.
42423 (distdir): Use the contents of the file DISTLIST to get a list of
42424 distributed files.
42425
46b3b8a5 424262005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42427
42428 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
42429 descriptor. This is ported from GRUB Legacy.
42430
42431 * gencmdlist.sh: Added an extra semicolon to make it work with
42432 old sed versions. Reported by Robert Bihlmeyer
42433 <robbe@orcus.priv.at>.
42434
5822ff87 424352005-03-08 Yoshinori Okuji <okuji@enbug.org>
42436
42437 Automatic loading of commands is supported.
f19dbdb7 42438
5822ff87 42439 * normal/main.c (read_command_list): New function.
42440 (grub_normal_execute): Call read_command_list.
42441
42442 * normal/command.c (grub_register_command): Return zero or CMD.
42443 Allocate CMD->NAME from the heap.
42444 Initialize CMD->MODULE_NAME to zero.
42445 Find the same name as well. If the same command is found and it is
42446 a dummy command, overwrite members. If it is not a dummy command,
42447 return zero.
42448 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
42449 (grub_command_find): If a dummy command is found, load a module
42450 and retry to find a command only once.
42451
42452 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
42453 make sure that each command is loaded.
42454
42455 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
42456 macro.
42457 (struct grub_command): Remove const from the member `name'.
42458 Add a new member `module_name'.
42459 (grub_register_command): Return grub_command_t.
42460
42461 * commands/help.c (grub_cmd_help): Call grub_command_find to make
42462 sure that each command is loaded.
42463
42464 * genmk.rb (PModule::rule): Specify a module name without the
42465 suffix ".mod" to gencmdlist.sh.
42466
7b1f4b57 424672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42468
42469 * gencmdlist.sh: New file.
f19dbdb7 42470
7b1f4b57 42471 * genmk.rb (PModule::rule): Generate a rule for a command list.
42472 Clean command.lst.
42473 Generate command.lst from $(COMMANDFILES).
42474
42475 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
42476 (DATA): Added $(pkgdata_DATA).
42477 (install-local): Install files in $(pkgdata_DATA).
42478
062aaf39 424792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
42480
42481 * term/i386/pc/vga.c (debug_command): Removed.
42482 (GRUB_MOD_INIT): Do not register the command "debug".
42483
42484 From Hollis Blanchard:
42485 * commands/configfile.c: New file.
42486 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42487 commands/configfile.c.
42488 (pkgdata_MODULES): Added configfile.mod.
42489 (configfile_mod_SOURCES): New variable.
42490 (configfile_mod_CFLAGS): Likewise.
42491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42492 commands/configfile.c.
42493 (pkgdata_MODULES): Added configfile.mod.
42494 (configfile_mod_SOURCES): New variable.
42495 (configfile_mod_CFLAGS): Likewise.
42496 * util/grub-emu.c (main): Call grub_configfile_init and
42497 grub_configfile_fini.
42498 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
42499 prototype.
42500 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 42501
cee01aa6 425022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42503
42504 * normal/arg.c (grub_arg_show_help): Do not show the bug report
42505 address.
42506
42507 * commands/help.c (grub_cmd_help): Do not print newlines after
42508 the last command in print_command_help.
42509
93f3a1d8 425102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
42511
42512 * commands/default.h: New file.
42513 * commands/timeout.h: Likewise.
42514 * normal/context.c: Likewise.
f19dbdb7 42515
93f3a1d8 42516 * util/misc.c: Do not include sys/times.h.
42517 Include sys/time.h and grub/machine/time.h.
42518 (grub_get_rtc): Rewritten with gettimeofday.
42519
42520 * util/grub-emu.c (main): Call grub_default_init and
42521 grub_timeout_init before grub_normal_init, and call
42522 grub_timeout_fini and grub_default_fini after grub_main.
42523
42524 * util/console.c (grub_ncurses_checkkey): Return the read
42525 character or -1.
42526
42527 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
42528 timeouts.
42529
42530 * normal/main.c (read_config_file): Push MENU. If this fails,
42531 print an error and wait for a user input.
42532 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
42533 If a menu is empty or an error occurs, pop MENU.
42534 (grub_normal_execute): Pop and free MENU after grub_menu_run
42535 returns.
42536
42537 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
42538
42539 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
42540 include time.h.
42541 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42542 without GRUB_UTIL.
42543 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
42544 time.h.
42545 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
42546 without GRUB_UTIL.
42547
42548 * include/grub/normal.h (struct grub_menu_list): New struct.
42549 (grub_menu_list_t): New type.
42550 (struct grub_context): New struct.
42551 (grub_context_t): New type.
42552 (grub_register_command): Got rid of EXPORT_FUNC.
42553 (grub_unregister_command): Likewise.
42554 (grub_context_get): New prototype.
42555 (grub_context_get_current_menu): Likewise.
42556 (grub_context_push_menu): Likewise.
42557 (grub_context_pop_menu): Likewise.
42558 [GRUB_UTIL] (grub_default_init): Likewise.
42559 [GRUB_UTIL] (grub_default_fini): Likewise.
42560 [GRUB_UTIL] (grub_timeout_init): Likewise.
42561 [GRUB_UTIL] (grub_timeout_fini): Likewise.
42562
42563 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
42564 commands/timeout.c and normal/context.c.
42565 (pkgdata_MODULES): Added default.mod and timeout.mod.
42566 (normal_mod_SOURCES): Added normal/context.c.
42567 (default_mod_SOURCES): New variable.
42568 (default_mod_CFLAGS): Likewise.
42569 (timeout_mod_SOURCES): Likewise.
42570 (timeout_mod_CFLAGS): Likewise.
42571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
42572 conf/i386-pc.rmk.
42573 (pkgdata_MODULES): Added default.mod and timeout.mod.
42574 (normal_mod_SOURCES): Added normal/context.c.
42575 (default_mod_SOURCES): New variable.
42576 (default_mod_CFLAGS): Likewise.
42577 (timeout_mod_SOURCES): Likewise.
42578 (timeout_mod_CFLAGS): Likewise.
42579
42580 * Makefile.in (all-local): Added $(MKFILES).
42581
4ed2e1dd 425822005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
42583
42584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
42585 (grub_emu_SOURCES): Likewise.
42586 (pkgdata_MODULES): Add `sun.mod'.
42587 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42589 `partmap/sun.c'.
42590 (pkgdata_MODULES): Add `sun.mod'.
42591 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
42592 * include/grub/partition.h (grub_sun_partition_map_init): New
42593 prototype.
42594 (grub_sun_partition_map_fini): Likewise.
42595 * partmap/sun.c: New file.
42596 * util/grub-emu.c (main): Initialize and de-initialize the sun
42597 partitionmap support.
42598
4d4e372e 425992005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
42600
42601 This implements an Emacs-like menu entry editor.
f19dbdb7 42602
4d4e372e 42603 * normal/menu_entry.c: New file.
f19dbdb7 42604
4d4e372e 42605 * util/console.c (grub_ncurses_putchar): Translate some Unicode
42606 characters to ASCII.
42607 (saved_char): New variable.
42608 (grub_ncurses_checkkey): Rewritten completely.
42609 (grub_ncurses_getkey): Likewise.
42610 (grub_ncurses_init): Call raw instead of cbreak.
42611
42612 * normal/menu.c (print_entry): Do not put a space.
42613 (init_page): Renamed to ...
42614 (grub_menu_init_page): ... this. All callers changed.
42615 (edit_menu_entry): Removed.
42616 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
42617
42618 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
42619
42620 * kern/misc.c (grub_vprintf): Call grub_refresh.
42621
42622 * normal/menu.c (DISP_LEFT): Renamed to ...
42623 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
42624 * normal/menu.c (DISP_UP): Renamed to ...
42625 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
42626 * normal/menu.c (DISP_RIGHT): Renamed to ...
42627 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
42628 * normal/menu.c (DISP_DOWN): Renamed to ...
42629 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
42630 * normal/menu.c (DISP_HLINE): Renamed to ...
42631 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
42632 * normal/menu.c (DISP_VLINE): Renamed to ...
42633 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42634 * normal/menu.c (DISP_UL): Renamed to ...
42635 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42636 * normal/menu.c (DISP_UR): Renamed to ...
42637 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42638 * normal/menu.c (DISP_LL): Renamed to ...
42639 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42640 * normal/menu.c (DISP_LR): Renamed to ...
42641 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42642 * normal/menu.c (TERM_WIDTH): Renamed to ...
42643 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42644 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42645 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42646 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42647 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42648 * normal/menu.c (TERM_MARGIN): Renamed to ...
42649 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42650 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42651 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42652 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42653 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42654 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42655 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42656 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42657 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42658 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42659 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42660 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42661 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42662 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42663 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42664 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42665 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42666 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42667 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42668 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42669 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42670 All callers changed.
42671
42672 * include/grub/normal.h: New prototype.
42673
42674 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42675 normal/menu_entry.c.
42676 (normal_mod_SOURCES): Likewise.
42677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42678 (normal_mod_SOURCES): Likewise.
42679
e6b92c8a 426802005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42681
42682 * include/grub/normal.h (grub_halt_init): New prototype.
42683 (grub_halt_fini): Likewise.
42684 (grub_reboot_init): Likewise.
42685 (grub_reboot_fini): Likewise.
42686
42687 * util/grub-emu.c: Include signal.h.
42688 (main_env): New global variable.
42689 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42690 catch C-c.
42691 (grub_machine_fini): New function.
42692 (main): Call grub_halt_init and grub_reboot_init before
42693 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42694 Call setjmp with MAIN_ENV to go back afterwards.
42695 Call grub_machine_fini right before return.
42696
42697 * include/grub/util/misc.h: Include setjmp.h.
42698 (main_env): New prototype.
42699
42700 * include/grub/kernel.h (grub_machine_fini): New prototype.
42701 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42702 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42703
42704 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42705 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42706 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42707
e6b92c8a 42708 * util/i386/pc/misc.c: New file.
f19dbdb7 42709
e6b92c8a 42710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42711 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42712 commands/i386/pc/reboot.c.
42713
c642636f 427142005-02-14 Guillem Jover <guillem@hadrons.org>
42715
42716 * include/grub/dl.h (grub_dl_check_header): New prototype.
42717 (grub_arch_dl_check_header): Change return type to grub_err_t,
42718 remove size parameter and export function. Update all callers.
42719 * kern/dl.c (grub_dl_check_header): New function.
42720 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42721 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42722 are inside the core.
42723 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42724 independent ELF header checks.
42725 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42726 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42727 `grub_dl_check_header' instead of explicit checks. Check for the
42728 ELF type.
42729 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42730 `grub_dl_check_header' instead of explicit checks. Remove arch
42731 specific ELF header checks.
42732
e6b92c8a 42733 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42734 argument SIZE.
42735
5eabe94b 427362005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42737
42738 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42739 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42740
1b14a681 427412005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42742
42743 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42744 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42745 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42746 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42747 * partmap/amiga.c (amiga_partition_map_iterate): Return
42748 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42749 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42750
aca108aa 427512005-02-01 Guillem Jover <guillem@hadrons.org>
42752
42753 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42754 help info.
42755
c9f9c556 427562005-01-31 Marco Gerards <metgerards@student.han.nl>
42757
42758 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42759 Removed prototype.
42760 (grub_rescue_cmd_linux): New prototype.
42761 (grub_rescue_cmd_initrd): Likewise.
42762 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42763 `bi_rec'.
42764 (grub_linux_release_mem): Release the memory for the initrd.
42765 (grub_load_linux): Renamed from this...
42766 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42767 Changed `entry' not to be static. Loop over memory regions to
42768 find another one when the default fails.
42769 (grub_rescue_cmd_initrd): New function.
42770 (grub_linux_init): Remove function.
42771 (grub_linux_fini): Likewise.
42772 (GRUB_MOD_INIT): Register `initrd'.
42773 (GRUB_MOD_FINI): Unregister `initrd'.
42774 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42775 Function removed.
42776 (grub_linux_normal_fini): Likewise.
42777 (GRUB_MOD_INIT): Register `initrd'.
42778 (GRUB_MOD_FINI): Unregister `initrd'.
42779
990cf3aa 427802005-01-31 Marco Gerards <metgerards@student.han.nl>
42781
42782 * commands/help.c: New file.
42783 * normal/arg.c (show_help): Renamed to...
42784 (grub_arg_show_help): ... this.
42785 * commands/i386/pc/halt.c: New file.
42786 * commands/i386/pc/reboot.c: Likewise.
42787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42788 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42789 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42790 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42791 variables.
42792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42793 `commands/help.c'.
42794 (pkgdata_MODULES): Add `help.mod'.
42795 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42796 * grub/i386/pc/init.h (grub_reboot): New prototype.
42797 (grub_halt): Likewise.
42798 * include/grub/normal.h (grub_arg_show_help): New prototype.
42799 (grub_help_init): Likewise.
42800 (grub_help_fini): Likewise.
42801 * util/grub-emu.c (main): Initialize and deinitialize the help
42802 command.
42803
42804 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42805
42806 * normal/command.c (grub_command_init): Fixed the description of
42807 the `set' and `unset' commands.
42808
428092005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42810
42811 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42812 function.
42813 * commands/ieee1275/halt.c: New file.
42814 * commands/ieee1275/reboot.c: Likewise.
42815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42816 `__attribute__ ((unused))'. Some GCS related fixed.
42817 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42818 (grub_suspend_fini): Likewise.
42819 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42820 and `halt.mod'.
42821 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42822 (halt_mod_CFLAGS): New variables.
42823 * include/grub/powerpc/ieee1275/ieee1275.h
42824 (grub_ieee1275_interpret): New prototype.
42825
1ab09cc7 428262005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42827
42828 * include/grub/misc.h (memmove): New prototype.
42829 (memcpy): Likewise.
42830
8b8cbdb2 428312005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42832
42833 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42834 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42835
e3741a27 428362005-01-22 Marco Gerards <metgerards@student.han.nl>
42837
42838 * kern/misc.c (grub_strndup): Function rewritten.
42839
776bd780 428402005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42841
42842 * normal/menu.c (TERM_WIDTH): Macro redefined.
42843 (TERM_TOP_BORDER_Y): Likewise.
42844 (draw_border): Replaced while-loop by a for-loop. Make the number
42845 of lines consistent with the number of lines displayed in
42846 print_entries. Added a margin below the rectangle.
42847 (print_entry): Make the entry fit in the rectangle.
42848 (print_entries): Display the scroll arrows next to the right
42849 border.
42850
78026bce 428512005-01-21 Marco Gerards <metgerards@student.han.nl>
42852
42853 * fs/minix.c (grub_minix_find_file): Reserve more space for
42854 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42855 `grub_strncpy' to copy `path' into it.
42856
67bbaf0f 428572005-01-21 Marco Gerards <metgerards@student.han.nl>
42858
42859 Add the loopback device, a device via which files can be accessed
42860 as devices.
f19dbdb7 42861
67bbaf0f 42862 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42863 (pkgdata_MODULES): Add loopback.mod.
42864 (loopback_mod_SOURCES): New variable.
42865 (loopback_mod_CFLAGS): Likewise.
42866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42867 `disk/loopback.c'.
42868 (pkgdata_MODULES): Add loopback.mod.
42869 (loopback_mod_SOURCES): New variable.
42870 (loopback_mod_CFLAGS): Likewise.
42871 * disk/loopback.c: new file.
42872 * include/grub/normal.h (grub_loop_init): New prototype.
42873 (grub_loop_fini): New prototype.
42874 * util/grub-emu.c (main): Initialize and de-initialize loopback
42875 support.
42876 * include/grub/disk.h (grub_disk_dev_id): Add
42877 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42878
6f1c18bd 428792005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42880
42881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42882 function.
42883 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42884 (suspend_mod_SOURCES): New variable.
42885 (suspend_mod_CFLAGS): Likewise.
42886 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42887 New prototype.
42888 * commands/ieee1275/suspend.c: New file.
42889
b38551da 428902005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42891
42892 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42893 ((unused))' to `__attribute__ ((used))'.
b38551da 42894 (GRUB_MOD_FINI): Likewise.
42895 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42896 * genmk.rb (PModule): Assign space to common symbols when linking
42897 modules.
42898
777aff39 428992005-01-20 Marco Gerards <metgerards@student.han.nl>
42900
42901 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42902 `unsigned' arguments to `grub_size_t'.
42903 (grub_malloc): Likewise.
42904 (grub_realloc): Likewise.
42905 (grub_memalign): Likewise.
42906 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42907 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42908 * util/misc.c (grub_malloc): Likewise.
42909 (grub_realloc): Likewise.
42910 * kern/mm.c (get_header_from_pointer): Change the casts to
42911 `unsigned' into a cast to `grub_size_t'.
42912
42913 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42914 point to `currnode' when `currnode' is changed.
42915
42916 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42917 Schottelius <nico-linux@schottelius.org>.
42918
d0ff18e1 429192005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42920
42921 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42922 (note_path): Remove variable.
42923 (GRUB_IEEE1275_NOTE_NAME): New macro.
42924 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42925 (grub_ieee1275_note_hdr): New structure.
42926 (grub_ieee1275_note_desc): Likewise.
42927 (grub_ieee1275_note): Likewise.
42928 (load_note): Remove `dir' argument. All callers updated. Remove
42929 `note_img' and `path'. Do not load a file from `note_path'.
42930 Initialize a struct grub_ieee1275_note and write that to `out'.
42931 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42932
4ca7004c 429332005-01-05 Marco Gerards <metgerards@student.han.nl>
42934
42935 * util/misc.c (grub_util_read_image): Revert last change. It
42936 called `grub_util_read_at', which seeks from the beginning of the
42937 file.
42938
0b412211 429392005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42940
42941 * TODO: Add note about endianness in grub-mkimage.
42942 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42943 section.
42944 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42945 (grub_mkimage_SOURCES): New target.
42946 * include/grub/kernel.h (grub_start_addr): Remove variable.
42947 (grub_end_addr): Likewise.
42948 (grub_total_module_size): Likewise.
42949 (grub_kernel_image_size): Likewise.
42950 (GRUB_MODULE_MAGIC): New constant.
42951 (grub_module_info): New structure.
42952 (grub_arch_modules_addr): New prototype.
42953 (grub_get_end_addr): Remove prototype.
42954 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42955 * include/grub/powerpc/ieee1275/kernel.h: New file.
42956 * include/grub/util/misc.h (grub_util_get_fp_size): New
42957 prototype.
42958 (grub_util_read_at): Likewise.
42959 (grub_util_write_image_at): Likewise.
42960 * kern/main.c (grub_get_end_addr): Remove function.
42961 (grub_load_modules): Call grub_arch_modules_addr instead of using
42962 grub_end_addr. Look for a grub_module_info struct in memory. Use
42963 the grub_module_info fields instead of calling grub_get_end_addr
42964 as loop conditions. Move grub_add_unused_region code here.
42965 (grub_add_unused_region): Remove function.
42966 * kern/i386/pc/init.c: Include grub/cache.h.
42967 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42968 one call to add_mem_region.
42969 (grub_arch_modules_addr): New function.
42970 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42971 (grub_total_module_size): Likewise.
42972 Include grub/machine/kernel.h.
42973 (grub_arch_modules_addr): New function.
42974 * util/grub-emu.c (grub_end_addr): Remove variable.
42975 (grub_total_module_size): Likewise.
42976 (grub_arch_modules_addr): New function.
42977 * util/misc.c: Include unistd.h.
42978 (grub_util_get_fp_size): New function.
42979 (grub_util_read_at): Likewise.
42980 (grub_util_write_image_at): Likewise.
42981 (grub_util_read_image): Call grub_util_read_at.
42982 (grub_util_write_image): Call grub_util_write_image_at.
42983 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42984 additional memory in kernel_img for a struct grub_module_info.
42985 Fill in that grub_module_info.
42986 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42987
458786f8 429882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42989
42990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42991 New function.
42992 * include/grub/powerpc/ieee1275/ieee1275.h
42993 (grub_ieee1275_milliseconds): New prototype.
42994 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42995 Change to 1000.
42996 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42997 grub_ieee1275_milliseconds.
42998
ac507d1b 429992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43000
43001 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43002 variable.
43003 (find_options): New function.
43004 (cmain): Call find_options.
43005 * include/grub/powerpc/ieee1275/ieee1275.h
43006 (grub_ieee1275_realmode): New extern variable.
43007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43008 grub_map if grub_ieee1275_realmode is false.
43009
6b8fd1c4 430102004-12-29 Marco Gerards <metgerards@student.han.nl>
43011
43012 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43013 lines are inserted and make it work like readline. Reported by
43014 Vincent Pelletier <subdino2004@yahoo.fr>.
43015
8514a1e0 430162004-12-28 Marco Gerards <metgerards@student.han.nl>
43017
43018 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43019
43020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43021 `kern/powerpc/cache.S'.
43022
924b6140 430232004-12-27 Marco Gerards <metgerards@student.han.nl>
43024
43025 * genmk.rb: Handle the `Program' class in the main loop. Written
43026 by Johan Rydberg <jrydberg@gnu.org>.
43027 (Program): New class.
43028 (programs): New variable.
43029 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43030 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43031 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43032 (help_arch): Function removed.
43033 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43034 `powerpc/libgcc.h' and `loader.h'.
43035 (pkgdata_PROGRAMS): New variable.
43036 (sbin_UTILITIES): Variable removed.
43037 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43038 (grubof_SOURCES): Variable re-defined so it only includes the
43039 core functionality.
43040 (grubof_CFLAGS): Remove `-DGRUBOF'.
43041 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43042 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43043 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43044 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43045 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43046 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43047 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43048 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43049 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43050 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43051 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43052 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43053 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43054 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43055 (pc_mod_CFLAGS): New variables.
43056 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43057 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43058 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43059 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43060 Moved from here...
43061 * include/grub/i386/pc/init.h (grub_os_area_addr)
43062 (rub_os_area_size): ... to here.
43063 * include/grub/powerpc/ieee1275/ieee1275.h
43064 (grub_ieee1275_entry_fn): Export symbol.
43065 * include/grub/powerpc/ieee1275/init.h: New file.
43066 * include/grub/powerpc/libgcc.h: Likewise.
43067 * include/grub/cache.h: Likewise.
43068 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43069 <hollis@penguinppc.org>.
43070 * kern/dl.c: Include <grub/cache.h>.
43071 (grub_dl_flush_cache): New function.
43072 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43073 for this module.
43074 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43075 (grub_console_init): Removed prototypes.
43076 (grub_machine_init): Don't initialize the modules anymore.
43077 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43078 static.
43079 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43080 Macro undef removed.
43081 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43082 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43083 relocation `R_PPC_REL32'. Return an error when the relocation is
43084 unknown.
43085 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43086 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43087 * util/misc.c (grub_arch_sync_caches): Likewise.
43088
e4b47e0c 430892004-12-19 Marco Gerards <metgerards@student.han.nl>
43090
43091 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43092 `symlist.c', add `grubof_symlist.c'.
43093 (symlist.c): Variable removed.
43094 (grubof_HEADERS): Variable added.
43095 (grubof_symlist.c): New target.
43096 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43097 `kernel_img_HEADERS'.
43098 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43099 * kern/powerpc/dl.c: New file.
43100 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43101 Function removed.
43102 (grub_arch_dl_relocate_symbols): Likewise.
43103 (grub_register_exported_symbols): Likewise.
43104
4ceb3636 431052004-12-13 Marco Gerards <metgerards@student.han.nl>
43106
43107 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43108 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43109 to fail instead. Reported by Vincent Pelletier
43110 <subdino2004@yahoo.fr>.
43111
43112 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43113 it is not allocated. Reported by Vincent Pelletier
43114 <subdino2004@yahoo.fr>.
43115
43116 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43117 output so the output looks better.
f19dbdb7 43118
3f1578fe 431192004-12-04 Marco Gerards <metgerards@student.han.nl>
43120
43121 Modulize the partition map support and add support for the amiga
43122 partition map.
f19dbdb7 43123
3f1578fe 43124 * commands/ls.c: Include <grub/partition.h> instead of
43125 <grub/machine/partition.h>.
43126 * kern/disk.c: Likewise.
43127 * kern/rescue.c: Likewise.
43128 * loader/i386/pc/chainloader.c: Likewise.
43129 * normal/cmdline.c: Likewise.
43130 * kern/powerpc/ieee1275/init.c: Likewise.
43131 (grub_machine_init): Call `grub_pc_partition_map_init',
43132 `grub_amiga_partition_map_init' and
43133 `grub_apple_partition_map_init'.
43134 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
43135 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
43136 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
43137 `partition.h' and `pc_partition.h'.
43138 (grub_setup_SOURCES): Remove
43139 `disk/i386/pc/partition.c'. Add `kern/partition.c',
43140 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43141 (grub_emu_SOURCES): Likewise.
43142 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
43143 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
43144 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
43145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43146 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
43147 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
43148 (grubof_SOURCES): Likewise.
43149 * disk/i386/pc/partition.c: File removed.
43150 * disk/powerpc/ieee1275/partition.c: Likewise.
43151 * include/grub/powerpc/ieee1275/partition.h: Likewise.
43152 * include/grub/i386/pc/partition.h: Likewise.
43153 * kern/partition.c: New file.
43154 * partmap/amiga.c: Likewise.
43155 * partmap/apple.c: Likewise.
43156 * partmap/pc.c: Likewise.
43157 * include/grub/partition.h: Likewise..
43158 * include/grub/pc_partition.h: Likewise.
43159 * util/grub-emu.c: Include <grub/partition.h> instead of
43160 <grub/machine/partition.h>.
43161 (main): Call `grub_pc_partition_map_init',
43162 `grub_amiga_partition_map_init' and
43163 `grub_apple_partition_map_init' and deinitialize afterwards.
43164 * util/i386/pc/biosdisk.c: Include `#include
43165 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43166 `<grub/machine/partition.h>'.
43167 * util/i386/pc/grub-setup.c: Likewise.
43168 * util/i386/pc/biosdisk.c: Likewise.
43169 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
43170 partition information in case of a PC partition.
43171 * util/i386/pc/grub-setup.c: Include `#include
43172 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
43173 `<grub/machine/partition.h>'.
43174 (setup): Only access the PC specific partition information in case
43175 of a PC partition.
43176
0ef4ced9 431772004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43178
0ef4ced9 43179 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
43180 (grub_longjmp): Likewise.
43181 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
43182 20.
43183 * normal/powerpc/setjmp.S: New file.
43184 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43185 `normal/powerpc/setjmp.S'.
43186 (grubof_CFLAGS): Add `-DGRUBOF'.
43187 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
43188 [GRUB_UTIL && !GRUBOF].
f19dbdb7 43189
19950e29 431902004-11-16 Marco Gerards <metgerards@student.han.nl>
43191
43192 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
43193 property named `name'. Correctly handle the error returned by
43194 `grub_ieee1275_finddevice' if a device can not be opened.
43195
a2fea427 431962004-11-02 Hollis Blanchard <hollis@penguinppc.org>
43197
43198 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
43199 `actual' for negativity.
43200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
43201 kern/fshelp.c.
43202
41ea0ea3 432032004-11-01 Marco Gerards <metgerards@student.han.nl>
43204
43205 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
43206 (PAGE_OFFSET): New macro.
43207 (CRTC_ADDR_PORT): Likewise.
43208 (CRTC_DATA_PORT): Likewise.
43209 (START_ADDR_HIGH_REGISTER): Likewise.
43210 (START_ADDR_LOW_REGISTER): Likewise.
43211 (GRAPHICS_ADDR_PORT): Likewise.
43212 (GRAPHICS_DATA_PORT): Likewise.
43213 (READ_MAP_REGISTER): Likewise.
43214 (INPUT_STATUS1_REGISTER): Likewise.
43215 (INPUT_STATUS1_VERTR_BIT): Likewise.
43216 (page): New variable.
43217 (wait_vretrace): New function.
43218 (set_read_map): Likewise.
43219 (set_start_address): Likewise.
43220 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
43221 the right page.
43222 (check_vga_mem): Take the page into account.
43223 (write_char): Likewise.
43224 (write_cursor): Likewise.
43225 (scroll_up): Likewise. Copy the page to the page that is not
43226 shown and switch between both pages.
43227 (grub_vga_putchar): Fix off by one error.
43228 (grub_vga_cls): Wait for the vertical retrace. Take the page into
43229 account.
43230
ad0bd20b 432312004-11-01 Marco Gerards <metgerards@student.han.nl>
43232
43233 Add support for iso9660 (including rockridge).
f19dbdb7 43234
ad0bd20b 43235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43236 (iso9660_mod_SOURCES): New variable.
43237 (iso9660_mod_CFLAGS): Likewise.
43238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
43239 * include/grub/fs.h (grub_iso9660_init): New prototype.
43240 * util/grub-emu.c (main): Call `grub_iso9660_init'.
43241 * fs/iso9660.c: New file.
43242
43243 * include/grub/misc.h (grub_strncat): New prototype.
43244 * kern/misc.c (grub_strncat): New function.
f19dbdb7 43245
ad0bd20b 43246 * fs/hfs.c (grub_hfs_mount): Translate the error
43247 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
43248 * fs/jfs.c (grub_jfs_mount): Likewise.
43249 * fs/ufs.c (grub_ufs_mount): Likewise.
43250
a5477a59 432512004-10-28 Hollis Blanchard <hollis@penguinppc.org>
43252
43253 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
43254 which initialized BAT registers.
43255 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
43256 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43257 Move from here...
43258 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
43259 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
43260 ... to here.
43261 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
43262 (grub_mapclaim): Likewise.
43263 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
43264 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
43265 hand.
43266
9304c1f8 432672004-10-19 Hollis Blanchard <hollis@penguinppc.org>
43268
43269 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
43270 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
43271 -ffreestanding and -msoft-float.
43272
86f4ae25 432732004-10-15 Hollis Blanchard <hollis@penguinppc.org>
43274
43275 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
43276 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
43277 set in grub_ieee1275_flags.
43278
38912228 432792004-10-14 Hollis Blanchard <hollis@penguinppc.org>
43280
43281 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
43282 prototype.
43283 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
43284 grub_console_init first.
43285 Change the memory range used for grub_ieee1275_claim and
43286 grub_mm_init_region.
43287 Print an error message if the claim fails.
43288 Include <grub/misc.h>.
43289
d1923dc8 432902004-10-13 Hollis Blanchard <hollis@penguinppc.org>
43291
43292 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
43293 Call grub_children_iterate for device nodes of type `scsi',
43294 `ide', or `ata'.
43295 (grub_ofdisk_open): Remove manual device alias resolution.
43296 Fix memory leak when device cannot be opened.
f19dbdb7 43297 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 43298 (grub_children_iterate): New prototype.
43299 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
43300 New function.
43301 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43302 Return -1 if args.size was -1.
43303
4512e4f3 433042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43305
43306 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
43307 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
43308 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
43309 Open Firmware's memory for it; claim memory from _start to _end.
43310 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
43311 (_end): New extern.
43312 (_start): Zero BSS from __bss_start to _end.
43313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43314 New extern.
43315 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
43316
4d61feb0 433172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
43318
ad0bd20b 43319 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
43320 -1 if args.base was -1.
4d61feb0 43321
026fa2f9 433222004-10-08 Hollis Blanchard <hollis@penguinppc.org>
43323
43324 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
43325 escape sequence instead of a literal ^L. Also call
43326 grub_ofconsole_gotoxy.
43327
9f2220ef 433282004-10-03 Hollis Blanchard <hollis@penguinppc.org>
43329
43330 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
43331 void * arguments to grub_addr_t. All callers updated. Also make
43332 the `result' argument optional.
43333 (grub_ieee1275_release): change void * arguments to grub_addr_t.
43334 All callers updated.
43335
8a572cd7 433362004-09-22 Hollis Blanchard <hollis@penguinppc.org>
43337
43338 * commands/ls.c (grub_ls_list_files): Use the string following the
43339 initial ')', if present, as the filesystem path.
43340 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
43341
43342 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
43343
18aa81f2 433442004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
43345
43346 Make the source code of the menu interface more readable.
f19dbdb7 43347
18aa81f2 43348 * normal/menu.c: Include grub/mm.h.
43349 (TERM_WIDTH): New macro.
43350 (TERM_HEIGHT): Likewise.
43351 (TERM_INFO_HEIGHT): Likewise.
43352 (TERM_MARGIN): Likewise.
43353 (TERM_SCROLL_WIDTH): Likewise.
43354 (TERM_TOP_BORDER_Y): Likewise.
43355 (TERM_LEFT_BORDER_X): Likewise.
43356 (TERM_BORDER_WIDTH): Likewise.
43357 (TERM_MESSAGE_HEIGHT): Likewise.
43358 (TERM_BORDER_HEIGHT): Likewise.
43359 (TERM_NUM_ENTRIES): Likewise.
43360 (TERM_FIRST_ENTRY_Y): Likewise.
43361 (TERM_ENTRY_WIDTH): Likewise.
43362 (TERM_CURSOR_X): Likewise.
43363 (draw_border): Use macros instead of magic numbers.
43364 (print_entry): Likewise.
43365 (print_entries): Likewise.
43366 (run_menu): Likewise. Also, handle the key 'e'.
43367 (run_menu_entry): Ignore empty command lines.
43368 (print_message): Added a new argument EDIT. If EDIT is true,
43369 print a different message.
43370 (init_page): Likewise.
43371 (edit_menu_entry): New function. Not implemented yet.
43372
b47efe30 433732004-09-17 Marco Gerards <metgerards@student.han.nl>
43374
43375 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
43376 can be loaded from normal mode.
f19dbdb7 43377
b47efe30 43378 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
43379 `multiboot.mod'.
43380 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
43381 (multiboot_mod_CFLAGS): New variables.
43382 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 43383 * loader/i386/pc/multiboot_normal.c: Likewise.
43384
b47efe30 43385 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
43386 attribute `unused'.
f19dbdb7 43387
b47efe30 43388 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
43389 `fdiro' to read the mode information from instead of `diro'.
43390
43391 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
43392 looking up a symlink.
43393
43394 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
43395 macro.
43396 * normal/command.c (grub_command_execute): Don't parse the
43397 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
43398 flags of the command.
43399
43400 * normal/menu.c (grub_menu_run): Fix typo.
43401
da75ac71 434022004-09-14 Hollis Blanchard <hollis@penguinppc.org>
43403
43404 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
43405
43406 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
43407 `y + 1' instead of `y - 1'.
43408
43409 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 43410
062b24c2 434112004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
43412
43413 From Hollis Blanchard <hollis@penguinppc.org>:
43414 * kern/misc.c (memmove): New alias for grub_memmove.
43415 (memcmp): New alias for grub_memcmp.
43416 (memset): New alias for grub_memset.
f19dbdb7 43417 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 43418 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 43419 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 43420 (grub_ieee1275_get_property): Likewise.
f19dbdb7 43421
8ddad845 434222004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
43423
43424 Added normal mode command `chainloader' as module chain.mod, which
43425 depends on normal.mod and _chain.mod.
f19dbdb7 43426
8ddad845 43427 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
43428 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
43429 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
43430 Deleted prototype.
43431 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
43432 but arguments parsing moved to ...
43433 (grub_chainloader_cmd): ... here. New function.
43434 * include/grub/i386/pc/chainloader.h: New file.
43435 * loader/i386/pc/chainloader_normal.c: Likewise.
43436
2c1f4ce3 434372004-09-11 Marco Gerards <metgerards@student.han.nl>
43438
43439 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
43440 (grub_mkimage_LDFLAGS): Likewise.
43441 (grub_emu_SOURCES): Likewise.
43442 (kernel_img_HEADERS): Added fshelp.h.
43443 * fs/ext2.c: Include <grub/fshelp.h>.
43444 (FILETYPE_REG): New macro.
43445 (FILETYPE_INO_REG): Likewise.
43446 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
43447 Changed all users.
43448 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
43449 all users.
43450 (grub_fshelp_node): New struct.
43451 (grub_ext2_data): Added member `diropen'. Changed member `inode'
43452 to a pointer.
43453 (grub_ext2_get_file_block): Removed function.
43454 (grub_ext2_read_block): New function.
43455 (grub_ext2_read_file): Replaced parameter `data' by `node'.
43456 This function was written.
43457 (grub_ext2_mount): Read the root inode. Create a diropen struct.
43458 (grub_ext2_find_file): Removed function.
43459 (grub_ext2_read_symlink): New function.
43460 (grub_ext2_iterate_dir): Likewise.
43461 (grub_ext2_open): Rewritten.
43462 (grub_ext2_dir): Rewritten.
43463 * include/grub/fshelp.h: New file.
43464 * fs/fshelp.c: Likewise.
43465
3c52136a 434662004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
43467
43468 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
43469 (print_message): Add a missing newline.
43470 (run_menu): Added timeout support.
43471 (run_menu_entry): New local function.
43472 (grub_menu_run): Added support for booting.
43473
43474 * kern/loader.c (grub_loader_is_loaded): New function.
43475
43476 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
43477 (grub_get_rtc): Exported.
43478
43479 * include/grub/i386/pc/time.h: Include grub/symbol.h.
43480 (grub_get_rtc): Exported.
43481
43482 * include/grub/normal.h (struct grub_command_list): Remove
43483 constant from the member `command'.
43484
43485 * include/grub/loader.h (grub_loader_is_loaded): Declared.
43486
43487 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
43488
43489 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
43490
aa033560 434912004-08-28 Marco Gerards <metgerards@student.han.nl>
43492
43493 Add support for the JFS filesystem.
43494
43495 * fs/jfs.c: New file.
43496 * include/grub/fs.h (grub_jfs_init): New prototype.
43497 (grub_jfs_fini): New prototype.
43498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
43499 (grub_emu_SOURCES): Likewise.
43500 (pkgdata_MODULES): Add jfs.mod.
43501 (jfs_mod_SOURCES): New variable.
43502 (jfs_mod_CFLAGS): Likewise.
43503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
43504 (grubof_SOURCES): Likewise.
43505 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
43506
43507 * fs/fat.c (grub_fat_find_dir): Convert the filename little
43508 endian to the host endian.
43509 (grub_fat_utf16_to_utf8): Move function from there...
43510 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 43511 the endianness of the source string anymore.
aa033560 43512 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
43513
94bc45af 435142004-08-24 Marco Gerards <metgerards@student.han.nl>
43515
43516 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
43517 (grub_boot_fini) [GRUB_UTIL]: Likewise.
43518 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
43519 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 43520
94bc45af 43521 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
43522 (grub_hfs_iterate_dir): Make the function static. Add prototypes
43523 for `node_found' and `it_dir'.
43524 (grub_hfs_dir): Add prototype for `dir_hook'.
43525
43526 * fs/minix.c (grub_minix_get_file_block): Add prototype for
43527 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
43528 and `indir32' to silence a gcc warning.
43529
43530 * include/grub/fs.h (grub_hfs_init): New prototype.
43531 (grub_hfs_fini): Likewise.
f19dbdb7 43532
43533
97543f08 435342004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43535
43536 Each disk device has its own id now. This is useful to make use
43537 of multiple disk devices.
f19dbdb7 43538
97543f08 43539 * include/grub/disk.h (grub_disk_dev_id): New enum.
43540 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
43541 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
43542
43543 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
43544 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43545
43546 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
43547 GRUB_DISK_DEVICE_OFDISK_ID as an id.
43548
43549 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
43550 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
43551
43552 * include/grub/disk.h (struct grub_disk_dev): Added a new member
43553 "id" which is used by the cache manager.
43554
43555 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
43556 of just "GRUB".
43557
64372eb4 435582004-08-18 Marco Gerards <metgerards@student.han.nl>
43559
43560 * fs/hfs.c: New file.
43561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
43562 (grub_emu_SOURCES): Likewise.
43563 (pkgdata_MODULES): Add hfs.mod.
43564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
43565 (grubof_SOURCES): Likewise.
43566 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
43567
43568 * include/grub/misc.h (grub_strncasecmp): Add prototype.
43569 * kern/misc.c (grub_strncasecmp): Add function.
43570
cc61b58f 435712004-08-14 Marco Gerards <metgerards@student.han.nl>
43572
43573 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
43574 with parentheses.
43575
43576 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
43577 (grub_ext2_dir): In case the directory entry type is unknown, read
43578 it from the inode.
43579
0ef123f6 435802004-08-02 Peter Bruin <pjbruin@dds.nl>
43581
43582 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
43583 grub_load_linux instead of grub_rescue_cmd_linux as second
43584 argument of grub_rescue_register_command.
43585
43586 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
43587
a447c5df 435882004-07-27 Marco Gerards <metgerards@student.han.nl>
43589
43590 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
43591 function.
43592 * commands/boot.c: Remove the check for `GRUB_UTIL'.
43593 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
43594 `loader/powerpc/ieee1275/linux.c',
43595 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
43596 * include/grub/powerpc/ieee1275/ieee1275.h
43597 (grub_ieee1275_release): New prototype.
43598 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
43599 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
43600 normal, boot, linux and linux_normal.
43601 * loader/powerpc/ieee1275/linux.c: New file.
43602 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43603
5a9e3546 436042004-07-12 Marco Gerards <metgerards@student.han.nl>
43605
43606 * normal/arg.c (grub_arg_parse): Correct error handling after
43607 reallocating the argumentlist (check if `argl' is not null instead
43608 of checking if `args' is not null).
43609 * kern/mm.c (grub_realloc): Return the same pointer when using the
43610 same region, instead of returning the header address.
43611
e15199cb 436122004-07-11 Marco Gerards <metgerards@student.han.nl>
43613
43614 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
43615 one block instead of two when looking for the initial partition.
43616 (grub_partition_probe): Initialize the local variable `p' with 0.
43617 Use base 10 for the grub_strtoul call.
43618 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
43619 need for one local variable.
43620 (grub_strtoul): Don't add the new value to `num', instead of that
43621 just assign it.
43622
020616c2 436232004-07-11 Marco Gerards <metgerards@student.han.nl>
43624
43625 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
43626 (pxeboot_img_SOURCES): New variable.
43627 (pxeboot_img_ASFLAGS): Likewise.
43628 (pxeboot_img_LDFLAGS): Likewise.
43629 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
43630 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
43631 <lode_leroy@hotmail.com>.
43632
6c51eb64 436332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43634
43635 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43636 there was no input.
43637
cfb12aff 436382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43639
43640 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43641 the history buffer logic.
43642
6eabba74 436432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43644
43645 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43646 (FILETYPE_INO_SYMLINK): New macros.
43647 (grub_ext2_find_file): Check if the node is a directory using the
43648 inode stat information instead of using the filetype in the
43649 dirent. Exclude the first character of an absolute symlink.
43650 (grub_ext2_dir): Mask out the filetype part of the mode member of
43651 the inode.
43652
66e19ef8 436532004-05-24 Marco Gerards <metgerards@student.han.nl>
43654
43655 Add support for UFS version 1 and 2. Add support for the minix
43656 filesystem version 1 and 2, both the variants with 14 and 30 long
43657 filenames.
f19dbdb7 43658
66e19ef8 43659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43660 fs/minix.c.
43661 (grub_emu_SOURCES): Likewise.
43662 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43663 (ufs_mod_SOURCES): New variable.
43664 (ufs_mod_CFLAGS): Likewise.
43665 (minix_mod_SOURCES): Likewise.
43666 (minix_mod_CFLAGS): Likewise.
43667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43668 fs/minix.c.
43669 (grubof_SOURCES): Likewise.
43670 * fs/ufs.c: New file.
43671 * fs/minix.c: New file.
43672 * include/grub/fs.h (grub_ufs_init): New prototype.
43673 (grub_ufs_fini): Likewise.
43674 (grub_minix_init): Likewise.
43675 (grub_minix_fini): Likewise.
43676 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43677 minix fs.
43678
cc2e748a 436792004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43680
43681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43682 commands/ls.c, commands/terminal.c, commands/boot.c,
43683 commands/cmp.c and commands/cat.c.
43684 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43685
43686 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43687 "env.h"
43688
4b13b216 436892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43690
43691 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43692 and grub_, respectively. Because the conversion is trivial and
43693 mechanical, I omit the details here. Please refer to the CVS
43694 if you need more information.
43695
6a142551 436962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43697
43698 * include/pupa: Renamed to ...
43699 * include/grub: ... this.
43700 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43701 * util/i386/pc/grub-mkimage.c: ... this.
43702 * util/i386/pc/pupa-setup.c: Renamed to ...
43703 * util/i386/pc/grub-setup.c: ... this.
43704 * util/pupa-emu.c: Renamed to ...
43705 * util/grub-emu.c: ... this.
43706
e56cdf21 437072004-03-29 Marco Gerards <metgerards@student.han.nl>
43708
43709 Add support for the newworld apple macintosh (PPC). This has been
43710 tested on the powerbook 2000 only. It only adds support for
43711 generic ieee1275 functions, console and disk support. This should
43712 be easy to port to other architectures with support for Open
43713 Firmware.
f19dbdb7 43714
e56cdf21 43715 * configure.ac: Accept the powerpc as host_cpu. In the case of
43716 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43717 specific tests are only executed while building for the i386.
43718 Inverse test for crosscompile.
43719 * genmk.rb (Utility): Allow assembler files.
43720 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43721 * conf/powerpc-ieee1275.rmk: New file.
43722 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43723 * disk/powerpc/ieee1275/partition.c: Likewise.
43724 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43725 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43726 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43727 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43728 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43729 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43730 * include/pupa/powerpc/ieee1275/loader.h
43731 * include/pupa/powerpc/setjmp.h: Likewise.
43732 * include/pupa/powerpc/types.h: Likewise.
43733 * kern/powerpc/ieee1275/init.c: Likewise.
43734 * kern/powerpc/ieee1275/openfw.c: Likewise.
43735 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43736
43737 These files were written by Johan Rydberg
43738 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43739
e56cdf21 43740 * boot/powerpc/ieee1275/cmain.c: New file.
43741 * boot/powerpc/ieee1275/crt0.S: Likewise.
43742 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43743 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43744
8c8cc205 437452004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43746
43747 * Makefile.in: Update copyright.
43748 * genmodsrc.sh: Likewise.
43749 * gensymlist.sh: Likewise.
43750 * term/i386/pc/vga.c: Indent correctly.
43751
43752 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43753 bugreporting address.
43754 * util/i386/pc/pupa-setup.c (usage): Likewise,
43755 (main): Call pupa_ext2_init and pupa_ext2_fini.
43756
f19dbdb7 43757 * fs/fat.c (log2): Renamed to ...
8c8cc205 43758 (fat_log2): ... this.
43759 All callers changed.
43760 * kern/misc.c (memcpy): Alias to pupa_memmove.
43761 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43762 lvalue cast.
43763 * util/console.c (pupa_ncurses_fini): Return 0.
43764
43765 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43766 Move fail label here.
43767 [__GNU__]: Don't warn when using stat.
43768 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43769 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43770 long int. Use strtol instead of strtoul.
f19dbdb7 43771
db1771cf 437722004-03-14 Marco Gerards <metgerards@student.han.nl>
43773
43774 * commands/boot.c: New file.
43775 * commands/cat.c: Likewise.
43776 * commands/cmp.c: Likewise.
43777 * commands/ls.c: Likewise.
43778 * commands/terminal.c: Likewise.
43779 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43780 (pupa_register_command): Changed interface to match the new
43781 argument parser.
43782 (pupa_command_execute): Changed (almost rewritten) so it uses
43783 pupa_split_command. Added support for setting variables using the
43784 syntax `foo=bar'.
43785 (rescue_command): Changed to work with the new argument parser.
43786 (terminal_command): Moved from here to commands/terminal.c.
43787 (set_command): New function.
43788 (unset_command): New function.
43789 (insmod_command): New function.
43790 (rmmod_command): New function.
43791 (lsmod_command): New function.
43792 (pupa_command_init): Don't initialize the command terminal
43793 anymore. Initialize the commands set, unset, insmod, rmmod and
43794 lsmod.
43795 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43796 (kernel_img_HEADERS): Add arg.h and env.h.
43797 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43798 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43799 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43800 normal/arg.c.
43801 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43802 terminal.mod.
43803 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43804 (boot_mod_SOURCES): New variable.
43805 (terminal_mod_SOURCES): Likewise.
43806 (ls_mod_SOURCES): Likewise.
43807 (cmp_mod_SOURCES): Likewise.
43808 (cat_mod_SOURCES): Likewise.
43809
43810 * normal/arg.c: New file.
43811 * kern/env.c: Likewise.
43812 * include/pupa/arg.h: Likewise.
43813 * include/pupa/env.h: Likewise.
43814 * font/manager.c (font_command): Changed to match argument parsing
43815 interface changes.
43816 (PUPA_MOD_INIT): Likewise.
43817 * hello/hello.c (pupa_cmd_hello): Likewise.
43818 (PUPA_MOD_INIT): Likewise.
43819 * include/pupa/disk.h: Include <pupa/device.h>.
43820 (pupa_print_partinfo): New prototype.
43821 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43822 (pupa_dl_get_prefix): Likewise.
43823 * include/pupa/misc.h: Include <pupa/err.h>.
43824 (pupa_isgraph): New prototype.
43825 (pupa_isdigit): Likewise.
43826 (pupa_split_cmdline): Likewise.
43827 * include/pupa/normal.h: Include <pupa/arg.h>.
43828 (pupa_command): Changed the prototype of the member `func' to
43829 match the argument parsing interface. Added member `options'.
43830 (pupa_register_command): Updated to match function.
43831 (pupa_arg_parse): New prototype.
43832 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43833 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43834 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43835 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43836 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43837 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43838 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43839 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43840 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43841 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43842 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43843 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43844 * kern/disk.c: Include <pupa/file.h>.
43845 (pupa_print_partinfo): New function.
43846 * kern/dl.c: Include <pupa/env.h>.
43847 (pupa_dl_dir): Variable removed.
43848 (pupa_dl_load): Use the environment variable `prefix' instead of
43849 the variable pupa_dl_dir.
43850 (pupa_dl_set_prefix): Function removed.
43851 (pupa_dl_get_prefix): Likewise.
43852 * kern/i386/pc/init.c: Include <pupa/env.h>.
43853 (pupa_machine_init): Use the environment variable `prefix' instead of
43854 using pupa_dl_set_prefix to set the prefix.
43855 * kern/main.c: Include <pupa/env.h>.
43856 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43857 using pupa_dl_get_prefix to get the prefix.
43858 * kern/misc.c: Include <pupa/env.h>.
43859 (pupa_isdigit): New function.
43860 (pupa_isgraph): Likewise.
43861 (pupa_ftoa): Likewise.
43862 (pupa_vsprintf): Added support for printing values of the type
43863 `double'. Make it possible to format variable output when using
43864 formatting like `%1.2%f'.
43865 (pupa_split_cmdline): New function.
43866 * kern/rescue.c: Include <pupa/env.h>.
43867 (next_word): Removed function.
43868 (pupa_rescue_cmd_prefix): Likewise.
43869 (pupa_rescue_cmd_set): New function.
43870 (pupa_rescue_cmd_unset): New function.
43871 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43872 split the command line instead of splitting it here. Added
43873 support for setting variables using the syntax `foo=bar'. Don't
43874 initialize the prefix command anymore. Initialized the set and
43875 unset commands.
43876 * normal/cmdline.c: Include <pupa/env.h>.
43877 (pupa_tab_complete): Added prototypes for print_simple_completion,
43878 print_partition_completion, add_completion, iterate_commands,
43879 iterate_dev, iterate_part and iterate_dir. Moved code to print
43880 partition information from here to kern/disk.c.
fe6b695a 43881 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43882 * normal/main.c: Include <pupa/env.h>.
43883 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43884 instead of using pupa_dl_get_prefix to get the prefix.
43885 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43886 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43887 warning.
43888 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43889 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43890 ((unused))' to silence a gcc warning.
43891 (pupa_vga_setcolor): Likewise.
43892 (debug_command): Changed to match argument parsing
43893 interface changes.
43894 * util/pupa-emu.c: Include <pupa/env.h>.
43895 (options): Added 0's for unused fields to silence a gcc warning.
43896 (argp): Likewise.
43897 (main): Use the environment variable `prefix' instead of using
43898 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43899 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43900 and terminal.
43901
43902 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43903 * util/misc.c: Include <malloc.h>.
43904 (pupa_malloc): Rewritten so errors are correctly reported.
43905 (pupa_realloc): Likewise.
43906 (pupa_memalign): Likewise.
43907 (pupa_mm_init_region): Declare unused variables with
43908 `__attribute__ ((unused))' to silence a gcc warning.
43909 * normal/i386/setjmp.S: Remove tab at the end of the file to
43910 silence a gcc warning.
43911 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43912 variables with `__attribute__ ((unused))' to silence a gcc
43913 warning.
43914 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43915 local variable i unsigned to silence a gcc warning.
43916
43917 * kern/term.c: Include <pupa/misc.h>.
43918 (pupa_more_lines): New variable.
43919 (pupa_more): Likewise.
43920 (pupa_putcode): When the pager is active pause at the end of every
43921 screen.
43922 (pupa_set_more): New function.
43923 * include/pupa/term.h (pupa_set_more): New prototype.
43924
43925
3b1139cb 439262004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43927
43928 Now this project is GRUB 2 rather than PUPA. The location of
43929 the CVS repository was moved to GRUB's.
f19dbdb7 43930
3b1139cb 43931 * configure.ac: Use bug-grub as the reporting address.
43932 Use GRUB instead of PUPA.
43933 Change the version number to 1.90.
43934
8367695c 439352004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43936
43937 * genkernsyms.sh: Updated copyright information.
43938 * genmk.rb: Likewise.
43939 * genmodsrc.sh: Likewise.
43940 * gensymlist.sh: Likewise.
43941 * boot/i386/pc/boot.S: Likewise.
43942 * boot/i386/pc/diskboot.S: Likewise.
43943 * disk/i386/pc/biosdisk.c: Likewise.
43944 * disk/i386/pc/partition.c: Likewise.
43945 * font/manager.c: Likewise.
43946 * fs/ext2.c: Likewise.
43947 * fs/fat.c: Likewise.
43948 * include/pupa/boot.h: Likewise.
43949 * include/pupa/device.h: Likewise.
43950 * include/pupa/disk.h: Likewise.
43951 * include/pupa/dl.h: Likewise.
43952 * include/pupa/elf.h: Likewise.
43953 * include/pupa/err.h: Likewise.
43954 * include/pupa/file.h: Likewise.
43955 * include/pupa/font.h: Likewise.
43956 * include/pupa/fs.h: Likewise.
43957 * include/pupa/kernel.h: Likewise.
43958 * include/pupa/loader.h: Likewise.
43959 * include/pupa/misc.h: Likewise.
43960 * include/pupa/mm.h: Likewise.
43961 * include/pupa/net.h: Likewise.
43962 * include/pupa/normal.h: Likewise.
43963 * include/pupa/rescue.h: Likewise.
43964 * include/pupa/setjmp.h: Likewise.
43965 * include/pupa/symbol.h: Likewise.
43966 * include/pupa/term.h: Likewise.
43967 * include/pupa/types.h: Likewise.
43968 * include/pupa/i386/setjmp.h: Likewise.
43969 * include/pupa/i386/types.h: Likewise.
43970 * include/pupa/i386/pc/biosdisk.h: Likewise.
43971 * include/pupa/i386/pc/boot.h: Likewise.
43972 * include/pupa/i386/pc/console.h: Likewise.
43973 * include/pupa/i386/pc/init.h: Likewise.
43974 * include/pupa/i386/pc/kernel.h: Likewise.
43975 * include/pupa/i386/pc/linux.h: Likewise.
43976 * include/pupa/i386/pc/loader.h: Likewise.
43977 * include/pupa/i386/pc/memory.h: Likewise.
43978 * include/pupa/i386/pc/multiboot.h: Likewise.
43979 * include/pupa/i386/pc/partition.h: Likewise.
43980 * include/pupa/i386/pc/time.h: Likewise.
43981 * include/pupa/i386/pc/vga.h: Likewise.
43982 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43983 * include/pupa/util/getroot.h: Likewise.
43984 * include/pupa/util/misc.h: Likewise.
43985 * include/pupa/util/resolve.h: Likewise.
43986 * kern/device.c: Likewise.
43987 * kern/disk.c: Likewise.
43988 * kern/dl.c: Likewise.
43989 * kern/err.c: Likewise.
43990 * kern/file.c: Likewise.
43991 * kern/fs.c: Likewise.
43992 * kern/loader.c: Likewise.
43993 * kern/main.c: Likewise.
43994 * kern/misc.c: Likewise.
43995 * kern/mm.c: Likewise.
43996 * kern/rescue.c: Likewise.
43997 * kern/term.c: Likewise.
43998 * kern/i386/dl.c: Likewise.
43999 * kern/i386/pc/init.c: Likewise.
44000 * kern/i386/pc/lzo1x.S: Likewise.
44001 * kern/i386/pc/startup.S: Likewise.
44002 * loader/i386/pc/chainloader.c: Likewise.
44003 * loader/i386/pc/linux.c: Likewise.
44004 * loader/i386/pc/multiboot.c: Likewise.
44005 * normal/cmdline.c: Likewise.
44006 * normal/command.c: Likewise.
44007 * normal/main.c: Likewise.
44008 * normal/menu.c: Likewise.
44009 * normal/i386/setjmp.S: Likewise.
44010 * term/i386/pc/console.c: Likewise.
44011 * term/i386/pc/vga.c: Likewise.
44012 * util/console.c: Likewise.
44013 * util/genmoddep.c: Likewise.
44014 * util/misc.c: Likewise.
44015 * util/pupa-emu.c: Likewise.
44016 * util/resolve.c: Likewise.
44017 * util/unifont2pff.rb: Likewise.
44018 * util/i386/pc/biosdisk.c: Likewise.
44019 * util/i386/pc/getroot.c: Likewise.
44020 * util/i386/pc/pupa-mkimage.c: Likewise.
44021 * util/i386/pc/pupa-setup.c: Likewise.
44022
e6eced71 440232004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44024
44025 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44026 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44027 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44028 reading and reset it after reading.
44029 (pupa_ext2_close): Return PUPA_ERR_NONE.
44030
44031 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44032 Correct value.
44033 (struct linux_kernel_header): Add kernel_version and
44034 initrd_addr_max.
44035 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44036 pupa_file_read succeeds.
44037 (pupa_rescue_cmd_initrd): Implement.
44038
5aded270 440392003-12-03 Marco Gerards <metgerards@student.han.nl>
44040
44041 * fs/ext2.c (pupa_ext2_label): New function.
44042 (pupa_ext2_fs): Added label.
44043 * fs/fat.c (pupa_fat_label): New function.
44044 (pupa_fat_fs): Added label.
44045 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44046
44047 * kern/misc.c (pupa_strndup): New function.
44048 * include/pupa/misc.h (pupa_strndup): New prototype.
44049
44050 * include/pupa/normal.h: Include <pupa/err.h>.
44051 (pupa_set_history): New prototype.
44052 (pupa_iterate_commands): New prototype.
44053 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44054 <pupa/disk.h>, <pupa/file.h>.
44055 (hist_size): New variable.
44056 (hist_lines): Likewise.
44057 (hist_end): Likewise.
44058 (hist_used): Likewise.
44059 (pupa_set_history): New function.
44060 (pupa_history_get): Likewise.
44061 (pupa_history_add): Likewise.
44062 (pupa_history_replace): Likewise.
44063 (pupa_tab_complete): Likewise.
44064 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44065 completion shows partitionnames while completing partitions, this
44066 feature was suggested by Jeff Bailey.
44067 * normal/command.c (pupa_iterate_commands): New function.
44068 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44069 (pupa_normal_init): Initialize history buffer.
44070 (PUPA_MOD_INIT): Likewise.
44071 (pupa_normal_fini): Free the history buffer.
44072 (PUPA_MOD_FINI): Likewise.
44073
44074 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44075 key.
44076
44077 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44078 * configure.ac [i386]: Check for regparam bug.
44079 (NESTED_FUNC_ATTR) [! i386]: Defined.
44080
1f7315a3 440812003-11-17 Marco Gerards <metgerards@student.han.nl>
44082
44083 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44084 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44085 (pupa_emu_SOURCES): New variable.
44086 (pupa_emu_LDFLAGS): Likewise.
44087 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44088 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44089 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44090 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44091 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44092 (pupa_jmp_buf): New typedef.
44093 (pupa_setjmp) [PUPA_UTIL]: New macro.
44094 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44095 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44096 (pupa_refresh): New prototype.
44097 * include/pupa/util/getroot.h: New file.
44098 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44099 it.
44100 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44101 (pupa_rescue_cmd_cat): Likewise.
44102 (pupa_rescue_cmd_ls): Likewise.
44103 (pupa_rescue_cmd_testload): Likewise.
44104 (pupa_rescue_cmd_lsmod): Likewise.
44105 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44106 * normal/menu.c (run_menu): Likewise.
44107 * kern/term.c (pupa_cls): Likewise.
44108 (pupa_refresh): New function.
44109 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44110 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44111 * util/console.c: New file.
f19dbdb7 44112
1f7315a3 44113 * util/i386/pc/getroot.c: New file.
44114 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44115 (pupa_putchar): New function.
44116 (pupa_refresh): Likewise.
44117 (xgetcwd): Function moved to ...
44118 (strip_extra_slashes): Likewise.
44119 (get_prefix): Likewise.
f19dbdb7 44120 * util/i386/pc/getroot.c: ... here.
1f7315a3 44121 (find_root_device): Function moved and renamed to...
44122 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44123 Changed all callers.
44124 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44125 and renamed to...
44126 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44127 Changed all callers.
44128 * util/misc.c (pupa_memalign): New function.
44129 (pupa_mm_init_region): Likewise.
44130 (pupa_register_exported_symbols): Likewise.
44131 (pupa_putchar): Function removed.
44132 * util/pupa-emu.c: New file.
44133
9a5c1ade 441342003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
44135
44136 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
44137 (_multiboot_mod_SOURCES): New variable.
44138 (_multiboot_mod_CFLAGS): Likewise.
44139 * loader/i386/pc/multiboot.c: New file.
44140 * include/pupa/i386/pc/multiboot.h: Likewise.
44141 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
44142 (pupa_multiboot_real_boot): New function.
44143 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
44144 (pupa_multiboot_real_boot): New prototype.
44145 (pupa_rescue_cmd_multiboot): Likewise
44146 (pupa_rescue_cmd_module): Likewise.
44147
44148 * kern/loader.c (pupa_loader_set): Continue when
44149 pupa_loader_unload_func() fails.
44150 (pupa_loader_unset): New function.
44151 * include/pupa/loader.h (pupa_loader_unset): New prototype.
44152
44153 * kern/misc.c (pupa_stpcpy): New function.
44154 * include/pupa/misc.h (pupa_stpcpy): New prototype.
44155
8e72a9c0 441562003-11-12 Marco Gerards <metgerards@student.han.nl>
44157
44158 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
44159 for available extensions.
44160
44161 * include/pupa/i386/pc/time.h: New file.
44162 * kern/disk.c: Include <pupa/machine/time.h>.
44163 (PUPA_CACHE_TIMEOUT): New macro.
44164 (pupa_last_time): New variable.
44165 (pupa_disk_open): Flush the cache when there was a timeout.
44166 (pupa_disk_close): Reset the timer.
44167 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
44168 pupa_currticks.
44169 * util/misc.c: Include <sys/times.h>
44170 (pupa_get_rtc): New function.
44171
c4adbd32 441722003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44173
44174 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
44175 as blocks.
44176 (pupa_ext2_get_file_block): Use blocks member.
44177
44178 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
44179 first block. Return -1 instead of pupa_errno on error.
44180
bfd30f06 441812003-10-27 Marco Gerards <metgerards@student.han.nl>
44182
44183 * README: In the pupa-mkimage example use _chain instead of chain
44184 and ext2 instead of fat.
44185 * TODO: Replace ext2fs with jfs as an example. Add an item for
44186 adding journal playback for ext2fs.
44187 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
44188 (pkgdata_MODULES): Added ext2.mod.
44189 (ext2_mod_SOURCES): New variable.
44190 (ext2_mod_CFLAGS): Likewise.
44191 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
44192 * include/pupa/misc.h (pupa_strncpy): New prototype.
44193 (pupa_strcat): Likewise.
44194 (pupa_strncmp): Likewise.
44195 * kern/misc.c (pupa_strcat): Enable function.
44196 (pupa_strncpy): New function.
44197 (pupa_strncmp): Likewise.
44198 * fs/ext2.c: New file.
f19dbdb7 44199
bfd30f06 44200 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
44201 when the read failed before retrying.
44202 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
44203 (_FILE_OFFSET_BITS): Likewise.
44204 * configure.ac: Added AC_SYS_LARGEFILE.
44205
98d15063 442062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44207
44208 * genmk.rb (PModule#rule): Make sure to get only symbol names
44209 from the output of nm.
59cad637 44210 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 44211
18d9c7cd 442122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
44213
44214 I forgot to check in these changes for a long time. This adds
44215 incomplete support for VGA console, and this is still very
44216 buggy. Also, a lot of consideration is required for I18N,
44217 UNICODE, and VGA font issues. Therefore, assume that this is
44218 such that "better than nothing".
f19dbdb7 44219
18d9c7cd 44220 * font/manager.c: New file.
44221 * include/pupa/font.h: Likewise.
44222 * include/pupa/i386/pc/vga.h: Likewise.
44223 * term/i386/pc/vga.c: Likewise.
44224 * util/unifont2pff.rb: Likewise.
44225
44226 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
44227 (pkgdata_MODULES): Added vga.mod and font.mod.
44228 (vga_mod_SOURCES): New variables.
44229 (vga_mod_CFLAGS): Likewise.
44230 (font_mod_SOURCES): Likewise.
44231 (font_mod_CFLAGS): Likewise.
44232
44233 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
44234
44235 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 44236 (struct pupa_term): Added init and fini.
18d9c7cd 44237 Changed the argument of putchar to pupa_uint32_t.
44238
44239 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
44240 (pupa_console_real_putchar): New prototype.
44241 (pupa_console_putchar): Removed.
44242 (pupa_console_checkkey): Exported.
44243 (pupa_console_getkey): Likewise.
44244
44245 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
44246 characters.
44247
44248 * kern/term.c (pupa_term_set_current): Rewritten.
44249 (pupa_putchar): Likewise.
44250 (pupa_putcode): New function.
44251
44252 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
44253 (pupa_console_real_putchar): ... this.
44254 (pupa_vga_set_mode): New function.
44255 (pupa_vga_get_font): Likewise.
44256
44257 * normal/command.c: Include pupa/term.h.
44258 (terminal_command): New function.
44259 (pupa_command_init): Register the command "terminal".
44260
44261 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
44262 (DISP_UP): Likewise.
44263 (DISP_RIGHT): Likewise.
44264 (DISP_DOWN): Likewise.
44265 (DISP_HLINE): Likewise.
44266 (DISP_VLINE): Likewise.
44267 (DISP_UL): Likewise.
44268 (DISP_UR): Likewise.
44269 (DISP_LL): Likewise.
44270 (DISP_LR): Likewise.
44271
44272 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 44273
977329f5 442742003-02-08 NIIBE Yutaka <gniibe@m17n.org>
44275
44276 * util/resolve.c (pupa_util_resolve_dependencies): BUG
44277 FIX. Reverse the path_list.
44278
44279 * include/pupa/normal.h: Export pupa_register_command and
44280 pupa_unregister_command.
44281
44282 * hello/hello.c (pupa_cmd_hello): New module.
44283 * conf/i386-pc.rmk: Added hello.mod.
44284
1f5ab428 442852003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
44286
44287 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 44288
1f5ab428 44289 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
44290 (compress_kernel): New variable.
44291 (generate_image): Heavily modified to support compressing a
44292 large part of the core image.
44293
44294 * util/misc.c (pupa_util_read_image): Fix a file descriptor
44295 leak.
44296 (pupa_util_load_image): New function.
44297
44298 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
44299 (pupa_compressed_size): New variable.
44300 (codestart): Enable Gate A20 here.
44301 Decompress the compressed part of the core image.
44302 Rearrange the code to put functions and variables which are
44303 required for initialization in the non-compressed part.
44304 Include lzo1x.S.
44305
44306 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
44307 here.
44308
44309 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
44310
f19dbdb7 44311 * include/pupa/i386/pc/kernel.h
1f5ab428 44312 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
44313 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
44314 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44315 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44316 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
44317
44318 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
44319
44320 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
44321 (Utility#rule): Likewise.
44322
44323 * configure.ac: Check if LZO is available.
44324
ce5bf700 443252003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
44326
44327 * include/pupa/normal.h: New file.
44328 * include/pupa/setjmp.h: Likewise.
44329 * include/pupa/i386/setjmp.h: Likewise.
44330 * normal/cmdline.c: Likewise.
44331 * normal/command.c: Likewise.
44332 * normal/main.c: Likewise.
44333 * normal/menu.c: Likewise.
44334 * normal/i386/setjmp.S: Likewise.
f19dbdb7 44335
ce5bf700 44336 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
44337 (pupa_rescue_cmd_initrd): Likewise.
44338
44339 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
44340 Likewise.
44341
44342 * kern/i386/pc/startup.S (translation_table): New variable.
44343 (translate_keycode): New function.
44344 (pupa_console_getkey): Call translate_keycode.
44345
44346 * kern/rescue.c (attempt_normal_mode): New function.
44347 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
44348 it failed, print a message.
44349
44350 * kern/mm.c (pupa_real_malloc): Print more information when a
44351 free magic is broken.
44352 (pupa_free): If the first free header is not free actually, set
44353 it to P.
44354
44355 * kern/main.c (pupa_load_normal_mode): Just load the module
44356 "normal".
44357 (pupa_main): Don't print the message
44358 "Entering into rescue mode..." here.
44359
44360 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
44361 Declared.
44362 (pupa_rescue_cmd_initrd): Likewise.
44363 (pupa_rescue_cmd_initrd): Likewise.
44364
44365 * include/pupa/symbol.h (FUNCTION): Specify the type.
44366 (VARIABLE): Likewise.
44367
44368 * include/pupa/err.h (pupa_err_t): Added
44369 PUPA_ERR_UNKNOWN_COMMAND.
44370
44371 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
44372 (pupa_dl_get_prefix): Likewise.
44373
44374 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
44375 Added _chain.mod and _linux.mod instead of chain.mod and
44376 linux.mod.
44377 (chain_mod_SOURCES): Renamed to ...
44378 (_chain_mod_SOURCES): ... this.
44379 (chain_mod_CFLAGS): Renamed to ...
44380 (_chain_mod_CFLAGS): ... this.
44381 (linux_mod_SOURCES): Renamed to ...
44382 (_linux_mod_SOURCES): ... this.
44383 (linux_mod_CFLAGS): Renamed to ...
44384 (_linux_mod_CFLAGS): ... this.
44385 (normal_mod_SOURCES): New variable.
44386 (normal_mod_CFLAGS): Likewise.
44387 (normal_mod_ASFLAGS): Likewise.
44388
443892003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
44390
44391 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
44392 possible.
44393
fe6b695a 44394 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 44395 recursively.
44396 (pupa_dl_unref): Unrefer depending modules recursively.
44397 Don't call pupa_dl_unload implicitly, because PUPA can crash if
44398 a module is unloaded before one depending on that module is
44399 unloaded.
44400 (pupa_dl_unload): Unload depending modules explicitly,
44401 if possible.
44402
c04da074 444032003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
44404
44405 * include/pupa/i386/pc/linux.h: New file.
44406 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 44407
c04da074 44408 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
44409 Removed.
44410 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
44411 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
44412 of PUPA_CHAINLOADER_BOOT_SECTOR.
44413
44414 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
44415 (pupa_linux_prot_size): New variable.
44416 (pupa_linux_tmp_addr): Likewise.
44417 (pupa_linux_real_addr): Likewise.
44418 (pupa_linux_boot_zimage): New function.
44419 (pupa_linux_boot_bzimage): Likewise.
44420
44421 * kern/i386/pc/init.c (struct mem_region): New structure.
44422 (MAX_REGIONS): New macro.
44423 (mem_regions): New variable.
44424 (num_regions): Likewise.
44425 (pupa_os_area_addr): Likewise.
44426 (pupa_os_area_size): Likewise.
44427 (pupa_lower_mem): Likewise.
44428 (pupa_upper_mem): Likewise.
44429 (add_mem_region): New function.
44430 (compact_mem_regions): Likewise.
44431 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
44432 the size of the conventional memory and that of so-called upper
44433 memory (before the first memory hole).
44434 Instead of adding each found region to free memory, use
44435 add_mem_region and add them after removing overlaps.
44436 Also, add only 1/4 of the upper memory to free memory. The rest
44437 is used for loading OS images. Maybe this is ad hoc, but this
44438 makes it much easier to relocate OS images when booting.
44439
44440 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
44441 (pupa_enter_rescue_mode): Don't register initrd and module.
44442
44443 * kern/mm.c: Include pupa/dl.h.
44444
44445 * kern/main.c: Include pupa/file.h and pupa/device.h.
44446
44447 * kern/loader.c (pupa_loader_load_module_func): Removed.
44448 (pupa_loader_load_module): Likewise.
44449
44450 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
44451 ``.o''.
44452
44453 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
44454 (pupa_linux_tmp_addr): Likewise.
44455 (pupa_linux_real_addr): Likewise.
44456 (pupa_linux_boot_zimage): Likewise.
44457 (pupa_linux_boot_bzimage): Likewise.
44458
44459 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
44460 (pupa_upper_mem): Likewise.
44461 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
44462 module is too dangerous.
44463
44464 * include/pupa/loader.h (pupa_os_area_addr): Declared.
44465 (pupa_os_area_size): Likewise.
44466 (pupa_loader_set): Remove the first argument. Loader doesn't
44467 manage modules or initrd any longer.
44468 (pupa_loader_load_module): Removed.
44469
44470 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
44471 (linux_mod_SOURCES): New variable.
44472 (linux_mod_CFLAGS): Likewise.
44473
a13f9237 444742003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
44475
44476 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
44477 the length of a blocklist correctly.
44478
44479 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
44480 Use ioctl only if the OS file is a block device.
44481 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
44482 not very useful for normal files.
44483
44484 * kern/main.c (pupa_set_root_dev): New function.
44485 (pupa_load_normal_mode): Likewise.
44486 (pupa_main): Call those above.
44487
44488 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
44489 pupa_uint16_t.
44490
44491 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
44492
a5ffe966 444932003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44494
44495 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
44496 (setup): Configure the installed partition information and the
44497 dl prefix.
44498
44499 * loader/i386/pc/chainloader.c (my_mod): New variable.
44500 (pupa_chainloader_unload): New function.
44501 (pupa_rescue_cmd_chainloader): Refer itself.
44502 (PUPA_MOD_INIT): Save its own module in MY_MOD.
44503
44504 * kern/i386/pc/startup.S (install_partition): Removed.
44505 (version_string): Likewise.
44506 (config_file): Likewise.
44507 (pupa_install_dos_part): New variable.
44508 (pupa_install_bsd_part): Likewise.
44509 (pupa_prefix): Likewise.
44510 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
44511
44512 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
44513 and pupa/misc.h.
44514 (make_install_device): New function.
44515 (pupa_machine_init): Set the dl prefix.
44516
44517 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
44518 (buf): Renamed to ...
44519 (linebuf): ... this.
44520 (pupa_rescue_cmd_prefix): New function.
44521 (pupa_rescue_cmd_insmod): Likewise.
44522 (pupa_rescue_cmd_rmmod): Likewise.
44523 (pupa_rescue_cmd_lsmod): Likewise.
44524 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
44525 rmmod and lsmod.
44526
44527 * kern/mm.c (pupa_memalign): If failed even after invalidating
44528 disk caches, unload unneeded modules and retry.
44529
44530 * kern/misc.c (pupa_memmove): New function.
44531 (pupa_memcpy): Removed.
44532 (pupa_strcpy): New function.
44533 (pupa_itoa): Made static.
44534
44535 * kern/dl.c (pupa_dl_iterate): New function.
44536 (pupa_dl_ref): Likewise.
44537 (pupa_dl_unref): Likewise.
44538 (pupa_dl_unload): Return if succeeded or not.
44539 (pupa_dl_unload_unneeded): New function.
44540 (pupa_dl_unload_all): Likewise.
44541 (pupa_dl_init): Renamed to ...
44542 (pupa_dl_set_prefix): ... this.
44543 (pupa_dl_get_prefix): New function.
44544
44545 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
44546 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
44547 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
44548 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
44549 (pupa_install_dos_part): Declared.
44550 (pupa_install_bsd_part): Likewise.
44551 (pupa_prefix): Likewise.
44552 (pupa_boot_drive): Likewise.
44553
44554 * include/pupa/types.h: Fix a typo.
44555
44556 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
44557 pupa_memmove.
44558 (pupa_memmove): Declared.
44559 (pupa_strcpy): Likewise.
44560
44561 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
44562 pupa_mod_init takes one argument, its own module.
44563 (pupa_dl_unload_unneeded): Declared.
44564 (pupa_dl_unload_all): Likewise.
44565 (pupa_dl_ref): Likewise.
44566 (pupa_dl_unref): Likewise.
44567 (pupa_dl_iterate): Likewise.
44568 (pupa_dl_init): Renamed to ...
44569 (pupa_dl_set_prefix): ... this.
44570 (pupa_dl_get_prefix): Declared.
44571
44572 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 44573 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 44574 unloaded.
44575 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
44576 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
44577
44578 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
44579 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
44580
012d7999 445812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44582
44583 * util/i386/pc/pupa-setup.c (setup): Define the internal
44584 function find_first_partition_start at the top level, because GCC
44585 3.0.x cannot compile internal functions in deeper scopes
44586 correctly.
44587 (find_root_device): Use lstat instead of stat.
44588 Don't follow symbolic links.
44589 Fix the path-constructing code.
44590
44591 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
44592 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
44593 by a BLKGETSIZE ioctl first, because block devices don't fill
44594 the member st_mode of the structure stat on Linux.
44595 [__linux__] (linux_find_partition): Use a temporary buffer
44596 REAL_DEV for the working space. Copy it to DEV before returning.
44597 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
44598 buffer cache consistent.
44599 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
44600 strncmp. The previous value was merely wrong.
44601 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
44602
44603 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
44604 FAT size is 12. The previous value was merely wrong.
44605
44606 * kern/main.c (pupa_main): Don't split the starting message from
44607 newlines.
44608
44609 * kern/term.c (pupa_putchar): Put CR after LF instead of before
44610 LF, because BIOS goes crazy about character attributes in this
44611 case.
44612
1cc73a62 446132003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
44614
44615 * include/i386/pc/util/biosdisk.h: New file.
44616 * util/i386/pc/biosdisk.c: Likewise.
44617 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 44618
1cc73a62 44619 * Makefile.in (INCLUDE_DISTFILES): Added
44620 include/pupa/i386/pc/util/biosdisk.h.
44621 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
44622 directory util/i386/pc.
44623 (install-local): Added a rule for sbin_UTILITIES.
44624 (uninstall): Likewise.
44625
44626 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
44627
44628 * util/misc.c (xrealloc): New function.
44629 (pupa_malloc): Likewise.
44630 (pupa_free): Likewise.
44631 (pupa_realloc): Likewise.
44632 (pupa_stop): Likewise.
44633 (pupa_putchar): Likewise.
44634
44635 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44636
44637 * include/pupa/util/misc.h (xrealloc): Declared.
44638
44639 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44640 macro.
44641 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44642 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44643
44644 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44645 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44646
44647 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44648 way should be implemented.
44649 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44650
44651 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44652 the size of NAME for safety.
44653 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44654 0x88.
44655
44656 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44657 (pupa_setup_SOURCES): Likewise.
44658
44659 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44660
08b70fe8 446612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44662
44663 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44664 bunch of pushl's from pusha, because this destroys the return
44665 value.
44666
62ddcc8f 446672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44668
44669 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44670 This means that any missing prototypes could be fatal. Also, you
44671 must take care when writing assembly code. See the comments at
44672 the beginning of startup.S, for more details.
f19dbdb7 44673
62ddcc8f 44674 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44675 compilation mechanism.
44676 (pupa_chainloader_real_boot): Likewise.
44677 (pupa_biosdisk_rw_int13_extensions): Likewise.
44678 (pupa_biosdisk_rw_standard): Likewise.
44679 (pupa_biosdisk_check_int13_extensions): Likewise.
44680 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44681 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44682 (pupa_get_memsize): Likewise.
44683 (pupa_get_mmap_entry): Likewise.
44684 (pupa_console_putchar): Likewise.
44685 (pupa_console_setcursor): Likewise.
44686 (pupa_getrtsecs): Use pushl instead of push.
44687
44688 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44689 memory instead of the stack for a mmap entry, because some
44690 BIOSes may ignore the maximum size and overflow.
44691
44692 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44693
44694 * genmk.rb (PModule#rule): Compile automatically generated
44695 sources with module-specific CFLAGS as well as other sources.
44696
9962ed99 446972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44698
44699 * configure.ac: Check ld.
44700 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44701 respectively, before checking endianness and sizes.
44702
44703 * Makefile.in (LD): New variable.
f19dbdb7 44704
abdfc3c5 447052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44706
44707 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44708
6a161fa9 447092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44710
44711 * Changelog: New file.
44712